Я с радостью использую JQuery в течение последних 2 лет и довольно успешно создаю с ним действительно классную функциональность ... так что мне это очень удобно. Я также верю, что будущее сети будет продолжаться по текущему пути на стороне клиента.
Тем не мение...
Следующая проблема, похоже, приходит в виде различных каркасов контроллеров: KnockoutJS , BackboneJS , SproutCore , JavaScriptMVC (список можно продолжить ).
Кроме того, есть несколько отличных инструментов AMD Loader для использования, таких как RequireJS или LabJS и т. Д. Однако в jQuery теперь есть define
и встроенныеthen
возможности.
Становится все труднее отслеживать все это ...
И теперь моя задача, похоже, состоит в том, чтобы оценить / принять решение о стратегическом направлении использования какой-либо формы клиентской части инфраструктуры MVC или MVVM ... но у меня так много вопросов.
- Где JQuery подходит для различных платформ контроллеров, упомянутых выше?
- Используется ли JQuery рядом с каждым или у некоторых из них есть своя собственная « версия в стиле JQuery »?
- Есть инструменты , такие как RequireJS все еще необходимо , если вы реализуете одну из различных контроллеров-структур , упомянутых выше?
- Есть ли в
define
иthen
запеченной в возможности JQuery в настоящее время заменяет АМД Loader упоминался выше? - Какой из них кажется наиболее модульным? (см. примечания ниже)
ЗАМЕЧАНИЯ.
Одна вещь, которую я не хочу ни в какой будущей платформе, - это необходимость принимать огромное количество функций, которые я не использую. То есть я бы предпочел использовать действительно модульную структуру. Например, чтобы использовать пользовательский интерфейс jQuery, вам нужно использовать множество других базовых библиотек, которые вы на самом деле не используете.
Я буду экспериментировать с каждым, но некоторые РЕАЛЬНЫЕ отзывы будут отличными. Я видел несколько «похожих» вопросов, но ни один из них не ответил на этот вопрос.
Заранее спасибо!
источник
Я отвечу на JavaScriptMVC, так как я помогаю:
JavaScriptMVC зависит от jQuery и широко его использует.
JavaScriptMVC не имеет конкурирующей функциональности с jQuery. Это не так верно для Backbone, который имеет свою собственную систему событий. Но все, что добавляет позвоночник или позвоночник, очень минимально.
JavaScriptMVC поставляется с системой управления зависимостями -> Steal. Вы можете использовать JavaScriptMVC с RequireJS, но на самом деле кража гораздо мощнее и примерно одинакового размера, загружаемого пользователем.
Это не самоуверенно. JavaScriptMVC чрезвычайно модульный. Вы используете только то, что вам нужно. По сравнению с позвоночником или позвоночником, вы можете использовать его отдельные части M, V или C. При сборке он всего на 1 Кб больше, чем Backbone (при использовании jQuery и Underscore). Вы можете увидеть различные размеры базовых компонентов здесь: https://github.com/jupiterjs/javascriptmvc/issues/26
Но JavaScriptMVC гораздо более мощный (с точки зрения возможностей) по сравнению с Backbone или Spine. Например, это шаблонные обработчики событий, предотвращающие практически все утечки памяти. Вот подсказка, которая скрывается при нажатии на окно:
Это абсолютно важно с подходом MVC, когда ваши элементы управления прослушивают изменения в модели, такие как:
Контроллер автоматически отсоединит все эти внешние обработчики событий.
Несколько других сильных сторон только деталей MVC:
Теперь JavaScriptMVC - это гораздо больше, чем просто части MVC (которые являются частью подпроекта jQueryMX). Она имеет:
Теперь от того, что использовать, многое зависит. Многое зависит от того, делаете ли вы «приложение» или «страницу». Приложение, которое требует тестирования, управления зависимостями, где вы заботитесь об утечках памяти, я бы посмотрел на JMVC или SproutCore.
Если вы склеиваете несколько основных виджетов, я бы посмотрел на позвоночник или позвоночник.
источник