Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TangoWebapp insights

70 views

Published on

TangoWebapp insights @32Tango meeting

Published in: Software
  • Be the first to comment

  • Be the first to like this

TangoWebapp insights

  1. 1. TangoWebapp insights by Igor Khokhriakov 32nd Tango Users meeting, 2018
  2. 2. What’s inside?
  3. 3. 07.06.2018 Igor Khokhriakov 3 1) What is TangoWebapp? 2) Structure of the project 3) Technologies 4) Architecture 5) Deployment guide lines 6) Some tweaks and tips
  4. 4. What is TangoWebapp?
  5. 5. 07.06.2018 Igor Khokhriakov 5 1) A bunch of jmvc applications 2) Custom backends: user-context; terminal; etc
  6. 6. 07.06.2018 Igor Khokhriakov 6 3) Each jmvc application
  7. 7. 07.06.2018 Igor Khokhriakov 7 4) Putting it all together
  8. 8. JavaScriptMVC-1.5.x (jmvc)
  9. 9. 07.06.2018 Igor Khokhriakov 11 ● https://github.com/jmvc-15x/javascriptmvc-1.5.x
  10. 10. MVC.Model.extend
  11. 11. OpenAjax.hub .publish .subscribe
  12. 12. Tests console
  13. 13. 07.06.2018 Igor Khokhriakov 15 $> ./jmvcc jmvc/assemble
  14. 14. Webix
  15. 15. 07.06.2018 Igor Khokhriakov 18 Webix is an integrated UI framework:
  16. 16. webix.protoUI
  17. 17. webix.protoUI + composition
  18. 18. Data binding
  19. 19. TangoWebapp Architecture
  20. 20. 07.06.2018 Igor Khokhriakov 23 1) Layered architecture 2) OpenAjax for loose coupling 3) Platform API
  21. 21. PlatformAPI.UIBuilder
  22. 22. PlatformAPI.UIBuilder
  23. 23. PlatformAPI.UserContext
  24. 24. PlatfrormAPI.Stateful mixin
  25. 25. mixins
  26. 26. PlatformAPI Tango primitives
  27. 27. Quite good so far...
  28. 28. … but there is always a dark side
  29. 29. Nashorn (JS5, can not handle complex libraries) JSDoc custom parser Documentation (User/Developer)
  30. 30. Deployment&CI
  31. 31. 07.06.2018 Igor Khokhriakov 34 Branch based build by Travis
  32. 32. Future plans (Q'1-2 2019)
  33. 33. 07.06.2018 Igor Khokhriakov 38 ● Improve Platform API – Inject context menu – Include widgets VS include “platform” – Improve widgets OpenAjax subscription ● Get rid off Nashorn ● Replace custom JSDoc parser with library ● Use JS6 features (Get rid off jmvc???) – Classes/modules/lambda etc ● Documentation (Q'3 2018)
  34. 34. Acknowledgements
  35. 35. 07.06.2018 Igor Khokhriakov 40 FS-EC group Tango Controls steering committee
  36. 36. THANK YOU! Questions? mail@ingvord.ru tango-controls/tango-webapp

×