Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016...

38
Frontend 2015-2016 Viktor Turskyi iForum 2016

Transcript of Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016...

Page 1: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Frontend 2015-2016Viktor Turskyi

iForum 2016

Page 2: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

YEAR 2015

Page 3: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide
Page 4: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Increasing complexity of FE business logic

Page 5: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

ECMAScript 6 finalized

Page 6: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

ES6 everywhere

Page 7: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Deprecated _escaped_fragment_

Page 8: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Goodbye "undefined is not a function"

Page 9: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Node v4.0 (september 2015) merged Node and IO.js

Page 10: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Polymer 1.0 - production ready

Page 11: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide
Page 12: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

React-Native (iOS and Android)

Page 13: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Facebook switches to Babel

Page 14: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide
Page 15: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

A lot of JavaScript courses

Page 16: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Microsoft Visual Studio Code

Page 17: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide
Page 18: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Death of Java and Flash

Page 19: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Popularity of Isomorphic apps

Page 20: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Lost simplicity of Web development

Page 21: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

YEAR 2016

Page 22: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

End of support of IE 8, 9, 10, 11 (only security upd)

Page 23: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

No outdated browsers

Chrome

Firefox

Safari

Edge

Opera

Android Chrome

iOS Safari

Page 24: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Increasing popularity of web-based editors

Page 25: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

React native main priority for Facebook

Page 26: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

High level frameworks in React world

Based on:

● React● React-Router● Redux● Relay

Page 27: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

hack --platform=react app.js

Page 28: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Increasing production use of HTML5 APIS

Service workers API

Notification API

Network API

GeoLocation API

Video API

etc

Page 29: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

WebAssembly support in browsers

Page 30: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Experiments with functional languages

Page 31: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Static types

Page 32: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Isomorphic JS support in all frameworks

Page 33: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

NOT SURE ABOUT

Page 34: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Relay/Graphql

https://facebook.github.io/graphql/

https://facebook.github.io/relay/

Page 35: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Backend-As-A-Service (BAAS)

Page 36: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Internet of Things (IoT)

Page 37: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

WebComponents

Page 38: Viktor Turskyi - Iforum2016.iforum.ua/files/10_iForum 2016 - Frontend 2015-2016 v1.1.pdfJan 12, 2016  · A STATIC TYPE CHECKER FOR JAVASCRIPT TypeScript WebAssembIy React Native Nuclide

Viktor Turskyi (koorchik)

[email protected]://twitter.com/koorchik

https://github.com/koorchik

https://webbylab.com