Подтвердить что ты не робот

Является ли Google Polymer полностью функционирующей Frontend Framework для поддержки других дополнений?

Вопрос в том, что касается AngularJS, BackboneJS, EmberJS и других фреймворков.

Мне нужно перевести проект с php на javascript, и я должен решить, буду ли я использовать:

  • AngularJS
  • Полимер
  • Комбинация из них

Я предпочитаю использовать Polymer, потому что мне это нравится.

Тем не менее, мне не хватает (и исправляю, где я ошибаюсь) способность сделать:

  • Виды и связь между ними (например, в Angualar)
  • Контроллеры

Я знаю, что структура зависит от меня, от того, как создать мое приложение, но кажется, что angularjs имеет хорошо определенную структуру для построения mvc-приложений.

Поэтому я хочу знать: является ли Polymer a заменой для Angular, если вы хотите создать хорошо структурированное веб-приложение или библиотеку Polymer , дополняющую, которая будет использоваться по другим существующим структурам?

EDIT 21.09.2014 Никто не ответил на этот вопрос в полном удовлетворении, поэтому я отметил, что он еще не ответил. Многие говорят, что это просто "ЗАВИСИТ". Но никто не может уточнить, на чем именно это зависит.

О сложности приложения? О потребностях приложения? Для каких целей подходит полимер и для чего он не подходит? Это те ответы, которые я искал.

Некоторые говорят, что он может использоваться как интерфейс. Другие говорят, что это просто библиотека, а другие говорят "Да и нет". К сожалению, довольно запутывающие ответы.

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

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

РЕДАКТИРОВАТЬ 15.08.2015

Полимер 1,0 отсутствует. И получается, что Polymer официально не является каркасом и должен работать в complentary с другими интерфейсами. https://youtu.be/fD2As5RmM8Q?t=6m42s

4b9b3361

Ответ 1

ИМХО - это две разные вещи, и оба они должны выполнять две разные цели. Хотя у них есть некоторые общие функции, предлагающие, привязка данных может быть одним из них.

Полимер

Если вы действительно хотите использовать Awesome Webcomponents, Полимер - один из способов достижения этого. Существуют и другие варианты, например, вы можете использовать свой ванильный JS или использовать другие библиотеки, такие как X-Tag из Mozilla или Bosonic. Эти библиотеки polyfill функции веб-компонента, которые все еще находятся в черновом режиме. Таким образом, эти libs помогают нам иметь/предоставлять один и тот же пользовательский интерфейс в браузерах даже там, где нет встроенной поддержки для веб-компонентов.

Angular

Это полноценная структура MVC. И люди здесь знают, что Angular как среда MVC включает/предоставляет.

Все сказанное, чтобы ответить на ваш вопрос

Google Polymer не является полностью полноценной Frontend Framework и может использоваться в качестве дополнения или дополнения к другим Frontend Frameworks. Его можно использовать в качестве замены для части V в Angular как MVC. Как люди используют React как V в разных рамках. Для меня это не совсем другое дело. Будучи более конкретным в случае Angular, Polymer похож на directives в Angular 1.x, в то время как components в предстоящем Angular 2.x.


Ссылки

Чтобы быть более уверенным в том, о чем я говорю, и о дополнительных источниках о том, как использовать Polymer с Angular2 (Angular2, не выпущенным к этой дате)

Итак, на мой взгляд, эти два проекта не конкурируют друг с другом.


Характеристики веб-компонента

Спецификации веб-компонентов приведены здесь для одной ссылки

Я просто хочу, чтобы веб-компоненты были родными для вечнозеленых браузеров как можно скорее.

Ответ 2

Из Комплект для запуска полимеров: " без рамки или без рамки Создайте приложение вне элементов или проводьте во внешней структуре для обработки бизнес-логики. Это зависит от вас! "

Update: То, что было описано как углеродные элементы, похоже, подпадает под:

Полимер (версия 2) App Toolbox

  • Архитектура на основе компонентов, использующая полимерные и веб-компоненты.
  • Отзывчивый дизайн с использованием компонентов макета приложения.
  • Модульная маршрутизация с использованием элементов.
  • Локализация с помощью <app-localize-behavior>.
  • Поддержка "под ключ" для локального хранилища с элементами хранения приложений.
  • Автономное кэширование как прогрессивное улучшение, используя сервис-работников.
  • Сборка инструментов для поддержки вашего приложения несколькими способами: разделение на доставку по HTTP/2 с помощью push-сервера и в комплекте для доставки по HTTP/1.

Углеродные элементы, добавляющие функциональные возможности фрейма

Во время The Polymer Summit 2015 Keynote, Google объявил о новом " политическом идиоматическом и каркасно-ориентированном" наборе элементов, предварительно названный элементами углерода.

Некоторые цитаты из более длинного ответа tjsavage относительно Angular 2 против Полимерного углерода: "Фокус в том, что мы думаем о веб-платформе в качестве рамок приложения... Полимер библиотеки относится к модели компонентов веб-компонентов, поскольку углеродные элементы будут заключаться в использовании самой веб-платформы в качестве рамок приложения: упрямые рельсы, чтобы облегчить понимание и достижение".

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

Ответ 3

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

Теперь существует https://elements.polymer-project.org/elements/app-route

В Dart также инъекция зависимости отлично работает с Polymer из-за типов. Если это возможно в Дарте, это возможно и в JS, потому что Дарт переводится в JS. DI в простой JS может быть более громоздким, хотя.

В этом пакете (Dart) https://github.com/bwu-dart/bwu_polymer_routing Я сделал пакеты маршрутизации и DI, используемые Angular.dart для Polymer. Существуют также пакеты маршрутизации для доступных Polymer.js.

Ответ 4

Я собрал некоторые демонстрации маршрутизаторов. "Отсутствующие части" действительно зависят от того, какой тип приложения вы создаете.

https://github.com/erikringsmuth/polymer-router-demos

Ответ 5

Я использовал его как для расширения, так и для приложения, написанного в другой структуре, и как самого полного фрейма, где он отвечал за каждый элемент на странице.

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

Ответ 6

Позвольте мне дать еще одну попытку:

Ключ к веб-компонентам (и, следовательно, к полимеру) заключается в том, что они являются автономными. У вас есть веб-компонент где-то, вы его импортируете, и (если вам повезет) он просто работает, откуда бы он ни появился. Веб-компонент НЕ будет мешать другим компонентам. Поэтому такие вещи, как MVC, не являются бизнесом Polymers (хотя он обеспечивает механизм привязки данных), поскольку это относится к процессу связывания вещей вместе. Считается лучшей практикой, что такие вещи решаются путем создания новых элементов, которые создают и реагируют на события. Когда дело доходит до модели, вы кодируете невизуальные веб-компоненты, которые не имеют/нуждаются в шаблоне. Для этого TodoMVC имеет (устаревший) пример (https://github.com/tastejs/todomvc/tree/gh-pages/examples/polymer).

Итак, Angular дает вам путь, чтобы следить за тем, как делать MVVM, тогда как вам решать, как делать "логику" в вашем приложении при использовании Polymer. IMHO Angular предназначен для более сложных и довольно закрытых приложений, тогда как Polymer - для любого приложения, которое охватывает веб-страницы. Вы даже можете использовать Polymer, если вы вообще не пишете приложение;)