of JavaScript



of JavaScript

0 0


bsuir-tech-week


On Github dzmitry-varabei / bsuir-tech-week

of JavaScript

Дмитрий Воробей

  • JavaScript developer
  • Руководитель курсов по Front-end в EPAM, Minsk
  • Организатор открытых митапов http://rollingscopes.com/

The Rolling Scopes Community

Back to 1995

1995

  • Browser War I
  • Microsoft vs Netscape
  • Control of the Internet
Brendan Eich

JavaScript creator, Mozilla founder

First version of JavaScript was created in 10 days

May 6-15, 1995

Wat

    A == B
    A == C
    B != C
                    
    0 == ''; // true
    0 =='0'; // true
    '' == '0'; //false
        

Wat

    ["10", "10", "10", "10"].map(parseInt);
    //Output: [10, NaN, 2, 3]
            

Evolution of name

  • First name: “Mocha”
  • September 1995: “LiveScript”
  • December 1995: “JavaScript”
  • June 1997: ECMA-262 Ed. 1, aka ES1

ECMAScript

ECMAScript Philosophy

Don't break the web!

ECMAScript Philosophy

  • No version like python 2 and 3.
  • No breaking changes.
  • Fully backwards-compatibility.

JavaScript = Java + Scheme (Lisp) + Self (Smalltalk)

2007

Open source wins!

Members of TC39

(Ecma Technical Committee 39)

  • Google
  • Apple
  • eBay
  • Mozilla
  • Intel
  • Microsoft
  • Facebook
  • ...

Open Browsers

  • WebKit/Blink
  • Chromium
  • Firefox

Open Tools

  • Angular/Ember/React/...
  • Jasmine/Mocha Test Frameworks
  • Grunt/Gulp Task Runner
  • Node.js
  • Atom IDE
  • ....

Client logic

Client logic

Client logic

Внезапно...

  • V8 uses JIT (just-in-time) compilation to directly emit machine code at runtime.
  • Open source.
  • 1,5+ mln lines of code

Nowadays!

If you don't like Java, you can use C#, Ruby, Python and so on

but if you don't like JavaScript

Shut Up and Code!

JavaScript is everywhere

Desktop & Mobile Browsers Desktop & Mobile native apps (node-webkit, React Native, Tizen) Hybrid mobile apps Server (Node.js…) NoSQL Databases (MongoDB, CouchDB…) Operation Systems (FirefoxOS, ChromeOS, Nintendo ES...) ...

reveal.js - The HTML Presentation Framework

Presentation inside browser

Node.js at PayPal

  • Teams between 1/3 to 1/10 of Java teams
  • Doubled requests per second
  • 35% decrease in average response time
  • Lines of code shrunk by factor 3 to 5
  • Development twice as fast
  • JS both on frontend and backend

Web interfaces

Tessel

Tessel

node-copter

EPAM CEO showcase award 2014

August, 2015

Some project facts:

Emscripten

Unreal Engine

running in a browser

Asm.js

250 KLOC of C compiled to asm.js (port take 5 days) running in a browser at half speed (in 2014)

I

JavaScript

Записаться в Rolling Scopes School можно тут:

https://goo.gl/swTLXa

Спасибо!

of JavaScript