Phoenix a Web Framework for the New Web • José Valim • GOTO 2016

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ก.ย. 2024
  • This presentation was recorded at GOTO Copenhagen 2016
    gotocph.com
    José Valim - Creator of the Elixir programming language and co-founder of Plataformatecis
    RESOURCES
    / josevalim
    / josevalim
    github.com/jos...
    dashbit.co
    ABSTRACT
    Web developers have typically been presented with a choice between performance or a productive development environment. With Phoenix, developers can have both while enjoying a wonderful set of abstractions for working with the new web, making streaming data to browsers, native mobile application or embedded clients a breeze. [...]
    Download slides and read the full abstract here:
    gotocon.com/cp...
    RECOMMENDED BOOKS
    Saša Jurić • Elixir in Action • amzn.to/2RZh5eN
    Dave Thomas • Programming Elixir ≥ 1.6: Functional • amzn.to/34Dw3O5
    Svilen Gospodinov • Concurrent Data Processing in Elixir • amzn.to/3tOOw71
    James Gray II & Bruce Tate • Designing Elixir Systems With OTP • amzn.to/3XmWHVx
    Chris McCord • Metaprogramming Elixir • amzn.to/3EtpT4G
    McCord, Tate & Valim • Programming Phoenix 1.4 • amzn.to/3zcUqj4
    / gotocon
    / goto-
    / gotoconferences
    #Phoenix #Elixir #Elixirlang #PhoenixWebFramwork #PhoenixFramework #FunctionalProgramming #Programming #Erlang #ErlangVM #BEAM #JoseValim
    Looking for a unique learning experience?
    Attend the next GOTO conference near you! Get your ticket at gotopia.tech
    Sign up for updates and specials at gotopia.tech/n...
    SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
    www.youtube.co...

