Моя цель - перенести существующее веб-приложение в одностраничное приложение RESTful (SPA). В настоящее время я оцениваю несколько фреймворков веб-приложений Javascript.
Мои требования следующие:
- Уровень данных RESTful (например, ember-data)
- MV * -структура
- Динамические маршруты
- Тестирование-поддержка
- Кодирование по соглашению
- SEO-поддержка
- Браузер-История-Поддержка
- Хорошая (API-) документация
- Готово к производству
- Живое сообщество
Магистраль
Текущее приложение использует backbone.js
. В целом, backbone.js
это хороший проект, но мне не хватает четко определенных структур, которые определяют, где что должно происходить и как все должно быть реализовано. Работа в более крупной команде с меняющимися разработчиками приводит к некоторому неструктурированному коду, который трудно поддерживать и трудно понять. Вот почему я сейчас ищу фреймворк, который уже определяет все это.
Ember
Я заглянул в ember.js
последние дни. Мне этот подход кажется очень многообещающим. Но, к сожалению, код меняется практически ежедневно. Так что я не буду называть его готовым к производству. И, к сожалению, мы не можем дождаться версии 1.0. Но мне очень нравится идея этого фреймворка.
Угловой
Angular.js
также широко распространенный фреймворк, поддерживаемый Google. Но с angular я так и не познакомился. Для меня структура кажется неясной, отсутствуют объяснения общих обязанностей каждой части фреймворка, а реализации кажутся окольными. Чтобы прямо сказать: это всего лишь мое личное впечатление и может быть основано на недостающих знаниях.
Бэтмен и Метеор
Как я понял, обеим фреймворкам тоже нужна серверная часть. А поскольку нам просто нужен бэкэнд RESTful - независимо от языка, техники или программного обеспечения, это не то, что мы хотим. Кроме того, серверный API уже существует (RoR).
Нокаут , CanJS и Spine
Я не стал углубляться в этих трех кандидатов. Может быть, это будет мой следующий шаг.
Итак, мои вопросы сейчас:
- Не хватает хороших SPA-фреймворков?
- Какую структуру вы бы предложили / порекомендовали?
- Вы бы избегали любой из упомянутых фреймворков?
- Каков ваш опыт работы с более крупными приложениями SP?
PS: Я хотел бы порекомендовать отличный пост в блоге от Стивена Андерсона (основного разработчика Knockout.js) о конференции «Трон JS» (с 2012 года) и фреймворках javascript в целом.
PS: Да, я знаю, что уже есть вопросы по SO. Но поскольку SPA-центры развиваются очень быстро и быстро, большинство из них уже устарели.