...

четверг, 29 августа 2013 г.

[Из песочницы] Derby.js — новый взгляд на веб-разработку

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

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


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


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


Например: 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 на сервере.

Подробное сравнение здесь.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Комментариев нет:

Отправить комментарий