Я некоторое время пользовался jQuery (и некоторыми из его второстепенных плагинов). Код Javascript, который я разрабатывал на протяжении многих лет, лучше всего можно описать как ... беспорядочный. Здесь и там использовалось множество глобальных переменных и функций, не использовались ни стандартные способы организации кода, ни какие-либо шаблоны проектирования.
В настоящее время я создаю новую версию веб-сайта, и я завершил создание бэкэнд с шаблонами PEAR :: MDB2 и Smarty . Остальное - это просто доморощенный PHP с некоторыми классами.
Теперь я подошел к тому моменту, когда я добавлю слой Javascript поверх веб-сайта, чтобы сделать некоторые функции более удобными для пользователя. (убедившись, что все ухудшается изящно). Я хочу писать лучше, чище и организованнее, чем раньше, поэтому провел небольшое исследование. Я прочитал Объектно-ориентированный Javascript Стефанова, чтобы лучше понять некоторые концепции, о которых я плохо знал (прототипы, конструкторы и т. Д.). Теперь я застрял в точке, где мне интересно, какие фреймворки Javascript мне следует использовать и как все это организовать.
Проведя свое исследование, я понял, что Cappuccino & Objective-J и Sproutcore - не то, что я искал. Процитируем страницу «О нас» Капучино:
Капучино не предназначен для создания веб-сайтов или придания существующим сайтам большей «динамичности». Мы считаем, что эти цели слишком далеки от целей разработки приложений, чтобы их можно было удовлетворить с помощью единой платформы. Такие проекты, как Prototype и jQuery отлично справляются с этими задачами
. Затем я узнал о Coffee Script , который больше похож на «компилятор» один-к-одному и не поможет мне с фактической организацией моего кода.
Я также наткнулся на некоторые статьи, в которых даются рекомендации:
Я также узнал о Backbone.js , Shoestring , JavaScriptMVC ], Загрузчик Google , Инструменты jQuery , Пользовательский интерфейс jQuery . Я действительно не знаю, что со всем этим делать ... То, что я знаю:
Прямо сейчас я бы использовал jQuery и jQuery Tools и «организовал» все это в простом пространстве имен / объектном литерале с простыми свойствами и методами, а также, поскольку сайт локализован, я просто планирую при использовании простого vsprintf (как я делаю на бэкэнде) с парами ключ: значение, загруженными из литерала объекта, предоставленного бэкэндом. JavaScriptMVC кажется интересным, но я боюсь, что это слишком усложнит проект довольно небольшого размера. Вот где мне нужен ваш совет! Заранее большое спасибо.