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

Head topics in Javascript, 2020

Head topics in Javascript, 2020

Jimmy Moon

April 03, 2020
Tweet

More Decks by Jimmy Moon

Other Decks in Programming

Transcript

  1. https://en.wikipedia.org/wiki/JavaScript Initially only implemented client-side in web browsers, JavaScript engines

    are now embedded in many other types of host software, including server-side, databases, and in non-web programs, mobile and desktop applications.
  2. https://en.wikipedia.org/wiki/JavaScript Initially only implemented client-side in web browsers, JavaScript engines

    are now embedded in many other types of host software, including server-side, databases, and in non-web programs, mobile and desktop applications.
  3. https://en.wikipedia.org/wiki/JavaScript Initially only implemented client-side in web browsers, JavaScript engines

    are now embedded in many other types of host software, including server-side, databases, and in non-web programs, mobile and desktop applications.
  4. https://en.wikipedia.org/wiki/JavaScript In November 1996, Netscape submitted JavaScript to ECMA International

    to carve out a standard specification, ... ECMAScript published in the first edition of the ECMA-262 standard in June 1997, ECMAScript 2 in June 1998, The release of ECMAScript 3 followed in December 1999, by 2003, the original ECMAScript 4 work was mothballed. The development of ECMAScript 4 was never completed. ... Alas, there was still turmoil between the various players ... While all of this was happening, the open source and developer communities set to work to revolutionize what could be done with JavaScript, in early 2009 to rename ECMAScript 3.1 to ECMAScript 5 and drive the language forward using an agenda that is known as Harmony. ECMAScript 5 was finally released in December 2009. In June 2011, ECMAScript 5.1 was released to fully align with the third edition of the ISO/IEC 16262 international standard. ECMAScript 2015 was released in June 2015. ECMAScript 2016 was released in June 2016. The current version is ECMAScript 2017, released in June 2017
  5. https://en.wikipedia.org/wiki/JavaScript In November 1996, Netscape submitted JavaScript to ECMA International

    to carve out a standard specification, ... ECMAScript published in the first edition of the ECMA-262 standard in June 1997, ECMAScript 2 in June 1998, The release of ECMAScript 3 followed in December 1999, by 2003, the original ECMAScript 4 work was mothballed. The development of ECMAScript 4 was never completed. ... Alas, there was still turmoil between the various players ... While all of this was happening, the open source and developer communities set to work to revolutionize what could be done with JavaScript, in early 2009 to rename ECMAScript 3.1 to ECMAScript 5 and drive the language forward using an agenda that is known as Harmony. ECMAScript 5 was finally released in December 2009. In June 2011, ECMAScript 5.1 was released to fully align with the third edition of the ISO/IEC 16262 international standard. ECMAScript 2015 was released in June 2015. ECMAScript 2016 was released in June 2016. The current version is ECMAScript 2017, released in June 2017
  6. Stage 0: Strawman, submitting ideas and review Stage 1: Proposal,

    formal proposal for the feature Stage 2: Draft, first version of what will be in the specification Stage 3: Candidate, the proposal is mostly finished Stage 4: Finished, the proposal is ready to be included in the standard ECMAScript/ES 20XX
  7. - TypeScript: TypeScript is a superset of JavaScript that compiles

    to clean JavaScript output - ReasonML: Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems - PureScript: A strongly-typed language that compiles to Javascript, written in and inspired by Haskell - ClosureScript, Elm ClojureScript
  8. - Superset of JavaScript that brings users optional static types

    and solid tooling - Designed for development of large applications and transcompiles to JavaScript - Maintained by Microsoft, Backed by Google (Angular and other project) - Support in many mature IDEs - Annotations and Compile-time type checking, Interfaces, Enumerated, Generics, Namespaces, Tuples, Async/await, Classes Modules ...
  9. Javascript Source Code Ignition (JS Interpreter) TurboFan (Optimization Compiler) Deoptimize

    Optimize (Profile Data) Bytecode Optimized Code Collecting Information Profiling Data
  10. SharedArrayBuffer Threads Worker CPU Core WASM Instance Worker CPU Core

    WASM Instance Worker CPU Core WASM Instance https://www.youtube.com/watch?v=kZrl91SPSpc atomic.wait atomic.notify
  11. - Best practices built with the framework - Zero configuration

    tooling - Customizable configs - Exporting static files - PWA supports - Optimized performance - Tutorials, books and videos for learning - Developer Experience
  12. - Node(node, Node.js) - V8 Engine for running Javascript out

    of browser - Light, fast, running on cross-platforms - Asynchronous I/O via libuv - Event-driven and Non-blocking I/O - Strong community, Node foundation and npm - Isomorphic (Universal) JavaScript Application
  13. - Deno - Ryan Dahl, Same creator of Node -

    V8 Engine for running Javascript out of browser - Security, Security - Typescript - Simple Module System - Efficient Performance powered by Rust
  14. - App like - Secure - Installable - Offline working

    - Notification - Discoverable - Device features Progressive Web Apps
  15. - Accelerated Mobile Pages - Cached by a CDN -

    Optimised for fast loading - Opinionated Components and HTML
  16. Electron, the best way to make a desktop app in

    web technologies on multi-platform