- PVSM.RU - https://www.pvsm.ru -

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

Если коротко

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

Официальный сайт [1]
Руководство для новичков [2]

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

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

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

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

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

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

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

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

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

Автор: GearHead


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/8903

Ссылки в тексте:

[1] Официальный сайт: http://joosy.ws

[2] Руководство для новичков: http://guides.joosy.ws

[3] Backbone: http://backbonejs.org/

[4] Knockout: http://knockoutjs.com/

[5] Ember: http://emberjs.com/

[6] HAML: http://haml.info/

[7] CoffeeScript: http://coffeescript.org/

[8] Sugar.js: http://sugarjs.com/

[9] ActiveSupport: http://guides.rubyonrails.org/active_support_core_extensions.html

[10] Identity Map: http://en.wikipedia.org/wiki/Identity_map_pattern

[11] ActiveResource: http://api.rubyonrails.org/classes/ActiveResource/Base.html

[12] StackOverflow: http://stackoverflow.com/questions/tagged/joosy