Node.js Фреймворки

Какой фреймворк больше всего вам нравится
44% - Angular
36% - BackBone + обвязка
12% - Knockout
4% - Meteor
3% - Ember
1% - Spine

Я хочу основу приложений десктопного уровня для Сети. Этот фреймворк должен быть высокоуровневым, модульным, MVC, без потребности собирать всё вместе вручную, поддерживать персистентность (постоянные объекты с метафорой файла, устройства), вычисляемые свойства и автообновление шаблонов. Это нужно для интеллектуального управления состояниями вместо ручной настройки, совместимость с многими смежными фреймворками. Это должно быть с хорошей документацией, с шаблонами пользования, инструментами сборки (ember.gem, ember for brunch). Используйте Ember.js.

Я хочу хорошую основу для объёмных приложений, с проверенной и отработанной инфраструктурой виджетов, модулей с постзагрузкой; возможно — с асинхронной и простой интеграцией с CDN-ами, с выбором модулей и виджетов (графики, диаграммы, таблицы, и т.д), с хорошей мультиязычностью (i18n, l10n). Нужна поддержка ООП, MVC и сборщик из блоков (модулей) для создания сложных архитектур. Используйте Dojo.

Meteor

Meteor — это один из самых необычных и эксперементальных фрэймворков для js за долгое время. Те, кто говорит, что это не MVC-фрэймворк, безусловно правы. Один из 7 принципов, которые авторы выделяют на странице документации: «Meteor is open source and integrates, rather than replaces, existing open source tools and frameworks». Этим самым они намекают на то, что не пытаются решать задачи, которые уже давно решены. Этим и тем, что одним из, так называемых «Smart Packages», которые уже интегрированы в meteor, является backbone. Главное отличие meteor в том, что он не пытается структурировать ваш код, как большинство существующих фрэймворков, он пытается внушить вам определенный образ мышления при разработке.

meteor.com
Meteor — Новый способ создания приложений
JavaScript-фреймворк Meteor получил 11 миллионов долларов инвестиций
Thinking Reactively. Meteor JS
Meteor — Node.js для гуманитариев
Полезные советы в работе с Meteor

Ember

emberjs.com

Angular

angularjs.org

Backbone

backbonejs.org
Написание сложных интерфейсов с Backbone.js

Knockout

knockoutjs.com
Применение, советы и особенности knockout.js
Пишем сложное приложение на knockoutjs
Knockout, практический опыт использования
Разработка приложения живого поиска по Twitter с помощью Knockout, jQuery и ASP.NET MVC 3
KnockoutJS: сказ о том, как легко принимать или отклонять изменения
KnockoutJS: Фильтрация списков на лету
KnockoutJS: Ajax grid view с нуля в 40 строк
Введение в MVVM и KnockoutJS (видео)
knockmeout.net

CanJS

CanJS is a JavaScript library that makes developing complex applications simple and fast. Easy-to-learn, small, and unassuming of your application structure, but with modern features like live-binding and computed values. Creating apps is easy and maintainable.

canjs.com

Spine

Spine представляет собой небольшой фрэймворк, который позволяет работать по схеме MVC, создавая приложения непосредственно на языке JavaScript, что обеспечивает логическое разделение кода, наследование моделей через классы и расширения. Также во многом этот инструмент базируется на Backbone.js API, так что те разработчики, которые имели дело с данным фрэймворком, без труда разберутся и в Spine (однако существует целый ряд существенных различий). Spine.js может работать совместно с HTML5 и асинхронными запросами сервера.

spinejs.com
Написание сложных интерфейсов с Spine.js

Yahoo! UI Library (YUI)

ru.wikipedia.org/wiki/Yahoo!_UI_Library
ru.wikibooks.org/wiki/Yui

Yehuda Katz

github.com/wycats

Джереми Ashkenas

github.com/jashkenas

Geddy

Geddy — очень интересный фреймворк от Github-пользователя mde. Его особенности: модульность, понятный код и автоматическая генерация шаблонов приложений.

geddyjs.org
github.com/mde/geddy
Фреймворки в Node.js: Geddy

Express

Express — один из самых развитых фреймворков для Node.js на данный момент. Он во многом основан на Sinatra, веб-фреймворке для Ruby. Express минималистичный гибкий node фреймворк для веб приложений, предоставляющий широкий набор фич для построения одно-, много- страничных и гибридных веб приложений.

expressjs.com
Фреймворки в Node.js: Express
Подборка материалов для изучения
Русская документация

Djangode

Djangode — фреймворк для Node.js, основанный на некоторых архитектурных решениях Django.

Фреймворки в Node.js: Djangode

fab

Fab — микрофреймворк, вдохновлённый элегантностью и простотой использования jQuery. Он довольно активно развивается, сейчас доступна третья версия (автор практически переписал фреймворк).

Фреймворки в Node.js: fab

Nodemachine

Nodemachine — небольшой фреймворк (он состоит всего из одного файла), порт WebMachine из сервера MochiWeb, изначально написанного на Эрланге. Его страница на Github сообщает что фреймворк был обновлён в конце февраля чтобы работать с Node.js версии 0.1.29. Это уже не очень хорошо — с тех пор произошли изменения в API, не факт что фреймворк теперь вообще запустится. Но после фреймворка в стиле Ruby и фреймворка в стиле Python посмотреть на nodemachine всё равно интересно.

Фреймворки в Node.js: Nodemachine

JavaScriptMVC

javascriptmvc.com
en.wikipedia.org/wiki/JavaScriptMVC

Locomotive

Locomotive is a web framework for Node.js. Locomotive supports MVC patterns, RESTful routes, and convention over configuration, while integrating seamlessly with any database and template engine. Locomotive builds on Express, preserving the power and simplicity you've come to expect from Node.

Locomotive представляет себя как: “Строго придерживающийся паттерна MVC и REST принципов, располагающий к написанию хорошо с проектированных приложений“ — но по поводу “MVC” внутри Locomotive мало хочется говорить, оно как бы есть, но, в тоже время, как-то не до конца.

В заключение, могу сказать что в принципе, надстройка Locomotive не плохая, но на мой взгляд не расширяемая абсолютно, то-есть делать на ней что то в дальнейшем расширяемое я бы не рискнул, так как пришлось бы много пачить сам фреймворк. Но если ваши задачи такие как например сделать “Landing Page”, “Визитку”, то для этого Locomotive очень подходит.

locomotivejs.org
(M)VC Framework Locomotive

Sails

Sails.js make it easy to build custom, enterprise-grade Node.js apps. It is designed to mimic the MVC pattern of frameworks like Ruby on Rails, but with support for the requirements of modern apps: data-driven APIs with scalable, service-oriented architecture. It's especially good for building chat, realtime dashboards, or multiplayer games.

sailsjs.org

Разное

Полный набор пакетов для разработки с помощью NodeJS
Исследуем JavaScript Generators
Raspberry Pi + Arduino + HTML5 + Node.js + MongoDB = Умный дом
Популярность Javascript-фреймворков
Сравнение Angular, Backbone, CanJS и Ember - !!!
Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 1
Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 2 - !!!
TodoMVC
Полезные инструменты, туториалы и ресурсы
Удобства на улице для MySQL драйвера в Node.js


PDFKit

библиотека для для генерации PDF документов, позволяющая легко создавать сложные, многостраничные, готовые к печати документы. Написан на чистом CoffeeScript, но вы можете использовать богатый JavaScript API. API включает в себя как функции низкого уровня, так и более высокоуровневые абстракции.

pdfkit.org

Underscore.js

documentcloud.github.io/underscore

json2.js

github.com/douglascrockford/JSON-js

jQuery

jquery.com

Zepto

Zepto is a minimalist JavaScript library for modern browsers with a largely jQuery-compatible API. If you use jQuery, you already know how to use Zepto.

zeptojs.com


Шаблонизаторы

github.com/joyent/node/wiki/modules#wiki-templating - !!!!!!!!

Jade

jade-lang.com

Stylus