Pull to refresh

Derby.js — новый взгляд на веб-разработку

Reading time 2 min
Views 26K


Вы веб-разработчик?

Для вас есть новости.

В чем собственно проблема?


Все веб-фреймворки можно разделить на группы. У каждой из этих групп есть свои достоинства и недостатки.

Сервер-ориентированные

Например: RoR, Django, Asp Net, Express.js
Генерируют html на сервере.
Такой подход хорош для статических страничек.
Но как только вы хотите сделать что-то интерактивное, то начинаете утопать в jQuery-коде.

Клиент-ориентированные

Например: Backbone.js, Knockout.js, Ember.js, Batman.js
Генерируют html прямо на клиенте из темплейтов. Код на клиенте структурирован.
Хорошо для интерактивных сайтов.
Не отменяет необходимость использовать сервер-ориентированный фреймворк, что ведет к дублированию кода (модели, валидация и т.д.)

Кросс-компилируемые

Например: GWT, Cappuccino
Позволяют писать всё на одном языке.
Очень большой уровень абстракции.
Шаг вправо, шаг влево — расстрел.

Так же ни один из фреймворков не имеет механизмов синхронизации данных между клиентом и сервером и оставляет реализацию этого на нашу совесть.

Давайте помечтаем


Что мы хотим от веб-фреймворка?

  • Один язык (Javascript) для повторного использования кода на сервере и клиенте
  • Генерация html первый раз на сервере (для быстрой загрузки), следующие разы на клиенте (для интерактивности)
  • MVC для структуры кода
  • Реактивная привязка вида и модели (изменения модели немедленно отражаются в html и наоборот)
  • Встроенная синхронизация данных между сервером и всеми клиентами
  • Offline


Такое бывает?


Да, Derby.js

github
twitter
Вопросы лучше всего задавать в Google Groups
Пример приложения: habitrpg

Создатели Derby.js: Nate и Brian

P.S.:
Основной конкурент — Meteor.
Из плюсов — ниже порог входа. Из минусов — не поддерживает npm и нет генерации html на сервере.
Подробное сравнение здесь.

[ Материалы по Derby.js ]
Tags:
Hubs:
+4
Comments 30
Comments Comments 30

Articles