次のフレームワークのリストから、リッチWebアプリケーションを開発するためにどのフレームワークを使用しますか。また、他のフレームワークよりもなぜそれを選択するのでしょうか。
Sproutcore GWT ExtJS GXT SmartGWT Dojo /DijitFlexカプチーノGrails
次のフレームワークのリストから、リッチWebアプリケーションを開発するためにどのフレームワークを使用しますか。また、他のフレームワークよりもなぜそれを選択するのでしょうか。
Sproutcore GWT ExtJS GXT SmartGWT Dojo /DijitFlexカプチーノGrails
私は個人的にブラウザの不整合にうんざりしています。他の誰かが問題を解決した場合、私はそれを二度とやりたくない。だから私はカプチーノやqooxdooのようなフロントエンドにもっと興味を持っています。それらはゼロHTMLゼロCSSソリューションです。
これらは、あなたが言及したフレームワークを使用した私の個人的な経験に基づいています。そうです、それは少し偏っています。したがって、他の人が何度も言っているように、あなたの要件を定義し、人々がここで提案したことに基づいて、どれがあなたの要件に合うと思いますか。
これは厳密には意見の問題です。答える人は誰でも個人的に好きなものを持っているので、誰からも決定的な答えを得ることができません。
あなた(またはあなたのチーム)の目的に最適なものを決定するのに十分な時間、それぞれを試してください。
そうは言っても、私はGWTが好きです。他の人はいつも私に同意しません。
私がGWTが好きな理由:
UiBinder
宣言型のHTMLのような構文を使用してUIを記述できます。したくない場合は、SwingのようなUIを書くことに固執していませんGWTをあなたに適さないものにするかもしれないもの:
ExtGWTは私のプロジェクトでうまく機能しました。プレミアムサポートは良好です。
ただし、このプロジェクトは内部使用を目的としており、展開を1つのOS上の1つのブラウザーに制限することができ、ExtGWTのデフォルトの外観や動作を変更するための取り組みは行われていません。
完全にJava内で開発することは、機能が追加されたときにプロジェクトを管理しやすくするのに役立つため、重要な利点です。
私は現在、予想よりもはるかにうまく機能しているgrail/flexハイブリッドアプリに取り組んでいます。私はGWTを見てきましたが、当時はGWTに関する本があまりなく、Swingのようなプログラミング手法を活用することを強調しているようでした。それらをすべて試してみるというコメントに同意します。彼ら全員が持っているhelloアプリを実行し、変更がどれほど難しいか簡単かを測定します。また、ツール(IDE、Maven、CI ...など)のサポートも、すぐに生産性を高めるという点で大きな要因になる可能性があります。
残念ながら、答えは意見が分かれます。最も純粋な形のGWTは目を見張るものではありません。そうは言っても、ExtJsGXTは非常にハンキーなドーリーです。進化するフレームワークで私が直面する主要な問題の1つは、完全に欠陥がないわけではないということです。正しく覚えていれば、GWT 2.0は、新しいレイアウトの一部にCSSスタイルがない状態で出荷されました。過去5日間からExtJs/GXTで問題をトラブルシューティングしようとしています:(、フレームワークは多くのことを難読化します。絶対に堅牢で適切なエラーメッセージを表示するフレームワークを使用します。他の人とは協力していませんが。
ここではGrails+ExtJSを使用しています。慣用的なExtJSアプリケーションを作成しようとしているため、Grailsは十分に活用されていませんが、サーバー側の部分に、たとえばJSPの代わりにGrailsを使用することは理にかなっています。
ExtJSが選ばれる理由:GUIのようなWebアプリケーション用の非常に豊富なツールキットだからです。私たちの仕事は古いMotifGUIを置き換えることなので、これがまさに私たちが必要としているものです。
なぜGrails:それは仕事を簡単かつ迅速に終わらせるからです。ExtJS部分との通信には、多くのJSONが必要であり、Grailsでは次のようになります。
import foo.bar.FooBar
class FooBarController {
def viewFooBars = {
def list = FooBar.getList(session.userId, params.foo, params.bar)
def result = [resultset: list] as JSON
response.setHeader('Content-disposition', 'filename="json"')
response.contentType = "text/json";
render result
}
}
そして、それは必要以上に2、3行です...
道場をお勧めします。
Dojo 1.6は、提供する大規模なインフラストラクチャに加えて、ClosureCompilerのAdvancedモードで正常に使用できる最初の(そして唯一の)人気のあるJavaScriptライブラリであり、サイズ、パフォーマンス、難読化のすべての利点があります。 Google独自のクロージャーライブラリ、つまり。
言い換えれば、Dojoを使用するプログラムは、ライブラリ自体でさえ、100%難読化される可能性があります。
コンパイルされたコードは、プレーンテキストコードとまったく同じ動作をしますが、はるかに小さく(ミニファイアの平均25%)、実行速度がはるかに速く(特にモバイルデバイスで)、リバースエンジニアリングがほとんど不可能です。コードベース全体(ライブラリを含む)が難読化されているため、ビューティファイア。
「縮小」されたコード(YUIコンプレッサー、Uglifyなど)は、美化機能を通過した後、簡単にリバースエンジニアリングできます。
ExtJsは、複雑なWebアプリケーションの作成に最適です。APIは、Webアプリで想像できるすべてのものを提供し、しばらくするとコンポーネントを簡単に拡張できます。
それを任意のバックエンド(djangoまたはphpを使用)にプラグインして、いくつかの異なるアプリケーションで任意のコンポーネントを再利用または拡張できます。
あなたはそれに快適に感じるために数ヶ月を必要とします。私見では。
とは言うものの、ウェブサイトのような単純なuiにはlibが少し遅すぎることがあります(その場合はExtCoreを使用できます)。しかし、webappsに関しては、これは問題ではありません。
私はJavaの人ではないので、GWTは私にとってオプションではありませんでした:/
お役に立てれば