- PVSM.RU - https://www.pvsm.ru -
Вы веб-разработчик?
Все веб-фреймворки можно разделить на группы. У каждой из этих групп есть свои достоинства и недостатки.
Сервер-ориентированные
Например: RoR [1], Django [2], Asp Net [3], Express.js [4]
Генерируют html на сервере.
Такой подход хорош для статических страничек.
Но как только вы хотите сделать что-то интерактивное, то начинаете утопать в jQuery-коде.
Клиент-ориентированные
Например: Backbone.js [5], Knockout.js [6], Ember.js [7], Batman.js [8]
Генерируют html прямо на клиенте из темплейтов. Код на клиенте структурирован.
Хорошо для интерактивных сайтов.
Не отменяет необходимость использовать сервер-ориентированный фреймворк, что ведет к дублированию кода (модели, валидация и т.д.)
Кросс-компилируемые
Например: GWT [9], Cappuccino [10]
Позволяют писать всё на одном языке.
Очень большой уровень абстракции.
Шаг вправо, шаг влево — расстрел.
Так же ни один из фреймворков не имеет механизмов синхронизации данных между клиентом и сервером и оставляет реализацию этого на нашу совесть.
Что мы хотим от веб-фреймворка?
Да, Derby.js [11]
github [12]
twitter [13]
Вопросы лучше всего задавать в Google Groups [14]
Пример приложения: habitrpg [15]
Создатели Derby.js: Nate [16] и Brian [17]
P.s.:
Основной конкурент — Meteor [18].
Из плюсов — ниже порог входа. Из минусов — не поддерживает npm и нет генерации html на сервере.
Подробное сравнение здесь. [19]
Автор: vmakhaev
Источник [20]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/42076
Ссылки в тексте:
[1] RoR: http://rubyonrails.org/
[2] Django: https://www.djangoproject.com/
[3] Asp Net: http://www.asp.net/
[4] Express.js : http://expressjs.com/
[5] Backbone.js: http://backbonejs.org/
[6] Knockout.js: http://knockoutjs.com/
[7] Ember.js: http://emberjs.com/
[8] Batman.js: http://batmanjs.org/
[9] GWT: https://developers.google.com/web-toolkit/
[10] Cappuccino: http://cappuccino.org/
[11] Derby.js: http://derbyjs.com/
[12] github: https://github.com/codeparty/derby
[13] twitter: https://twitter.com/derbyjs
[14] Google Groups: https://groups.google.com/forum/?fromgroups#!forum/derbyjs
[15] habitrpg: https://github.com/lefnire/habitrpg
[16] Nate: https://twitter.com/nateps
[17] Brian: https://twitter.com/briannoguchi
[18] Meteor: http://meteor.com/
[19] здесь.: http://blog.derbyjs.com/2012/04/14/our-take-on-derby-vs-meteor/
[20] Источник: http://habrahabr.ru/post/191800/
Нажмите здесь для печати.