Текущая лучшая практика для модульных приложений Javascript - PullRequest
2 голосов
/ 07 ноября 2011

Не хочу начинать флейм:)

Я хочу создать модульное приложение javascript для мобильных устройств (реализация в зеленом поле). Таким образом, требования заключаются в том, что он должен быть относительно легким, поддерживать отложенную загрузку подмодулей на основе решения времени выполнения (например, пользовательских настроек) и иметь минимальные возможности шаблонов и MVC. Связь с бэкендом, вероятно, будет основана на API веб-сокета (если он что-то изменит). Подумайте, например, www.twitter.com, который должен работать внутри Mobile Safari.

Я знаком с jQuery и слышал о множестве новых фреймворков javascript (backbone.js, require.js, zepto.js и т. Д.), Но у меня не было возможности их использовать. Я сомневаюсь, что у меня достаточно времени, чтобы выучить и создать прототип с ними всеми, поэтому я ищу некоторую мудрость сообщества относительно того, что считается лучшей практикой в ​​настоящее время.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 07 ноября 2011

Модульный JavaScript включает две вещи:

  • Написание модульного кода
  • Загрузка модульного кода

Написание модульного кода легко.Все, что вам нужно сделать, это иметь слабо связанный код, который не зависит от глобального состояния и представляет себя как модуль.

Для загрузки модульного кода требуется использование загрузчика модулей.require.js, как вы упомянули, популярен.или вы можете попробовать что-то более новое, например seajs .

Что касается других фреймворков, они вам на самом деле не нужны, но если вы не знаете, как создавать архитектуру JavaScript, тогда я 'хотелось бы сказать, что вы должны использовать zepto и spine.js.

2 голосов
/ 07 ноября 2011

Хорошая структура приложения - ваш друг при кодировании приложений JavaScript. Я взглянул на Spine и Backbone, но в итоге использовал JavaScriptMVC . Основные причины:

  • На основе jQuery (так что каждый плагин jQuery, который вы найдете в Интернете, будет просто прекрасно интегрироваться)
  • Предоставляет способ организации вашего приложения по умолчанию (в соответствии с архитектурой плагина / mvc
  • Продвигает лучшие практики (тестирование и т. Д.)
  • EJS как шаблонизатор
  • Легко расширяемый
  • Чрезвычайно хорошо задокументировано
  • Встроенные средства повышения производительности для генерации кода, сжатия кода, управления зависимостями JS

Может быть, вы могли бы объединить его с мобильным jQuery для удовлетворения ваших потребностей.

Это может удовлетворить ваши потребности, так как:

  • Модульность : создание плагинов / модулей MVC для каждого модуля вашего приложения
  • Отложенная загрузка : Steal (встроенная система управления зависимостями) загружает ваши материалы в зависимости от того, когда к ним обращаются
  • Сжатие : минимизирует ширину полосы путем сжатия файла production.js с помощью компилятора Google Closure.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...