Advertisement
Advertisement

More Related Content

Advertisement

4.client

  1. Exercise II. Waltz (ex. TangoWebapp) installation guide* * https://github.com/tango-controls/tango-webapp/wiki/TangoWebapp-Workshop@SOLARIS
  2. Waltz (ex. TangoWebapp) overview [Live]
  3. Waltz (ex. TangoWebapp) insights
  4. Exercise III. IDE setup guide* * https://github.com/tango-controls/tango-webapp/wiki/ TangoWebapp-Workshop@SOLARIS#iii-ide-setup
  5. What is TangoWebapp?
  6. 04.07.2018 Igor Khokhriakov & Olga Merkulova 6 1) A bunch of jmvc applications 2) Custom backends: user-context; terminal; etc
  7. 04.07.2018 Igor Khokhriakov & Olga Merkulova 7 3) Each jmvc application
  8. 04.07.2018 Igor Khokhriakov & Olga Merkulova 8 4) Putting it all together
  9. JavaScriptMVC-1.5.x (jmvc)
  10. MVC... WAT?
  11. 04.07.2018 Igor Khokhriakov & Olga Merkulova 13
  12. 04.07.2018 Igor Khokhriakov & Olga Merkulova 14 ● https://github.com/jmvc-15x/javascriptmvc-1.5.x
  13. MVC.Model.extend
  14. OpenAjax.hub .publish .subscribe
  15. Tests console
  16. 04.07.2018 Igor Khokhriakov & Olga Merkulova 18 $> ./jmvcc jmvc/assemble
  17. Webix
  18. 04.07.2018 Igor Khokhriakov & Olga Merkulova 21 Webix is an integrated UI framework:
  19. webix.protoUI
  20. webix.protoUI + composition
  21. Data binding
  22. Exercise IV. Developing custom dashboard for Waltz (ex. TangoWebapp)* * https://github.com/tango-controls/tango-webapp/wiki/ TangoWebapp-Workshop@SOLARIS_development #iv-developing-custom-dashboard-for-waltz-ex-tangowebapp
  23. TangoWebapp Architecture
  24. 04.07.2018 Igor Khokhriakov & Olga Merkulova 27 1) Layered architecture 2) OpenAjax for loose coupling 3) Platform API
  25. TangoRequestAPI Usage *webix.promise – like future in C++/Python/Java
  26. PlatformAPI.UIBuilder
  27. PlatformAPI.UIBuilder
  28. PlatformAPI.UserContext
  29. UserContext backend
  30. PlatformAPI.UserContext
  31. PlatfrormAPI.Stateful mixin
  32. PlatfromAPI.mixins
  33. PlatformAPI Tango primitives
  34. PlottingPlotting
  35. Deployment&CI
  36. 04.07.2018 Igor Khokhriakov & Olga Merkulova 39 $> ./jmvcc jmvc/assemble → TangoWebapp.war
  37. 04.07.2018 Igor Khokhriakov & Olga Merkulova 40 Branch based build by Travis
  38. Exercise V. Developing custom application using Waltz (ex. TangoWebapp) platform* * https://github.com/tango-controls/tango-webapp/wiki/ TangoWebapp-Workshop@SOLARIS_development #v-developing-custom-application-using-waltz-ex-tangowebapp-platform
  39. Exercise VI. Advanced exercise* * https://github.com/tango-controls/tango-webapp/wiki/ TangoWebapp-Workshop@SOLARIS_development #vi-advanced-exercise
  40. Issues
  41. Nashorn (JS5, can not handle complex libraries) JSDoc custom parser Documentation (User/Developer)
  42. Do not blame legacy! There is no silver bullet! https://vimeo.com/181766947
  43. 04.07.2018 Igor Khokhriakov & Olga Merkulova 48 ● 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)
  44. 04.07.2018 Igor Khokhriakov & Olga Merkulova 49 Linux terminal back-end tango-controls-webapp/tango-webapp-terminal-backend – Python server app that runs linux terminal session – Handshake procedure: start docker for each user
  45. THANK YOU! Questions? mail@ingvord.ru tango-controls/tango-webapp tango-controls-webapp
Advertisement