Hella Good Ember

9bf3a766e037b9d5a4da0a6f9d0f4f68?s=47 tomdale
June 29, 2016

Hella Good Ember

The closing keynote from Wicked Good Ember 2016, hosted on Thompson Island in Boston. https://wickedgoodember.com

9bf3a766e037b9d5a4da0a6f9d0f4f68?s=128

tomdale

June 29, 2016
Tweet

Transcript

  1. WICKED GOOD EMBER Hella

  2. None
  3. AMBITIOUS WEB APPLICATIONS

  4. Engaging with Standards Long Bet

  5. Tooling Long Bet

  6. Declarative Syntax Long Bet

  7. AMBITIOUS WEB APPLICATIONS

  8. The New Progressive Enhancement

  9. HTML + HTTP + maybe JS client-side JavaScript progressive enhancement

    JavaScript slow devices, good network fast devices, bad network technology best for
  10. Size

  11. What is Ember for?

  12. What is Ember for? Workspace App Landing Page

  13. Heroku Dashboard Square Dashboard Travis CI

  14. DISQUALIFIED

  15. None
  16. What is Ember for? Workspace App Landing Page New Project

    ? BYO Abstraction ???
  17. None
  18. None
  19. None
  20. Functionality Size

  21. None
  22. None
  23. None
  24. hillary.monegraph.com

  25. hillary.monegraph.com

  26. Hassan Abdel-Rahman Will Bagby hillary.monegraph.com

  27. • Ember CLI • Sass • TypeScript • App Cache

    • Glimmer 2
  28. None
  29. None
  30. 0 11 22 33 44 kilobytes, min + gzip React

    44kb Glimmer 2 40kb App +
  31. None
  32. github.com/ tomdale/ apple-pay-merchant-session-server

  33. Professional stunt drivers on a closed course. Do not attempt.

  34. Glimmer 2

  35. • JavaScript • Small core • Components implemented in Ember

    Glimmer 1 Glimmer 2 • TypeScript • “Rendering engine engine” • Components implemented in Glimmer
  36. Glimmer 1 Ember

  37. Glimmer 2 Ember

  38. github.com/ emberjs/ ember.js/ issues/13644 Track Glimmer 2 Progress

  39. None
  40. • String loading • Eagerly load common modules • Net

    20% real-world improvement Improving Mobile Load Times
  41. Where do we go from here?

  42. Standardize on JavaScript Modules

  43. • router.js • route-recognizer • rsvp • simple-dom • simple-html-tokenizer

    • glimmer • backburner • dag • container • morph-range
  44. Move Internals to TypeScript

  45. • Catches bugs • Improves performance • Helps enforce static

    code V8 requires • Support opt-in for apps • Design user-facing APIs JavaScript-first • Aggressive minification TypeScript
  46. The Object Model

  47. “Where does Ember end and the language begin?”

  48. Engaging with Standards Long Bet

  49. None
  50. None
  51. None
  52. Ember is Overwhelming

  53. ember-metal ember-runtime container ember-routing ember-glimmer ember-application

  54. ember-metal ember-runtime container ember-routing ember-glimmer ember-application Terrifyingly Broad Bundle of

    Abstractions and APIs
  55. BYO Layers

  56. raven-js shortid sass gulp gulp-real-favicon autoprefixer mocha bluebird validator.js webpack-isomorphic-tools

    react-helmet react redux redux-storage babeljs immutablejs react-router react-router-redux react-intl webpack express eslint formatjs
  57. None
  58. None
  59. None
  60. <emoji-viewer face="brexit"> .png

  61. A lot of people will tell you that a set

    of small, composable libraries is better than an opinionated framework, because when your constraints don’t line up perfectly with the framework’s choices, you are out of luck. When using your own set of libraries, you have to glue together all the individual components yourself. On the other hand, a well-designed framework like Ember is just a curated set of libraries that work together seamlessly out-of-the-box. If something doesn’t work for you, you can just replace those parts and drop in a custom adapter or two. Godfrey Chan Canadian JavaScript Ambassador bit.ly/ember-adapter-patterns
  62. The Next Round

  63. “V in MVC” “Platform of Capabilities”

  64. None
  65. Relentless Focus on the Web

  66. None
  67. Instant Web Apps, Out of the Box

  68. Simplify, Simplify, Simplify

  69. Standalone Glimmer

  70. …With a Path to Ember

  71. Workspace App Landing Page Glimmer Ember

  72. Thank You!