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.

Frontend в enterprise или сказка про WebAssembly

81 views

Published on

Рассказ о том, как WebAssembly покоряет мир :)
Статус на ноябрь 2018 года, языки, библиотеки и фреймворки, работающие с WebAssembly

Published in: Software
  • Be the first to comment

  • Be the first to like this

Frontend в enterprise или сказка про WebAssembly

  1. 1. Frontend в enterprise или сказка про WebAssembly Артур Дробинский
  2. 2. О Нас МЦЦ Томск Облачная платформа для теле-медицины Microservices Message Broker SOA .Net Core React/Redux F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y
  3. 3. О Себе CTO МЦЦ Томск 11 лет .Net Веб с 2003 года Митапы и конференции с 2012 года F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y
  4. 4. Disclaimer Tomsk JS - 2016 F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y
  5. 5. History of The Web
  6. 6. F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y 1995 Netscape Navigator
  7. 7. F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y 2001 Internet Explorer 6
  8. 8. F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y 2008 Chrome
  9. 9. F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y 2009 NodeJS
  10. 10. F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y 2018 Город IT
  11. 11. That’s it
  12. 12. Timeline F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y
  13. 13. Is it another… Flash v2? Silverlight v5? Java Applet? F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y
  14. 14. F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y
  15. 15. F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y
  16. 16. F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y
  17. 17. F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y
  18. 18. Why WebAssembly? • Designed by W3C (all browsers) • Portable • Safe F r o n t e n d в e n t e r p r i s e и л и с к а з к а п р о We b A s s e m b l y
  19. 19. Fast
  20. 20. FAST! F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  21. 21. Compilation target for other languages
  22. 22. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  23. 23. C# developer is asked to write some JavaScript F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  24. 24. Н А З В А Н И Е П Р Е З Е Н ТА Ц И И
  25. 25. Enterprise technologies and Code reuse (backend / desktop) F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  26. 26. What For? F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы • Image / video editing • Games • Music (streaming, caching) • Image recognition • Virtual Reality • Augmented Reality • CAD applications • Platform simulation / emulation (ARC, DOSBox, QEMU…) • Virtual machines • Developer tooling (editors, compilers, debuggers, …) • Remote desktop • VPN • Encryption
  27. 27. Н А З В А Н И Е П Р Е З Е Н ТА Ц И И
  28. 28. Availability F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  29. 29. Pioneers F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  30. 30. Pioneers F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы https://github.com/appcypher/awesome-wasm-langs
  31. 31. Support for low-level functionality F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы • WebGL • User Input API (Keyboard/Mouse) • FileSystem API (MemFS) • Audio • etc. http://kripken.github.io/emscripten-site/docs/api_reference/index.html
  32. 32. Qt F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы • 4.7MB • Non-native UI (no html • https://msorvig.github.io/qt-webassembly- examples/slate/slate.html
  33. 33. Unity F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы • 10MB • Games • https://webassembly.org/demo/Tanks/
  34. 34. How does it work F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  35. 35. UNITY F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  36. 36. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы What about?..
  37. 37. How it was before
  38. 38. «Компиляция» в JavaScript F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы • TeaVM + Flavour (Java) • JSIL (.Net) • Kotlin Javascript JSIL
  39. 39. How it is today
  40. 40. Kotlin/Java F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы • No decent UI frameworks
  41. 41. Blazor (and other .Net) F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  42. 42. Cross-platform UI F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы • Avalonia UI • Xamarin.Forms  Platform.Uno https://playground.platform.uno /#wasm-start
  43. 43. DEMO
  44. 44. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  45. 45. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  46. 46. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  47. 47. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  48. 48. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  49. 49. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  50. 50. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  51. 51. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  52. 52. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  53. 53. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  54. 54. JAVA & .Net come together
  55. 55. Code reuse F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы • Asmble (Java) • dotnet-webassembly
  56. 56. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  57. 57. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  58. 58. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  59. 59. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  60. 60. F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы
  61. 61. MAIN ISSUES
  62. 62. Issues F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы • IDE support / tooling • Debugging, hot reload • Garbage Collection is not supported
  63. 63. Выводы F r o n t e n d в e n t e r p r i s e : к а к We b A s s e m b l y п о м и р и л . N e t и J a v a м и р ы • Можно использовать математику/бизнес-логику уже сейчас • Можно делать UI на OpenGL • Полноценные фреймворки для построения пользовательского интерфейса пока отсутствуют (или в альфа-версиях)
  64. 64. Спасибо. Вопросы? Артур Дробинский artur.drobinskiy@mcc-tomsk.de http://arturdr.ru
  65. 65. Митап для .Net разработчиков TomskDotNet Точка Кипения 29 ноября, 18:30 https://leader-id.ru/event/12958/

×