web-dev-qa-db-ja.com

GoogleのPolymer完全に機能するフロントエンドフレームワークを代替するOR他のフロントエンドフレームワークを補完しますか?

問題は、AngularJS、BackboneJS、EmberJS、およびその他のフレームワークに関するものです。

プロジェクトをphpからjavascriptに翻訳する必要があり、使用するかどうかを決定する必要があります。

  1. AngularJS
  2. Polymer
  3. それらの組み合わせ

私はPolymerを気に入っています。

それでも、私は次のことを行う能力を失っています(そして私が間違っている場合は私を訂正します)。

  1. ビューとそれらの間のリンク(Angualarのように)
  2. コントローラー

アプリケーションの構築方法については、構造が私次第であることは知っていますが、angularjsにはmvcアプリケーションを構築するための事前定義された構造があるようです。

したがって、私は知りたいです:うまく構造化されたWebアプリケーションを構築したい場合は、Angularの代わりにPolymer asubstituteまたはPolymercomplementaryライブラリが他の既存のフレームワークに沿って使用されますか?

編集21.09.2014誰も私の満足のいく質問に本当に答えなかったので、私はまだ答えられていないとしてマークしました。多くの人がそれを単に「依存する」と言います。しかし、それが何に依存するのかについては、誰も詳しく説明することはできません。

アプリケーションの複雑さについて?アプリケーションのニーズについては? Polymerはどのようなニーズに適合し、どれに適合しないのですか?これらは私が探していた答えです。

フロントエンドフレームワークとして使用できると言う人もいます。それは単なる図書館だと言う人もいれば、「はい、いいえ」と言う人もいます。残念ながら、かなりわかりにくい答えです。

これに対する公式の回答があったらよかったのですが、私の気持ちは何ですか。これは代替手段だと思いますが、Polymerはまだ構造に到達しておらず、他のフレームワークが機能する必要があります。これは意図的なものかもしれませんし、未熟な成熟度の問題かもしれません。フレームワークは新しいです。

AngularJSを使用するのが最適な場合と、大規模でスケーラブルなWebアプリケーションを構築するためにPolymer)を使用する必要がある場合について、作成者が説明してくれることを願っています。

2015年8月15日編集

ポリマー1.0が出ました。そして、Polymerは公式にはフレームワークではなく、他のフロントエンドフレームワークとcomplentaryの方法で機能することになっています。 。 https://youtu.be/fD2As5RmM8Q?t=6m42s

33

私見はどちらも2つの異なるものであり、どちらも2つの異なる目的を果たします。提供する共通の機能がいくつかありますが、データバインディングもその1つです。

ポリマー

本当にAwesomeを使用したい場合 Webcomponents 、Polymerはそれを実現する1つの方法です。VanillaJSを使用する、または他の X-Tag from Mozillaまたは Bosonic のようなライブラリ。これらのライブラリは、まだドラフト状態にあるWebコンポーネント機能をポリフィルします。したがって、これらのライブラリは、同じユーザーエクスペリエンスを提供/提供するのに役立ちます。 Webコンポーネントのネイティブサポートがない場合でも、ブラウザ間で。

Angular

これは本格的なMVCフレームワークです。そして、ここの人々は、Angular MVCフレームワークが何を含む/提供するのかを知っています。

それはすべてあなたの質問に答えると言われています

GoogleのPolymerは完全に機能するフロントエンドフレームワークではなく、代替として使用できますOR他のフロントエンドフレームワークの補足です。これは、 Angular as VMVC部分。人々がReact as Vをさまざまなフレームワークで使用するように。それは私にとってそれほど大きなケースではありません。Angularの場合はより具体的に言えば、Polymerはdirectives in Angular 1。 xは、今後のAngular 2.xでcomponentsのようになります。


参照

私が話していることをより確実にするため、およびPolymer with Angular2(Angular2はこの日付までリリースされていません))

したがって、私の見解では、これら2つのプロジェクトは互いに競合していません。


Webcomponent Specs

Webコンポーネントの仕様は参考のためにここにあります

Webコンポーネントが 常緑のブラウザ できるだけ早くネイティブであることを願っています。

10
dopeddude

ポリマースターターキット から: "フレームワークフリー、またはフレームワーク互換要素からアプリを構築するか、接続しますビジネスロジックを処理するための外部フレームワーク。それはあなた次第です!」

