2014-01-15 2 views
2

Я хотел бы создать викторину с дротиками. Checkboxes, radioobuttons, dropdownmenu, inputfields, ...Создайте викторину с полимером или угловой?

Кроме того, я хотел бы загрузить викторину из базы данных, отобразить ее на веб-сайте и сохранить также результаты конкретного пользователя в базе данных. Redis или mysql.

Большой вопрос для меня: Должен ли я использовать polymer.dart или angular.dart? Оба могут сделать это, но что будет очевидным выбором?

ответ

6

Полимерные и угловые могут выглядеть очень похожими, потому что они оба имеют шаблоны и привязку данных, но на самом деле они совершенно разные.

Полимер на самом деле не является полноценной инфраструктурой приложений, так как он является основой для создания пользовательских элементов W3C 1. Он опирается на новые, предстоящие и надежные стандарты, такие как Shadow DOM, Object.observe, Наблюдения за мутациями, Scoped CSS, элемент, привязка к шаблонам, Node.bind(), пользовательские элементы и HTML-импорт и в основном упрощают их совместное использование для создания пользовательских элементов. Вам вообще не нужно использовать Polymer для создания пользовательских элементов, это было бы просто утомительно. Проект Polymer также построил полисы для этих стандартов, поэтому иногда сложно понять, какие части являются фактической «полимерной» частью. В Dart-land это только вещи в полимерной упаковке, в основном класс Polymer, все остальное в пакетах, таких как наблюдение, template_binding или уже интегрированное в дротик: html, например Shadow DOM.

После того как вы внедрили пользовательский элемент в Polymer, пользователи элемента не обязательно должны знать о Polymer, это детали реализации. Возможно, им потребуется знать о персонализированном обновлении элементов или Node.bind(), но не в Polymer. На самом деле, Polymer настолько сосредоточен на элементах, что на самом деле не существует такой вещи, как «приложение для полимеров», есть только приложение, построенное из пользовательских элементов, которые, как оказалось, реализованы с помощью Polymer, но они могут так же легко быть реализована с библиотекой X-тегов Mozilla [2]

Угловая определенно более полнофункциональная и то, что я бы назвал «инфраструктурой приложения», а не как пользовательскую структуру элементов. Он предоставляет директивы (поведение mixin для узлов), инъекции зависимостей, всевозможные сервисы, такие как http и routing, и имеет всю эту изменчивую унаследованную идею объема, которая пронизывает приложение и имеет глобальное состояние, среди прочего, я, вероятно, отсутствует. Угловые в настоящее время не помогут вам создавать пользовательские элементы, вместо этого вы создаете угловые компоненты, которые работают в приложениях с угловыми углами.

Угловое приложение может использовать полимерные элементы, поскольку полимерные элементы - это просто элементы. Одностороннее связывание данных должно работать [3], а для двусторонней привязки данных требуется либо настраиваемая директива (использовать Object.observe или Node.bind для прослушивания изменений свойств), либо для Углового, чтобы добавить поддержку узла. bind(), что позволило бы Угловой в общем двустороннем связывании с любым элементом, от s до полимерных элементов, до элементов X-Tag.

В конце концов, я не думаю, что между ними существует справедливое сравнение яблок с яблоками, а перекрытие меньше, чем может показаться на поверхности, потому что люди, похоже, слишком завышают, насколько велики Полимер - это или как недооценивать, насколько велика Угловая, или, может быть, они не знают различий в философии. Я полностью ожидаю, что в будущем появятся больше угловые структуры, которые будут построены поверх пользовательских элементов, которые будут более сопоставимы с Angular, чем Polymer, и Polymer по-прежнему будет хорошим способом, среди других вариантов, реализовать элементы.

SOURCE

2

Я много работал с полимером (https://github.com/ErikGrimes/polymer_elements, https://github.com/ErikGrimes/polymer_ui_elements) и работал на веб-приложение на основе полимера. Мне очень нравится создавать приложения из компонентов.

Недавно я погрузился в AngularDart. Угловой позволяет создавать компоненты тоже.

В текущем состоянии я бы сказал, что я считаю Угловое более легким. Не все должно быть компонентом, есть более легкие конструкции (directcitve, controller) Иерархическая область легко позволяет подключить все.

Мне еще предстоит сделать более продвинутые вещи (как я уже делал с Полимером), чтобы узнать ограничения Углового и быть в состоянии сделать честный компаньон.

У обоих есть еще какие-то сбои и ограничения и все еще до 1.0 , но оба уже позволяют создавать дополнительные приложения и, как отметили @Nidzaaa, их можно использовать в сочетании.

Смежные вопросы