upgrading the web

15
Upgrading the web an Javascript language evolution Renat Gafarov Roman Gafurov

Upload: renat-gafarov

Post on 23-Jan-2017

86 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Upgrading the web

Upgrading the weban Javascript language evolution

Renat GafarovRoman Gafurov

Page 2: Upgrading the web

Расскажи ей о наследовании в JavaScript

Page 3: Upgrading the web

JavaScript in modern world

Rich client application

More implementations design patterns (MVC, MVVM, MVP)

Server-side applications and two ways of progress by server javascript nodejs, io.js

Isomorphic code base (meteorjs, react, catberryjs)

Active community

Mobile applications (PhoneGap, Cardova, app.js, Marmalade)

Modern browser game dev

Page 4: Upgrading the web

Server-side JavaScript

V8 - C++ Virtual Machine

Non blocked i/o

Async

More modules

Fast development

Page 5: Upgrading the web

CALLBACK HELL

Page 6: Upgrading the web

Nodejs v 4.x

common code base nodejs and io.js

Child process

full support ES6

More stable

More fast

Nodejs Foundation

Page 7: Upgrading the web

It’s just JavaScriptno more `var`

everything is an expression

destructing assignment, array slicing

aliases (is, or, isnt, yes, unless, @, **, ...)

bound functions (arrow), splats…, default parameters

generators

classes, inheritance, ::, super(), static methods

string interpolation #{}, multiline strings

http://coffeescript.org/

Page 8: Upgrading the web

But not so fabulous

scoping is madness (http://goo.gl/KVNHLQ)

in some cases you still need put brackets

you can still shoot yourself in the foot

difficult to debug

there is no way back

good for ruby / python - ist’s

javascript is changing!

Page 9: Upgrading the web
Page 10: Upgrading the web

ECMAScript 6: extending CoffeeScriptblock scope

let, const - immutability

modules and import

named parameters

getters and setters

method properties, computed property names

typed arrays (Uint32Array, Uint8Array, Float32Array)

for-of

var is still with us

http://es6-features.org/

Page 11: Upgrading the web

ECMAScript 6: What about types?Symbol

Iterator

Set, Map

Promise

String (startsWith, endsWith, includes, repeat)

and others good features (http://goo.gl/1Rossi)

http://es6-features.org/

Page 12: Upgrading the web

https://goo.gl/WFBQpB

Page 13: Upgrading the web

ECMAScript 7: What’s next?

async

:: bind operator

class decorators, properties

array comprehensions

Object.values, Object.entries

https://babeljs.io

Page 14: Upgrading the web
Page 15: Upgrading the web