O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Rails Live as Phoenix Live - Alexey Osipenko | Ruby Meditation 29

121 visualizações

Publicada em

Talk of Alexey Osipenko, CTO at Bravels, at Ruby Meditation #29 Kyiv 14.12.2019
Next conference - http://www.rubymeditation.com/

Description:
The Phoenix framework recently has a great opportunity to update data in the browser without writing additional javascript. Let's consider the implementation of a similar mechanism in the Ruby on Rails framework

Announcements and conference materials https://www.fb.me/RubyMeditation
News https://twitter.com/RubyMeditation
Photos https://www.instagram.com/RubyMeditation
The stream of Ruby conferences (not just ours) https://t.me/RubyMeditation

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Rails Live as Phoenix Live - Alexey Osipenko | Ruby Meditation 29

  1. 1. Hello Bonjour Привет Привіт Гамарджоба Ave Aloha Dobry den Namaste
  2. 2. «Scriptless application» by Alexey Osipenko Hello I’m Alexey
  3. 3. is the best javascript language ever
  4. 4. is the best javascript language ever available in browser runtime
  5. 5. Виды приложений
  6. 6. cimon.io Wordpress applications
  7. 7. cimon.io Wordpress applications Enterprise applications
  8. 8. cimon.io Wordpress applications MVP Enterprise applications
  9. 9. cimon.io Wordpress applications MVP Enterprise applications
  10. 10. cimon.io MVP Enterprise application
  11. 11. Evolution not revolution
  12. 12. Remove unnecessary abstractions
  13. 13. пусть пользователи страдают
  14. 14. basic HTTP application
  15. 15. Ruby on Rails
  16. 16. __YOUR_FRAMEWORK__
  17. 17. after_update
  18. 18. after_destroy after_update
  19. 19. after_destroy after_update after_create
  20. 20. after_pay after_signup after_comment
  21. 21. user:1:signup
  22. 22. шаблоны
  23. 23. CRUD
  24. 24. CRUDP
  25. 25. CRUDIP
  26. 26. CRUDIP /usersPOST /users/1PATCH /users/1GET
  27. 27. CRUDIP /users/1PARTIAL
  28. 28. CRUDIP /users/1?partial=titlePARTIAL
  29. 29. CRUDIP /users/1?partial=titlePARTIAL /users/1GET
  30. 30. шаблоны /users show.html
  31. 31. шаблоны /users show.html _title.html _connections.html _avatar.html _preview.html
  32. 32. теперь вместе websockets partial rendering &
  33. 33. <div> John Snow </div>
  34. 34. <div data-channel="users:1:title" data-url="/users/1?partial=title"> John Snow </div>
  35. 35. <div data-channels="users:1:title users:1:changed" data-url="/users/1?partial=title"> John Snow </div>
  36. 36. <div data-channels="users:1:title users:1:changed" data-url="/users/1?partial=title"> John Snow </div> users:1:title { "title": "John Targaryen" }
  37. 37. <div data-channels="users:1:title users:1:changed" data-callback="updateUser"> <span class="title">John Snow</span> </div> users:1:title { "title": "John Targaryen" }
  38. 38. cimon.io backend websocket htmljs http
  39. 39. cimon.io backend reactredux websocket http
  40. 40. componentDidUpdate = -> { subscribe("users:1:title") subscribe("users:1:update") } render = -> { <div> <span>John Snow</span> </div> }
  41. 41. В итоге • Атомарные изменения • Легкое внедрение чего-угодно • Приложение работает всегда
  42. 42. alexey@cimon.io thx telegram@aratak alexey.osipenko@fb.me
  43. 43. alexey@cimon.io Ruby developer wanted telegram@aratak alexey.osipenko@fb.me
  44. 44. https://t.me/itextrapolation

×