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