Javascript: как разобраться во всех фреймворках и философиях дизайна?

Я некоторое время пользовался jQuery (и некоторыми из его второстепенных плагинов). Код Javascript, который я разрабатывал на протяжении многих лет, лучше всего можно описать как ... беспорядочный. Здесь и там использовалось множество глобальных переменных и функций, не использовались ни стандартные способы организации кода, ни какие-либо шаблоны проектирования.

В настоящее время я создаю новую версию веб-сайта, и я завершил создание бэкэнд с шаблонами PEAR :: MDB2 и Smarty . Остальное - это просто доморощенный PHP с некоторыми классами.

Теперь я подошел к тому моменту, когда я добавлю слой Javascript поверх веб-сайта, чтобы сделать некоторые функции более удобными для пользователя. (убедившись, что все ухудшается изящно). Я хочу писать лучше, чище и организованнее, чем раньше, поэтому провел небольшое исследование. Я прочитал Объектно-ориентированный Javascript Стефанова, чтобы лучше понять некоторые концепции, о которых я плохо знал (прототипы, конструкторы и т. Д.). Теперь я застрял в точке, где мне интересно, какие фреймворки Javascript мне следует использовать и как все это организовать.

Проведя свое исследование, я понял, что Cappuccino & Objective-J и Sproutcore - не то, что я искал. Процитируем страницу «О нас» Капучино:

Капучино не предназначен для создания веб-сайтов или придания существующим сайтам большей «динамичности». Мы считаем, что эти цели слишком далеки от целей разработки приложений, чтобы их можно было удовлетворить с помощью единой платформы. Такие проекты, как Prototype и jQuery отлично справляются с этими задачами

. Затем я узнал о Coffee Script , который больше похож на «компилятор» один-к-одному и не поможет мне с фактической организацией моего кода.

Я также наткнулся на некоторые статьи, в которых даются рекомендации:

Я также узнал о Backbone.js , Shoestring , JavaScriptMVC ], Загрузчик Google , Инструменты jQuery , Пользовательский интерфейс jQuery . Я действительно не знаю, что со всем этим делать ... То, что я знаю:

  • Я не хочу тратить слишком много времени на изучение чего-то слишком сложного, я хочу, чтобы вещи оставались простыми и гибкими. возможно (вот почему я, например, не использую Symfony на бэкэнде), но чистый и организованный.
  • Я хочу использовать jQuery, вопрос в том, что мне с ним использовать? (это тоже совместимо)

Прямо сейчас я бы использовал jQuery и jQuery Tools и «организовал» все это в простом пространстве имен / объектном литерале с простыми свойствами и методами, а также, поскольку сайт локализован, я просто планирую при использовании простого vsprintf (как я делаю на бэкэнде) с парами ключ: значение, загруженными из литерала объекта, предоставленного бэкэндом. JavaScriptMVC кажется интересным, но я боюсь, что это слишком усложнит проект довольно небольшого размера. Вот где мне нужен ваш совет! Заранее большое спасибо.

23
задан Sisyphus 3 June 2011 в 05:33
поделиться