Существуют ли клиентские JavaScript MVC (микро) фреймворки?
У меня довольно сложная форма HTML, и она будет полезна из шаблона MVC.
Я полагаю, что хорошее решение могло бы обеспечить следующее:
- Model и View обновляют контроллер при изменении значений (шаблон Observer)
- Заполните модель из данных формы при загрузке страницы
- Заполните форму из модели при изменении модели
Аякс, комета, JSONP и весь этот джаз - это серьезное излишество.
javascript
model-view-controller
forms
nicholaides
источник
источник
Ответы:
Магистраль - отличный легкий каркас. Попробуйте: http://backbonejs.org/
источник
JavaScriptMVC - отличное решение. Это все, что плагин подход позволяет вам выбирать только те функции, которые вам нужны. Начиная с версии 2.0 он основан на jQuery.
Что касается постепенного улучшения вашего сайта, это остается за пользователем, поскольку JMVC предоставляет лишь средний уровень для разработки - вы сами можете сделать этот выбор дизайна.
Однако JavaScriptMVC - просто лучшая библиотека JavaScriptMVC общего назначения из-за ее мощных контроллеров, основанных на делегировании событий.
Делегирование событий позволяет вам избежать необходимости прикреплять обработчики событий и просто создавать правила для вашей страницы.
Наконец, JMVC - это намного больше, чем архитектура MVC. Все части цикла разработки покрыты:
источник
У Spine есть API, похожий на Backbone, но он намного меньше. Он имеет прототип наследования.
источник
AngularJS хорошо работает вместе с jQuery и поможет вам со структурой MVC и строгим разделением задач.
Полная среда тестирования и внедрение зависимостей включены ...
Проверьте это на http://angularjs.org
источник
Действительно, есть: http://www.javascriptmvc.com/
Я думаю, вы найдете это достаточно!
источник
Я думаю, что это выглядит как то, что вы должны проверить: http://knockoutjs.com/
(Как программист silverlight / wpf именно эта библиотека заставила меня наконец начать изучать javascript. Она основана на шаблоне Model-View-View-Model (MVVM), поскольку для меня сейчас это хороший выбор!)
источник
Есть популярный Backbone.js
источник
ember.js
Вот три функции, которые делают Ember радостью использования:
Наручники
Используйте привязки, чтобы синхронизировать свойства двух разных объектов. Вы просто объявляете привязку один раз, и Ember обеспечит распространение изменений в любом направлении.
Вот как вы создаете привязку между двумя объектами:
Привязки позволяют вам спроектировать ваше приложение, используя шаблон MVC (Model-View-Controller), а затем спокойно, зная, что данные всегда будут правильно передаваться от слоя к слою.
Вычисленные Свойства
Вычисленные свойства позволяют вам рассматривать функцию как свойство. Вычисляемые свойства полезны, потому что они могут работать с привязками, как и любое другое свойство.
Автообновление шаблонов
Ember использует Handlebars, семантическую библиотеку шаблонов. Чтобы взять данные из вашего приложения JavaScript и поместить их в DOM, создайте тег и поместите его в свой HTML, где бы вы ни хотели видеть значение:
источник
Stapes.js
Полное раскрытие: я автор этой библиотеки :)
Если вы ищете что-то действительно крошечное (1.5kb minified / gzipped), посмотрите, и скажите мне, если вам это нравится.
источник
new
оператора). То , что кажется ненужным является еще однимeach
иmap
. У меня уже есть они в Underscore.js и jQuery .Если ваши требования действительно просты, вы можете написать свой собственный простой MVC, как Алекс Неткачов .
Его примеры построены на dojo (Примечание: они не работают для меня на его странице из-за отсутствия файла dojo.js), но вы можете следовать шаблону в простом Javascript.
источник
Это, вероятно, излишне для того, что вам нужно, но SproutCore - это инфраструктура MVC, и она не выглядит более тяжелой, чем JavaScriptMVC или TrimPath Junction .
К сожалению, ни один из них, кажется, не построен на принципе прогрессивного улучшения .
источник
Популярная платформа ActionScript MVC PureMVC была недавно портирована на JavaScript. У меня еще не было возможности попробовать это, но я уверен, что это хорошо.
источник
Пожалуйста, также проверьте jquery-claypool .
jquery-claypool - это небольшая, быстрая, рельсовая инфраструктура mvc, построенная на jquery, основанная на моем опыте работы с django, rails, spring и т. д. Она очень легкая и работает как на клиентских, так и в серверных средах.
это обеспечивает структуру маршрутизации для чистого mvc, регистрации категорий, фильтров (aop), ленивого создания контроллеров, инверсии управления, соглашения по конфигурации и не намного больше по дизайну.
он не делает ничего, что jquery уже делает, ощущается как jquery и работает как хорошая структура: просто.
JQuery-Клейпул
Надеюсь, вы это проверите.
источник
Джамал - самый легкий из всех, кого я видел. Он также основан на jQuery (бонус). Не использовал.
http://jamal-mvc.com/
источник
Если вы хотите держать вещи под контролем и быть достаточно простыми, вам может не понадобиться интегрированная среда, а просто реализовать собственный шаблон mvc. Просто проверьте эту статью: модель-представление-контроллер (MVC) с JavaScript от Алексея Неткачова в 2006 году.
источник
Вот список всех JavaScript-фреймворков с открытым исходным кодом, известных человечеству.
http://getopensource.info/explore/javascript/framework/
Или только рамки MVC
http://getopensource.info/explore/javascript/mvc/
Раскрытие информации: я разработчик этого сайта.
источник
Попробуйте котенка . Это всего лишь 1,4 КБ, и его единственной зависимостью является EJS.
источник
ОБНОВЛЕНИЕ 2016: Sammy.js, кажется, заброшен.
Посмотри на Sammy.js
Текст с сайта:
Небольшая вебкамера с классом.
источник
Я бы не назвал это микро -framework, но он уверен , выглядит интересно: Cappuccino Web Framework
источник
CorMVC, легко понять и начать, основанный на jquery и не зависит от какой-либо серверной технологии
источник
Я разработал очень простую инфраструктуру Javascript MVC под названием MCV . Он не делает именно то, что вы просите, но его легко расширить с помощью помощников. Во всяком случае, это определенно микро (1,9kb упакованы).
Это работает более или менее как Джамал, но я решил свернуть свой собственный по двум причинам:
источник
Просто чтобы сделать список немного более полным: ActiveJS
источник
Я проголосовал за AngularJS (полное раскрытие, я ограниченно вовлечен в усилия по разработке угловых приложений) и очень рад этому. Я провел параллельное сравнение, взяв одну функцию для внутреннего проекта (извините, у меня нет подписи, чтобы поделиться ею) и реализовав ее как в AngularJS, так и в Backbone. Это было отличное упражнение, и в итоге я очень сильно склоняюсь к Angular. Разработчики ядра прекрасно умеют отвечать на вопросы, и они проделали отличную работу со встроенной привязкой данных, тестированием модулей / e2e и документацией. Это все еще в бета-версии с 1.0, выходящим в ближайшем будущем. Бета очень стабильная.
Существует некоторая смена парадигмы, и они используют совершенно иной подход, чем большинство. Интеграция ваших любимых плагинов jquery требует немного усилий, но выполнима и уже выполнена (angular-contrib на github).
Я скажу (а это проблема для большинства js-centric-фреймворков), обязательно изучите, как сделать ваш контент SEO-дружественным (если это важно для вас). Со времени присоединения к сообществу angular в июне я заметил, что интерес растет, и многие люди публикуют сообщения о том, что они смотрели на Backbone и других, но им действительно нравится то, что они видят в Angular.
источник
Maverick - это небольшой JavaScript MVC-фреймворк - http://maverick.round.ee
источник
Я тоже собираюсь здесь разобраться - AFrameJS работает с jQuery, MooTools и Prototype.
источник
Еще один: MooTools-MVC
источник
Существовал JavaScript-фреймворк привязки ключ-значение под названием «Coherent», который был вдохновлен Apple Cocoa Bindings. Каркас был куплен Apple, но все еще есть старая копия на http://github.com/trek/coherentjs/tree/master .
источник
Попробуйте эту основанную на jQuery инфраструктуру javascript MVC .
источник
Еще один, легкий и крошечный: http://jqnano.oleksiy.pro/
источник
Can.js имеет все необходимое и весит всего 8 КБ. Он взял лучшие биты из JavaScriptMVC и превратил его в один маленький, но потрясающий фреймворк с наблюдателями, виджетами, связыванием, работами. Он совместим с основными фреймворками ( jQuery , Dojo Toolkit , MooTools и т. Д.). Документация отличная, и авторы отзывчивы. Это определенно стоит посмотреть.
источник