Разработка → Joosy: альтернативный подход к браузерным фреймворкам

перевод
GearHead 4 июня 2012 в 22:33 15,2k
Оригинал: Boris Staal

Если коротко


Мы разработали новый JS-фреймворк, не похожий на существующие. Он использует новый подход. Мы зовём его Joosy.

Официальный сайт
Руководство для новичков
На гитхабе



Более подробное описание


В наши дни даже ленивые и их бабушки с дедушками делают свои собственные JS MVC фреймворки. Причина этого проста: они действительно нужны. С другой стороны, проблема заключается в том, что все они поголовно копируют Backbone. Конечно, есть ещё Knockout и Ember, которые пошли другим путём, но их всё равно не хватает, чтобы удовлетворить все запросы утончённой аудитории. Другие решения — другие проблемы. Некоторым не нравится Handlebars, другим не подходит общий API, это всего лишь дело вкуса. В конце концов, широта ассортимента ещё никому не вредила.

Полгода назад, во время реализации пары новых проектов, мы решили провести небольшой эксперимент. Мы взяли совершенно новый подход к этой проблеме: представить JS-фреймворк как расширение к серверной части. Он должен быть не абстрагирован от неё, а наоборот быть как можно нежнее с ней связанным.

Чтобы претворить это в реальность, нам пришлось реализовать все привычные Rails-разработчикам вещи и расширить их возможностями, которых в Rails не хватало. Лучшая организация кода, новые конвенции для среды, в которой есть состояние (stateful, в противоположность RESTful stateless сервер-сайду), и многое другое. Мы сделали form-builder, настоящие хелперы, и даже HAML, работающий прямо у вас в браузере.

Теперь, когда прошло некоторое время, и часть из тех проектов уже в бою, мы готовы представить этот эксперимент как зрелый фреймворк с кучей фич, который мы назвали Joosy. Он основан на терминах «вида» из MVC. Pages, Layouts, Widgets, Helpers и шаблонизация. Важно заметить, что он полностью основан на возможностях CoffeeScript. И чтобы лучше прочувствовать этот прекрасный язык, Joosy включает в себя отличную библиотеку Sugar.js. Она создаёт ощущение ActiveSupport и сильно расширяет скудную стандартную библиотеку JS, добавляя сахарку в вашу работу.

В Joosy есть всё, к чему вы привыкли в других фреймворках, но под немного другим соусом. В нём есть роутинг, подобие «моделей» с Identity Map, чёткое структурирование и многое другое, как то: указанный выше ActiveSupport, совместимый с ActiveResource (позволяющий концентрироваться на том, что в браузере модели — в первую очередь связь с сервером, а не бизнес-логика), автогенераторы кода, даже предзагрузка js-файлов в приложение.

Практика показывает: Joosy очень легко овладеть, если вы имели опыт с Rails. Также он хорошо справляется с тем, что другие заявляют: экономит ваше время. Так что вне зависимости от того, показался он вам нужным, или нет, мы просим вас прочитать руководство. У нас есть что-то новое, что мы можем предложить вам, и оно недурно. А потом вы может даже найдёте ему применение :)

P.S.: можете смело задавать вопросы в комментариях, а также в теге joosy на StackOverflow.
Проголосовать:
+34
Сохранить: