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