Какой js-фреймворк выбрать?

Есть небольшое приложение. Лапша из jQuery/Bootstrap, бэкенд — типа самопальный JSON-RPC-сервер на PHP, данные в MySQL. Формы на весь экран, постраничный вывод, фильтры по нескольким полям, в базе есть многие-ко-многим, древовидные справочники.
Пока оно еще небольшое, захотелось сделать по уму. Готов (даже предпочел бы) перейти с PHP на Node.js
С неделю покурил интернет, никак не определюсь. Angular точно не нравится — много магии, сложности с отладкой. Backbone — вроде как классика, но много делать самому, боюсь опять в лапшу скатиться. Backbone+Marionette? Видел, кстати, что у бэкбона проблемы с вложенными моделями, а у меня оно точно есть. React с виду нравится, но это ж не полный фреймворк. Курить Flux? Выглядит словно там все через события, тоже тот еще отладочный ад.

За что хвататься-то, all?

UPD: Выбрал Ember, курю доки. Переписывать с нуля не захотел, пытаюсь врезать в приложение по частям.
  • Вопрос задан
  • 3138 просмотров
Пригласить эксперта
Ответы на вопрос 8
Kaer_Morchen
@Kaer_Morchen
Разрабатываю web-приложения.
Ember.js - для крупных веб-приложений хороший выбор. Еще вроде в тренде React.js

В пользу Ember.js:
ember-data - поддержка моделей (в том числе со связями, 1коМ, МкоМ, полиморфные), получение и синхронизация от API, jsonapi.org
ember-easy-form - для форм
ember-validations - для валидации
Ответ написан
javascript
@javascript
Попробуйте www.ember-cli.com — это просто, удобно и быстро
Ответ написан
Комментировать
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Берите Backbone + (rivets.js|ractive.js). Если вы уверены, что это именно вложенные модели (со связями многие ко многим, многие к одному), то Backbone.Relational, а если просто вложенные атрибуты, то https://github.com/afeld/backbone-nested или https://github.com/powmedia/backbone-deep-model.
Ответ написан
saggid
@saggid
Веб-Программист
Есть еще такой небольшой и прикольный фреймворк, как Riot. Мне он очень понравился, когда я с ним игрался. Позволяет в очень простой форме описывать JS-компоненты, при этом HTML и JS код лежат прямо рядом друг с другом (это то достоинство, которым хвалится React). Но при этом Riot в несколько раз проще остальных фреймворков, чем и хвалятся его авторы.

И ведь не всегда обязательно держать в памяти какие-то полноценные модели. Можно просто генерировать объект данных на PHP/другом серверном языке, а потом передавать его в виде JSON своему JS-компоненту при инициализации, который уже впоследствии сгенерирует, например, нужную форму и предоставит возможность отправить её данные на нужный URL.
Ответ написан
zo0m
@zo0m
full stack developer
Не знаю, чем вам Ангуляр не угодил, по моему самый вменяемый фреймворк. Сейчас вышла вторая версия, там все еще круче и проще: angular2.com
Единственно что документации еще нет, и судя по тому что говорил чувак в видео пока не особо предвидится.

П.С. да вы только поглядите как клево для него оформили бестпрактисы : trochette.github.io/Angular-Design-Patterns-Best-Practices
Ответ написан
@constantant
Если у вас небольшое приложение, то никакого смысла во фреймворках нет, в них вообще смысла нет :)
Пишите нативно с использованием простых библиотек. Старт, конечно, будет подольше чем на фреймворке, зато поддержка будет максимально быстрой и эффективной, да ещё и не нужно будет, в случае необходимости, искать специалиста со знанием пресловутого фреймворка.
Ответ написан
deMone
@deMone
Техдиректор — tech-director.ru
Берите meteor.com =)
Ответ написан
Комментировать
@agnislav
JavaScript разработчик
Для небольших приложений Ангулар - самое оно. Позволяет именно писать приложение, пользуясь кучей готового функционала, не отвлекаясь на написание кода. Отладка - удобная. Бэкбон - он именно, что "костяк" - задаёт структуру, но много надо писать ручками. Насчёт эмбера не скажу, не юзал, но многие его считают прямым конкурентом ангулару.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы