Talking about:
- The brief history of JavaScript
- How JavaScript application architecture has changed
- What's the next thing in JavaScript development environment
Jungryul ChoiSoftware Development Engineer at Amazon
6. JAVASCRIPT
• Mocha → LiveScript → JavaScript
• Short language design/dev time (Netscape..)
• Wrong designs, bugs, …
• Only client-side language on browsers
7. ECMASCRIPT
• Standardized by ECMA
• Specification
• Current version 2016
• Implementations
• SpiderMonkey,V8, Nitro, Chakra, JScript,ActionScript
• No major player
13. REST API
View Logic
REST API
request
response
(json)
UI (dynamic)
Business Logic
Object-relational mapping
14. APP GETS COMPLEX
• More and more components into one page
• Every component has its own state
• Some components have dependencies on others
15. APP GETS COMPLEX
• More and more components into one page
• Every component has its own state
• Some components have dependencies on others
Model View
View
Model View
20. VIRTUAL DOM
• Lightweight copy of DOM in memory
• Generated on every user action
• Diff and update real DOM
21. • Simpler and more maintainable
• Hot reloading
• Swap logic without touching state
• Time travel debugging
• Swap state without touching logic
• https://youtu.be/oNogm31F2mo
GOOD STUFF
30. NATIVE APP
• Electron by GitHub
• Windows, MacOS, Linux
• Apache Cordova
• Windows, MacOS, Linux,
Mobile platforms
• React Native
• iOS,Android
• Write once, Run anywhere
Native Wrapper
API
Business Logic
40. NEW LANGUAGE
• Some people want
additional syntax on top of
JavaScript
• Some want another
language
• Transpile into JavaScript
• JavaScript acts like Java
Bytecode
44. WEBASSEMBLY
• REAL assembly code running on browsers
• Influenced by asm.js and PNaCl
• Running on JavaScript Engine
• Shares everything with JavaScript code
45. • Much smaller file size
• No more runtime optimization
• Supports other languages as well as JavaScript
• Better native apps
• Coming to major browsers by 2017 Q1(experimental)
47. REFERENCE
• JavaScript Fatigue:
https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4#.jvk17fm90
• How it feels to learn JavaScript in 2016:
https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.o6gqsjk93
• How it actually feels to write JavaScript in 2016:
https://medium.com/@kitze/how-it-actually-feels-to-write-javascript-
in-2016-46b5dda17bb5#.nmf9myi0r
• JavaScript는 잘못이 없다. 정말로:
https://medium.com/@pitzcarraldo/javascript%EB%8A%94-%EC%9E%98%EB%AA%BB%EC
%9D%B4-%EC%97%86%EB%8B%A4-%EC%A0%95%EB%A7%90%EB%A1%9C-
fb9b8e033b10#.84a24saby
48. REFERENCE
• Full Stack Fest 2016 (https://2016.fullstackfest.com/)
• The Frontend is a Full Stack (Luca Marchesini)
https://www.youtube.com/watch?v=wtURpqTgtUs
• From REST to GraphQL (Marc-Andre Giroux)
https://www.youtube.com/watch?v=eD7kLFGOgVw
• WebAssembly: birth of a virtual ISA (Ben Smith)
https://www.youtube.com/watch?v=vmzz17JGPHI