Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Essential ElixirScript - Roman Senin

121 visualizaciones

Publicado el

Elixir Evening Club 1
01.06.2017
Kyiv, Hub 4.0

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Essential ElixirScript - Roman Senin

  1. 1. ESSENTIAL JAVASCRIPT ELIXIRSCRIPT @rastopyr_ua
  2. 2. André Maginot
  3. 3. what is elixirscript? source-to-source compiler elixir -> javascript
  4. 4. success stories • clojurescript • closure compiler • coffeescript • typescript • babel
  5. 5. How it happens • pass code to elixir compiler • compile(and get error messages) • load modules(and expand macros)
  6. 6. transform ast • convert to elixir ast • transforms to Javascript AST • transforms to Javascript CODE
  7. 7. show what you can • most special forms • modules • functions • pattern matching • public macros • protocols • structs • sigils • bitstring
  8. 8. Primitive Mapping elixir javascript List Array Map Object Atom Symbol Binary String Integer,Float Number Bitstring ErlangTypes.Bitstring Tuple ErlangTypes.Tuple PID ErlangTypes.PID Reference ErlangTypes.Reference
  9. 9. limitations • No OTP • Buggy Processes • Not all special forms • No private macros • incomplete standard library • babel
  10. 10. JS interop • spec compatible • es6 • es5(legacy support)
  11. 11. JS interop • web API • window • document • html5
  12. 12. JS.<javascript operator name> JS interop
  13. 13. build tools • webpack • brunch
  14. 14. Not optimized build
  15. 15. DEMO TIME
  16. 16. Future* • not production ready yet • not enough documentation • increase support of standard library • dependency resolution(oh god!) • add support of source maps(really?) • stable processes *але е одне але
  17. 17. WebAssembly
  18. 18. Elixir Javascript Binary format
  19. 19. CONCLUSIONS • Very interesting for research • Not ready for production
  20. 20. QUESTIONS? Senin Roman

×