another year of JavaScript...
w/ Steve Venzerul & Bruno Carriere
http://js-montreal.org
js-montreal
TC39 FTW
The JavaScript Language
ES2016 ratified in June. The process works!
ES2016 is a tiny release, which is a good sign.
Multiple maturity stage process means that we have to be careful when calling features "ES2017" features, etc.
Disappointed: Modules not in mainstream browsers, but they work in Edge and Safari Technology Preview!
Stage 0: Strawman. Anyone can submit ideas, free-form. The proposals get reviewed by the committee.
Stage 1: Proposal. Formal proposal for a feature. Needs a TC39 committee champion or co-champion.
Stage 2: Draft. First version of the formal specification. It is likely that this feature will be included in the standard.
Stage 3: Candidate. Proposal is mostly finished, needs feedback. Specification is complete and approved. Two implementations needed.
Stage 4: Finished. Tests, implementations that pass the test, specification text must be signed off on.
Stage 1 (Maaaaaaaybe)
WeakRefs
Observable
Stage 2 (Draft, so probably)
Class & Property Decorators
Private Fields
Public Class fields
Stage 3 (You're good)
Rest/Spread
Things you might be using already
Babel Everywhere
React and Friends
Besides the huge adoption of React, one thing that has surprised is
React as a "component interface"
Many frameworks are adopting models compatible or very similar to React's component model and lifecycle events.
JavaScript in ur CSS
The idea itself is not new, but 2016 has seen the idea become way more acceptable and mainstream.
Dozens of frameworks. Comprehensive list
"Ahead of time" component framework
rather than interpreting your application code at run time, your app is converted into JavaScript at build time. (...) you don't pay the performance cost of the framework's abstractions, or incur a penalty when your app first loads.
Server rendered, minimalistic, "Zero Setup", convention based, easy to get started, magically easy deployment.
Probably the first of many exploring this space.
Simple lean and fast, passionate community - could be a good alternative for incremental adoption in a legacy codebase.
Progressive Web Apps: The dream of mobile web apps is still alive. Not everyone believes Native Apps have won. Good practices and principles to follow for all web apps, really. Maybe this is what will save Polymer?
Dr. Axel Rauschmayer "Exploring ES2016 and ES2017"
Wes Bos "React for Beginners"
https://reactforbeginners.com/
Dan Abramov "Getting Started with Redux"
WILD PREDICTIONS
OF THE FUTURE
2015 Predictions
Open source Chakra Engine
Many multiplatform releases (.NET core)
Visual Studio Code
Visual Studio for Mac!!
New
Predictions
@rcyr
Optional typing (Flow, TypeScript, etc) usage increase in popularity, Angular2 helping
Async/Await will become widely used
Vue.js is going to see an increase in adoption (we agree)
People will still complain about "JavaScript Fatigue"
Electron gets more popular for desktop applications.
Service workers adoption
@frank
Less server rendering more streaming with Fetch API & ReadableStream
Dart will make a comeback and come nose to nose with TypeScript
Yield + promises will become popular
React will be the lib of 2017 (Bruno: Clearly is the lib of 2016)