Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JSConf 2015 (ShenJS)

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

JSConf 2015 (ShenJS)

Some thinking from JSConf China 2015.

Avatar for 马斯特

马斯特

July 19, 2015

Other Decks in Technology

Transcript

  1. MVVM • Angular.js • All included framework • Vue.js •

    Library focus on View Model • React.js • Library focus on View Model
  2. JSX

  3. Virtual DOM • Virtual DOM • An abstraction for real

    DOM. App React Virtual DOM Real DOM
  4. Virtual DOM (cont.) App Virtual iOS Component Real iOS Componenet

    • Why abstraction? • Learn once, write everywhere.
  5. Virtual DOM (cont.) • Why abstraction? • Isomorphic Javascript var

     html  =React.render(<HelloMessage  />);   res.send(html)
  6. Immutable Data • Any method that modifies a collection will

    return a new collection instead of mutating the original. • Demo
  7. Immutable Data (cont.) • Why Immutable Data? • Prevent side

    effects • Faster deep equality checking • Pointer comparisons, treat collections as values • Makes handling “undo” easy and efficient
  8. Problems with REST • REST is tough: it’s resource based!

    REST API Service I need User data! /api/User/123 REST API Service I need Account data! /api/Account/456 REST API Service I need User with his associate Account data! ?
  9. ES6 • Next Generation Javascript • Already approved in June

    2015 Fix its own bad things Steal good things from other languages
  10. ES6 (cont.) • Babel • Use next generation Javascript, NOW!

    • A transpiler to transform ES6 code to ES5. • Demo
  11. Node.js • Cloud Computing • New web framework: koa.js/toa.js •

    P2P Game • fib.js: New “Node.js” based on V8
  12. WebGL • OpenGL on Web • Slide http://avgp.github.io/shenjs-3d/ • Other

    Demos • https://crazyskills.panasonic.com/en/ • http://www.ro.me/ • WebVR
  13. – Someone “Any application that can be written in JavaScript

    will eventually be written in JavaScript.”