Pull to refresh

Node.js в 2020: Выйди и зайди нормально

Reading time2 min
Views24K


За последние 5 лет Node.js очень изменился, но знания о платформе у сообщества остались на уровне 2013-2015 годов, все те же подходы, все те же проблемы. Сообщество плохо следит за новыми возможностями, а если и узнает про них, то это не влияет на написание ежедневного кода. В Node.js, да и в JavaScript, слабо проникают фундаментальные знания по программной инженерии и архитектуре, параллельному программированию, GRASP, SOLID, GoF, а если и проникают, то не подвергаются адаптации и переосмыслению. Поэтому, среди других языков программирования JavaScript воспринимается, как несерьезный, а в среде разработчиков Java, C++, C#, распространено мнение, что Node.js, это платформа для малограмотных людей. Как преодолеть эту тенденцию и как изменить подход к разработке на Node.js в 2020 году, с использованием всех современных возможностей и знаний, а так же, что нужно изменить в ежедневных практиках написания кода, эти и другие вопросы рассматриваются в трех бесплатных вебинарах «Node.js в 2020: Выйди и зайди нормально» 11, 14 и 21 апреля, накануне выхода Node.js v14.


Часть 1: Обзор новых возможностей, история и изоляция


Краткое содержание 1й части: готовится Node.js Starter Kit, обзор состояния Node.js на апрель 2020 года, изоляция кода при помощи потоков, песочниц, контейнеров и программных абстракций, в чем смысл deno, v8 Serialization API, vm песочницы и vm.Script, поддержка ES.Next, параллельное и асинхронное программирование, ответы на вопросы.


Видео 1-го вебинара: https://youtu.be/GJY2dyE6328?t=480
Слайды: https://www.slideshare.net/tshemsedinov/nodejs-in-2020-part-1


Часть 2: Проблемы и как они связаны с фундаментальными CS


План 2-го вебинара: Обзор распространенных проблем: утечки памяти и ресурсов, игнорирование ошибок и потенциальных мест их появления, нарушение принципов GRASP и SOLID в Node.js, понятия связанности и зацепления программных компонентов, применение GoF паттернов и других шаблонов проектирования, обзор антипаттернов в Node.js и как это должно влиять на написание ежедневного кода.


Видео 2-го вебинара: https://youtu.be/r1u-dGocm1c
Слайды: https://www.slideshare.net/tshemsedinov/nodejs-in-2020-part-2


Часть 3: Структура и архитектура проекта, Node.js Starter Kit


План 3-го вебинара: мы закончим обзор новых возможностей Node.js и сложив все это вместе в Node.js Starter Kit (шаблона проекта) от сообщества Metarhia для построения надежных и масштабируемых облачных и кластерных приложений и быстрой разработки API для высоконагруженных и интерактивных систем. Будет опубликован манифест Metaserverless. Мы разберем код, обсудим использование новейших возможностей платформы Node.js и фундаментальных знаний CS для построения грамотной структуры и архитектуры проекта.


Видео 3-го вебинара: https://youtu.be/ZXB5OTRld1w
Слайды: https://www.slideshare.net/tshemsedinov/nodejs-in-2020-part-3
Вопросы можно задавать в https://t.me/nodeua
Node.js Starter Kit: https://github.com/HowProgrammingWorks/NodejsStarterKit


Гитхаб докладчика: https://github.com/tshemsedinov

Only registered users can participate in poll. Log in, please.
Как Вы изолируете запросы в Node.js?
28.73% Программными абстракциями52
4.97% Потоками или песочницами v89
5.52% Понимаю проблему, но не знаю, как решить10
60.77% Не знаю, в чем проблема, изучу вопрос110
181 users voted. 83 users abstained.
Only registered users can participate in poll. Log in, please.
Какое современное API в Node.js Вы используете?
19.35% worker_threads30
30.32% Async hooks47
7.1% N-API11
1.29% WASI2
14.19% Модули V8 и VM22
9.68% Internationalization API15
25.16% HTTP/239
73.55% ES6 modules114
45.16% fs.promises70
155 users voted. 108 users abstained.
Only registered users can participate in poll. Log in, please.
Следите ли Вы за возможностями платформы?
23.53% Да, подписан на новости, репозиторий ноды, читаю changelog40
60.59% Если нужно по работе, то разбираюсь, но чую, что этого мало103
15.88% Нет смысла все это изучать и следить, применения не найдется27
170 users voted. 62 users abstained.
Tags:
Hubs:
Total votes 34: ↑26 and ↓8+18
Comments41

Articles