warsawjs #17: reactive javascript all-in: meteor
TRANSCRIPT
Reactive JavaScript all-in:
Jacek Migdal 2016-01-13, WarsawJS #17
Who Am I? The Cloud JugglerSenior Software Engineer at
We do logs in cloud:
● supercharged grep | awk in the browser● Google for your internal infrastructure
Meteor is my hobby. I don’t use it at my day job.
Who knows Meteor?
Tl;dr: History of the Web1970s Client-Server Model
1990s Web: Http, Html
2010s WebApps, Mobile
How did we get there? Humble beginning.● Initial web: text with links
● JavaScript: created in 10 days
● Lots of tricks:AJAX, Long polling, ...
How did we get there? Natural selection.Java applets vs. JavaScript
XHTML vs. HTML5
Flash vs. Open standards
Browser wars
How did we get get there? Lots of money put in.Dotcom boom (1990s), lots of multibillion companies based on web (e.g. Google, Facebook).
JavaScript is the fastest dynamic language.
Browsers are like OS.
Can we learn to fly by jumping higher?Evolution created humans.
Humans created cars, planes, nuclear weapons, space rockets...
What would be the ideal web framework?Full-stack JavaScript.
All platforms: browsers and mobile.
Reactive by default.
Makes developers 10x productive.
Websites are applications.
Meteor demo
$ curl https://install.meteor.com/ | sh
$ meteor create warsawjs-chat
https://gist.github.com/jakozaur/4537dd9add12697228c6
https://gist.github.com/jakozaur/d20c1bdffcb2308eed61
Meteor: under the hoodBuilt on top of Node.js
Distributed database: publish-subscribe
Templating (also supports Angular and React)
Package system (also supports Npm)
Node.js + MongoDB
Chrome Safari
Meteor: other featuresHot code reload
Optimistic UI
Native Mobile
EcmaScript 2015
Modular
Meteor: complete solution for connected appsDjango, Rails, etc. -> server frameworks
React, Angular -> client templating and components
Node.js -> JavaScript event based server
Meteor: why now?Connected devices are powerful.
Consumer applications sets a high bar (e.g. Facebook, Uber).
We are expected to get a lot of done with less time (see software salaries).
Built your next app in Meteor1. Visit https://www.meteor.com/2. $ curl https://install.meteor.com/ | sh3. Create something!
Questions?
One more thing:one day workshop. Anyone?
Image sourceshttps://en.wikipedia.org/wiki/File:DEC_VT100_terminal.jpg
https://en.wikipedia.org/wiki/Layette#/media/File:Baby_in_an_infant_bodysuit.jpg
https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Mutation_and_selection_diagram.svg/2000px-Mutation_and_selection_diagram.svg.png
https://commons.wikimedia.org/wiki/File:Money_Cash.jpg
https://upload.wikimedia.org/wikipedia/commons/c/cb/Matti_Nykasen_maki_in_Jyvaskyla_2007-06-14.jpg
https://en.wikipedia.org/wiki/Holy_Grail#/media/File:Caliz_de_Donna-Urraca.jpg
https://en.wikipedia.org/wiki/File:Freedom-Class_Comparison.jpg
https://www.flickr.com/photos/111692634@N04/16388916661
https://www.flickr.com/photos/83532250@N06/7650738842