ความคิดเห็น • 33

  • @thalesofthewell
    @thalesofthewell 6 ปีที่แล้ว +98

    12:55 - "Because it's sei la- I don't know"
    brilliant

    • @mLevyks
      @mLevyks 2 ปีที่แล้ว +5

      r/suddenlycaralho

    • @daniloalves7440
      @daniloalves7440 2 ปีที่แล้ว +1

      Amo meu brasil

  • @deadleaves1985
    @deadleaves1985 6 ปีที่แล้ว +34

    BEAM is amazing piece of technology, running backbone switches with 500-600 gigabits throughput per each in eighties with like 10-20 milliseconds of downtime per year. They actually originally written software for those switches in C++ (few years of hundreds of devs work) but it crashed with like few dozen simultaneous calls, so that project was a huge failure and then Joe Armstrong team of THREE devs written software in Erlang in few months and it was huge success. It was basically first production-level implementation of CSP actor model concurrency, way ahead of time

    • @dmitryponyatov2158
      @dmitryponyatov2158 4 ปีที่แล้ว +1

      What about modern clouds when you never know which node is alive every time?
      Is any work was done for transparent clustering over lags and unpredictable topology?

  • @bluesprodeep2079
    @bluesprodeep2079 3 ปีที่แล้ว +4

    I'm sold!

  • @Ideaman47
    @Ideaman47 7 ปีที่แล้ว +69

    This seems like a powerful ancient magic that has just been rediscovered. Why isn't it widespread?

    • @jonocodes
      @jonocodes 7 ปีที่แล้ว +23

      In CS, few new great things are actually new. Us geeks have a biased towards not looking back (at least in my experience). We'd rather build something ourselves, without studying the history of that tech. It's our BANE

    • @dmitryponyatov2158
      @dmitryponyatov2158 4 ปีที่แล้ว +2

      There are two problems:
      1) Erlang syntax is ugly for imperative programmers: no loops, recursion, no handy Strings, strange operators,.. no OOP with objects & classes
      2) The BEAM machine was made many years ago with HA clustering, but it is made for backplane ATCA blade servers, not for modern clouds when you never know which node is alive every time

    • @a0um
      @a0um 3 ปีที่แล้ว +4

      Because a lot of people is afraid of powerful ancient magic, obviously. ;)

    • @rileydavidjesus
      @rileydavidjesus 2 ปีที่แล้ว

      Performance

    • @YBWang-pi9qq
      @YBWang-pi9qq ปีที่แล้ว +3

      Sweden genius did the magic, and did a poor job on marketing on Erlang/OTP. While Java did a top marketing job.
      José Valim, you make the old powerful magic shine again. Thank you!

  • @WolfBoy2700
    @WolfBoy2700 6 ปีที่แล้ว +10

    Brilliant presentation! very, clear and passionate, thank you!

  • @KrishnaDasPC
    @KrishnaDasPC 5 ปีที่แล้ว +7

    Documentation is really good. That is what missing for some great software's so new comers quit quickly.

  • @ashikmehermobin9926
    @ashikmehermobin9926 2 ปีที่แล้ว +2

    I am in love with Elixir

  • @aloufin
    @aloufin 7 ปีที่แล้ว +6

    Love the guy in the audience opening a chip bag @36:35 haha

  • @TheKennyWorld
    @TheKennyWorld ปีที่แล้ว +1

    And now they even have LiveView!

  • @alexisauriac7941
    @alexisauriac7941 4 ปีที่แล้ว +3

    37:20
    I can just hear Bryan Cantrill screaming right now.

  • @ansonai
    @ansonai 6 ปีที่แล้ว +3

    this was a great talk. good job!

  • @envueltoenplastico
    @envueltoenplastico 7 ปีที่แล้ว +3

    Sounds like he's touching on DDD/Bounded Contexts in the final question. Very interesting.

  • @thomasip9938
    @thomasip9938 7 ปีที่แล้ว +6

    This is pretty exciting but I can never think of a use case for channels other than a chat application.

    • @MrWatNub
      @MrWatNub 7 ปีที่แล้ว +13

      Soft real-time updates to your page contents such as notifications, seeing other comments appear relatively quickly after they're posted, updating statistics or feeds without refreshing the page.

    • @MrWatNub
      @MrWatNub 7 ปีที่แล้ว +2

      For presence channels you could do some sort of service discovery where each room/topic is a specific type of server (redis-master, redis-slave, postgres-slave, etc.)

    • @leandronsp
      @leandronsp 7 ปีที่แล้ว +13

      think about it, what do you prefer:
      - the client always asking (ann then bothering) the server on what's new
      - or the server notifying the client when new data is ready to be consumed
      at least for me it's not about only chats, but any domain can have benefits of having channels/websocket/pub-sub architecture

    • @frenesia
      @frenesia 7 ปีที่แล้ว +17

      I have worked on a project that uses channels to push updates to the client, so there is no need for polling of data. Combine it with something like React which re-renders the components that have changed efficiently, and you got yourself a pretty solid solution.

    • @AlfredBaudischCreations
      @AlfredBaudischCreations 2 ปีที่แล้ว +2

      We built a whole farming application with a web and mobile frontends, and they are connected with Phoenix Channels. Farmers stay connected all day long on the mobile app reporting and tracking farming stuff. Most of them in the middle of nowhere, with bad connection and the Phoenix Channel just stays open and they can all see each other in realtime.

  • @ashtonhudson5508
    @ashtonhudson5508 4 ปีที่แล้ว +13

    Every time I hear a cough in this talk, I cringe...

  • @ivanschuetz9458
    @ivanschuetz9458 7 ปีที่แล้ว +14

    The loud coughing in the background is very irritating.

  • @torvic99
    @torvic99 5 ปีที่แล้ว

    so a supervisor it's some kind of exception catching system (but smarter)?

  • @rgzdev
    @rgzdev 6 ปีที่แล้ว +10

    EVER SINGLE talk about Elixir I've found talks about the history of functional programming. I think it's a distraction. Elixir guys need to stop doing this.

    • @avi150
      @avi150 3 ปีที่แล้ว +4

      bruh you know you can forward on TH-cam right?