更新:炭素要素として説明されたものは次のように分類されます:

Polymer(バージョン2)App Toolbox

  • PolymerおよびWebコンポーネントを使用するコンポーネントベースのアーキテクチャ。
  • アプリのレイアウトコンポーネントを使用したレスポンシブデザイン。
  • 要素を使用したモジュール式ルーティング。
  • <app-localize-behavior>によるローカリゼーション。
  • アプリストレージ要素を使用したローカルストレージのターンキーサポート。
  • サービスワーカーを使用した、プログレッシブエンハンスメントとしてのオフラインキャッシュ。
  • 複数の方法でアプリの提供をサポートするツールを構築します。サーバープッシュを使用してHTTP/2経由で配信するためにバンドル解除し、HTTP/1経由で配信するためにバンドルします。

フレームワーク機能を追加するCarbonElements

The Polymer Summit 2015 Keynote の間に、Googleは新しい「Polymerの慣用的でフレームワーク指向の」要素のセットを発表しました、暫定的にカーボン要素と名付けられました。

Angular 2 vs Polymer Carbon : "Webプラットフォームを次のように考えるのがコツです)に関する長いtjsavageの回答からの引用アプリケーションフレームワーク... Polymer炭素要素は、Webプラットフォーム自体をアプリケーションフレームワークとして使用するため、ライブラリはWebコンポーネントコンポーネントモデルに対して行われます。 :意欲的なRails理解と達成を容易にするため。 "

「Angular2は、優れたアプリケーション構造を構成するものに関するAngularのビューを使用して、アプリケーションを構造化する1つの方法を提供します。カーボン要素は、Webプラットフォーム自体が提供するものを構造的基盤としてより直接的に使用する、アプリケーションを構造化する別の方法を提供します。 「」

5
RationalDev

ポリマーはほぼ完全に機能します。 現在、たとえばルーティングがありません しかし、これは、Polymerでこれを実行できないという意味ではありません。

現在あります https://elements.polymer-project.org/elements/app-route

Dartでは、依存性注入はタイプのためにPolymerで正常に機能します。Dartで可能であれば、DartがJSに変換されるため、JSでも可能です。プレーンJSのDIはもっと面倒かもしれませんが。

このパッケージ(Dart) https://github.com/bwu-Dart/bwu_polymer_routing Angular.Dartで使用されるルーティングパッケージとDIパッケージをPolymerで使用できるようにしました。 Polymer.jsのルーティングパッケージも利用できます。

3

ルーターのデモをいくつかまとめました。 「不足している部分」は、実際には、構築しているアプリケーションのタイプによって異なります。

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

2
Erik Ringsmuth

私はこれを、別のフレームワークで記述されたアプリの拡張機能として、またページ上のすべての要素を担当する完全なフレームワーク自体として使用しました。

私はPolymerのほとんどすべてが本当に好きなので、アプリ全体で使用でき、独自のルーターを作成することもできてとても満足しています。既存のアプリをお持ちの場合は、つま先を水に浸すことをお勧めします。Polymerは、他のアプリと組み合わせて使用​​すると、好みに合っているかどうかを確認できます。

2
Peter Burns

これをもう一度試してみましょう:

Webコンポーネント(つまりポリマー)の背後にある鍵は、それらが自己完結型であることです。どこかにWebコンポーネントがあり、それをインポートすると、(運が良ければ)どこから来ても機能します。 Webコンポーネントは、他のコンポーネントに干渉しません。したがって、MVCのようなことはPolymersのビジネスではありません(データバインディングメカニズムを提供します)。これは、物事を結び付けるプロセスに属しているためです。このようなことは、イベントを作成して反応する新しい要素を作成することによっても解決されることがベストプラクティスであると考えられています。モデルに関しては、テンプレートを持たない/必要としない非ビジュアルWebコンポーネントをコーディングします。 TodoMVCには、そのための(古い)例があります( https://github.com/tastejs/todomvc/tree/gh-pages/examples/polymer )。

したがって、Angularは、MVVMを実行する方法をたどるパスを提供しますが、Polymerを使用するときにアプリで「ロジック」を実行する方法はあなた次第です。IMHOAngularはより複雑で囲まれたアプリ用ですが、PolymerはWebを含むあらゆる種類のアプリ用です。まったくアプリ;)

1
st_efan