warsawjs #17: reactive javascript all-in: meteor

20
Reactive JavaScript all-in: Jacek Migdal 2016-01-13, WarsawJS #17

Upload: jacek-migdal

Post on 14-Apr-2017

245 views

Category:

Software


0 download

TRANSCRIPT

Page 1: WarsawJS #17: Reactive JavaScript all-in: Meteor

Reactive JavaScript all-in:

Jacek Migdal 2016-01-13, WarsawJS #17

Page 2: WarsawJS #17: Reactive JavaScript all-in: Meteor

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.

Page 3: WarsawJS #17: Reactive JavaScript all-in: Meteor

Who knows Meteor?

Page 4: WarsawJS #17: Reactive JavaScript all-in: Meteor

Tl;dr: History of the Web1970s Client-Server Model

1990s Web: Http, Html

2010s WebApps, Mobile

Page 5: WarsawJS #17: Reactive JavaScript all-in: Meteor

How did we get there? Humble beginning.● Initial web: text with links

● JavaScript: created in 10 days

● Lots of tricks:AJAX, Long polling, ...

Page 6: WarsawJS #17: Reactive JavaScript all-in: Meteor

How did we get there? Natural selection.Java applets vs. JavaScript

XHTML vs. HTML5

Flash vs. Open standards

Browser wars

Page 7: WarsawJS #17: Reactive JavaScript all-in: Meteor

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.

Page 8: WarsawJS #17: Reactive JavaScript all-in: Meteor

Can we learn to fly by jumping higher?Evolution created humans.

Humans created cars, planes, nuclear weapons, space rockets...

Page 9: WarsawJS #17: Reactive JavaScript all-in: Meteor

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.

Page 10: WarsawJS #17: Reactive JavaScript all-in: Meteor

Meteor demo

$ curl https://install.meteor.com/ | sh

$ meteor create warsawjs-chat

Page 13: WarsawJS #17: Reactive JavaScript all-in: Meteor

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

Page 14: WarsawJS #17: Reactive JavaScript all-in: Meteor

Meteor: other featuresHot code reload

Optimistic UI

Native Mobile

EcmaScript 2015

Modular

Page 15: WarsawJS #17: Reactive JavaScript all-in: Meteor

Meteor: complete solution for connected appsDjango, Rails, etc. -> server frameworks

React, Angular -> client templating and components

Node.js -> JavaScript event based server

Page 16: WarsawJS #17: Reactive JavaScript all-in: Meteor

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).

Page 17: WarsawJS #17: Reactive JavaScript all-in: Meteor

Built your next app in Meteor1. Visit https://www.meteor.com/2. $ curl https://install.meteor.com/ | sh3. Create something!

Page 18: WarsawJS #17: Reactive JavaScript all-in: Meteor

Questions?

[email protected]

Page 19: WarsawJS #17: Reactive JavaScript all-in: Meteor

One more thing:one day workshop. Anyone?

[email protected]

Page 20: WarsawJS #17: Reactive JavaScript all-in: Meteor

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