Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Node.js in 2021

474 Aufrufe

Veröffentlicht am

New and challenges for next decade
Video: https://youtu.be/nnB7ADYso8s

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Node.js in 2021

  1. 1. Node.js in 2021
  2. 2. New node.js features (14.x and 15.x) ● Multithreading for long blocking and scale ● QUIC or HTTP/3 for mobile and 5G ● WASI, N-API 7 in Node.js v15 ● V8 v8.6 in Node.js v15 ● API new & unknown: diagnostic API, perf_hooks, timer promises, AbortController, vm, v8, fs.watch, crypto.scrypt, async_hooks, AsyncLocalStorage
  3. 3. Node.js challenges for next decade ● Enterprise software requirements: maintainability, reliability, high availability, security, isolation, compatibility, performance ● Community culture: meetups, conferences, fundamental knowledge share, consensus ● Reputation and trust: education, certification, community, engineering culture, success stories
  4. 4. Key points of engineering culture ● Architecture: DDD and clean architecture, layered/onion architecture, domain in the middle ● Principles and patterns: GRASP, SOLID, GoF, IoC, DI, coupling and cohesion, Law of Demeter ● Project structure: don’t depend on frameworks ● Techniques: error handling, asynchronous and parallel programming, metaprogramming
  5. 5. Application layered (onion) Architecture Domain model Domain services Application services Presentation Infrastructure Persistence Postgres Redis External API Logger Configs Scheduler Health monValidation Cryptography Sessions App firewall AAA Web UI Mobile UI Use cases API gateway
  6. 6. New node.js features (14.x and 15.x) ● Multithreading for long blocking and scale ● QUIC or HTTP/3 for mobile and 5G ● WASI, N-API 7 in Node.js v15 ● V8 v8.6 in Node.js v15, ES modules (import mjs) ● API new & unknown: diagnostic API, perf_hooks, timer promises, AbortController, vm, v8, fs.watch, crypto.scrypt, async_hooks, AsyncLocalStorage
  7. 7. New strategy for Node.js ● Application is a place only for for applied code ● Use threads to scale, one port per thread ● Stateful applications: performance, interactivity ● Use graceful shutdown and app live reload ● Context isolation and sandboxing for security ● Dependencies (read, be ready to support) ● Configuration is a code
  8. 8. New strategy for Node.js ● No long blocking operations ● Prevent memory and resource leaks ● Remember about race conditions ● Serve static from memory or cdn ● Continuous integration, deployment ● IoC practices and DI (dependency injection) ● No mutable global and prototype pollution
  9. 9. New strategy for Node.js ● No mixins and reference pollution ● Layers instead of middlewares ● Limit async concurrency, queue and timeouts ● Automatic routing instead of manual ● SQL and query builder instead of ORMs ● Error handling instead of error ignoring ● RPC over sockets instead of CRUD over REST
  10. 10. github.com/metarhia
  11. 11. github.com/tshemsedinov youtube.com/TimurShemsedinov github.com/HowProgrammingWorks/Index Largest Node.js and JavaScript course (186 lectures) https://habr.com/ru/post/485294/ t.me/HowProgrammingWorks t.me/NodeUA timur.shemsedinov@gmail.com

×