Why notde?
github.com/markuplab
Немного статистики


NPM



Node.JS
Лучший инструмент для создания UI сервисов
Приемущества:
Широко-используемый стандарт модулей CommonJS работающий как на сервере так и на клиенте (webpack/browserify)
Возможность использовать общую code базу в разных окружениях (client-side, desktop, mobile, server-side, etc.)
Широкий выбор инструментов для автоматизации процессов связанных с клиентскими приложениями
Широкий выбор подходов разработки: Single Page, Isomorphic, Hybrid, Server-Side
Node.JS
Лучший инструмент для создания UI сервисов
CommonJS
Модульная система позволяет делить приложение на маленькие части. С помощью современных сборщиков таких как browserify / webpack можно перенести серверные модули на сторону браузера, с незначительными ограничениями.
В последних версиях эти сборщики позволяют осуществлять ленивую загрузку модулей, что позволяет координально изменить взгляд на разработку больших и тяжелых приложений размер которых уже не помещается в бразуер.


Node.JS
Лучший инструмент для создания UI сервисов
Пример современного модуля

Node.JS
Лучший инструмент для создания UI сервисов
Подходы: Изморфность
Принцип разработки при котором результаты выполнения кода не зависят от окружения в котором выполняется код, обычно это server и client.
Плюсы:
SEO совместимость
Единая Code база
Минусы:
Различие интерфейсов окружений
Overhead на 2ую инициализацию
Browser compability заставляет использовать устаревшие API, что ограничивает возможности языка
Много костылей ради достижения результата
Малая нагрузка на сервер
Node.JS
Лучший инструмент для создания UI сервисов
Подходы: Одностраничное приложение
Принцип разработки кода при котором ответственность за работу приложения ложится на плечи клиента и его виртуальной машины (браузера)
Плюсы:
Еще более легкий сервер
Лучший UX
Минусы:
Сильная зависимость от API браузера
Гибкость
Трудная поддрежка производительности
Зависимость от памяти клиента
Есть вещи которые сложно реализовать без поддержки сервера
Node.JS
Лучший инструмент для создания UI сервисов
Подходы: Гибридное приложение
Приложение работа которого совмещает выполнение кода как на сервере так и на клиенте
Плюсы:
Возможность строить гибкое приложение
Минусы:
Overhead на написание двойных интерфейсов для клиента и браузера
Высокая производительность и отзывчивость у клиента
Редкие Memory Leak'и
Гораздо проще написать деградируемое приложение
Реиспользование кода становиться более сложной задачей для больших модулей
Node.JS
Лучший инструмент для создания UI сервисов
Стандарты и инструменты:















Node.JS
Лучший инструмент для создания UI сервисов
Easy to Deploy
Для выкладки и запуска node.js приложения достаточно иметь node.js и npm в этом окружении.
Пример сборки и запуска проекта
$ git clone <repo>
$ cd repo
$ npm i
$ npm i -g gulp
$ gulp build
$ npm start
Why notde?
By Kirill Kaysarov
Why notde?
- 992