Как JavaScript фреймворк выбрать: AngularJS, EmberJS, Backbone или без под конкретную задачу?

До этого ни работал ни с одним.
Опыт JS 10 лет, по-этому хочется быстро стартануть и сделать задачу. Хотелось бы узнать что лучше подойдет под задачу.

Задача: админка.
Только разделение на страницы и поля различного типа. Никаких списков, ключ-значение, только разная визуализация значения. Причем для каждой страницы он получает поля от сервера.

Загружается меню со страницей, и выбирается самый первый, идет запрос с json(загрузка страницы настроек, lazy load):
[
    { type:'title', title:'Заголовок'},
    { type:'input', title:'Имя', value:23, key:'name' },
    { type:'image', title:'Фото', value:{id:23234, src:'fssdf.jpg', bigsrc:'fdfd.jpg'}, key:'image', desc:'Описание' },
]


Он это все парсит и выводит различные контролы, их может быть до 20.
При сохранении отправляются только измененные value элементов.

Выбранная страница изменяет урл, что при перезагрузке будет грузиться именно она.

Мои мысли.
AngularJS вроде не прост, но конечно он номер один в рассмотрении.
EmberJS больше нравится из-за MVC более явного. Но почему такой большой - 300kb.
Вообще без фреймворка мне тоже нравится, так всегда и делал, классы все что надо и jQuery для DOM, но сейчас хочу сделать по моде и получить выигрыш в разработке, стабильности и поддержке.

Что скажете мне, люди с опытом?
Был бы рад, если у кого-то есть ссылка пример подобных админок, чтобы поглядеть...

Спасибо!
  • Вопрос задан
  • 4006 просмотров
Решения вопроса 3
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Я думаю, Backbone вам даст именно то, что вы хотите - основу, на которой вы сможете работать так, как удобно вам. Он не накладывает никаких ограничений на архитектуру. А если потом решите, что нужно что-то более высокоуровневое, добавите Marionette.
Ответ написан
DigitalSmile
@DigitalSmile
http://brainstorage.me/digitalsmile
Про backbone согласен с Алексей Уколов - если Вам нужно только манипулировать данными, это лучший кандидат ИМХО.
Мне кажется AngularJS Вам стоит применить только если появится бизнес-логика, завязанная на визуальное представление целиком и полностью (читай походы к серверу, роутинг страниц, кастомные виджеты заточенные под бизнес-логику и пр.).
Ответ написан
Комментировать
Kaer_Morchen
@Kaer_Morchen
Разрабатываю web-приложения.
Да ну, какой Angular. Ember.js хорош, но под него желательно заточенный бэкенд работающий по jsonapi.org. Если у вас с этим проблем не будет, берите его.

> EmberJS больше нравится из-за MVC более явного. Но почему такой большой - 300kb.
Уже давно не аргумент, у меня один файл фронтэнда = ember.js + ember-data + все зависимости + ~10 различных плагинов (валидация, авторизация, momentjs и тд.) + предкомпелированные шаблоны всего сайта, весят около 1 мб, но сервер отдает gzip, который пожат раза в 3 и выходит не страшно.

Начать можно с Backbone, но чистый он уже так широко не используется, в любом случае придется изучить что-то серьезней, так что Marionette тоже хороший выбор.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
SowingSadness
@SowingSadness
web-разработчик
AngularJS вроде не прост, но конечно он номер один в рассмотрении.

Он скончался как фреймворк, не успев окрепнуть. Был большой маркетинговый пшик. Ни в каких реальных больших проектах он не используется. Авторы уже его переписывают.

Смотрите в сторону KnockoutJS, он вам идеально подходит. С EmberJS дела не имел.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы