GWTとかDOJOとかその他何か?
-
01-07-2019 - |
質問
私はマイクロソフトの世界から来ました (そして安心して来ています)。Web アプリのプロトタイプを迅速に作成し、問題がなければ実際に運用したいのですが、ASP.Net は使いたくありません。
ただし、どの Web アプリケーション ツールキットを使用すればよいかわかりません。GWT、DOJO...その他の推奨事項を使用する必要がありますか?私はどんなサーバーサイド言語にもオープンですが、RoR、Php、さらには Java (正確には J2EE) も検討しています。私は Javascript/CSS はあまり得意ではないので、これらの点で比較的簡単に作業できるツールキットが望ましいと思います。
また、私は家ではMacユーザーです。あなたが推奨するフレームワークに適合する IDE は何ですか?
何かお勧めはありますか?
解決
Java を使用することに前向きな場合は、GWT が最適です。これにより、クライアントとサーバー間で比較的均一なコードベースを使用でき、両方で 1 つの言語のみを使用できます。
非常に常識外れな AJAX 的なことを行うにはいくつかの制限があります (GWT ではそれが困難になりますが、不可能ではありません)。しかし、とにかくそれがあなたのユースケースではないようです。
GWT を使用すると、アプリがより複雑になるにつれて、より多くの機能を使用してスケールアップでき、プロトタイプが使い捨てのコードになることはありません。
他のヒント
フロントエンドとバックエンドを JAVA で記述し、複雑な Ajax タイプの処理を実行したい場合は、GWT が最適な方法です。
これについて考える最も簡単な方法は、GWT アプリの構築は、サーバーに接続する JAVA Swing アプリケーションを構築することに似ているということです。サーバーを使用するスイング アプリと同じように、太くしたり薄くしたりできます。完了すると、すべて HTML と JavaScript にコンパイルされ、最新のブラウザー (ie6+ ff、opera、safari) が非常に優れてサポートされます。
すべての JavaScript と HTML を抽象化しますが、見た目を良くしたい場合は、CSS を理解する必要があります。
それが MVC を台無しにするとか、クライアントとサーバーを混同するものだと言う人は、GWT を理解していないと思います。GWT はクライアント側のフレームワークです。そして、それはクライアントでのみ使用されます。GWT は、JAVA (およびその他) バックエンドにフックするための RPC メカニズムを提供しますが、これは単なる通信プロトコルであり、サーバー コードが魔法のようにクライアント コードになるという意味ではありません。確かに、本当にその気になれば、大量のビジネス ルールを UI に書き込むこともできますが、これはどのフレームワークでも実行できるため、その点で GWT が何らかの形で異なると言うのは愚かでしょう。
GWT は良い選択ですが、GWT に基づいたより強力な JavaScript フレームワークを選択する場合 (例:SmartGWT)、コンパイルされたものは重すぎます。
コンパクトなプロジェクトが必要な場合は、直接 JavaScript を選択してください。
私は GWT のファンですが、Java にも精通しています。直感的で、驚くほど簡単にすぐに良い結果が得られることがわかりました。GWT を使用する場合は、無料で非常に強力な GWT を使用することをお勧めします。 日食 IDE。
GWT の欠点の 1 つは、 必要 ブラウザでサポートされる Javascript には、「グレースフル デグラデーション」はありません。
私は jQuery のファンです。アクション、トラバース、コマンドの連鎖性は非常に強力です。私の友人は Mootools に夢中で、Java ショップ FWIW で働いています。彼は、Mootools の優れた機能は、フレームワークに含めたい機能を指定できることです。ファイル内の 1 行でライブラリ全体を生成し、それをページに含めることでフレームワークの重量を最小限に抑えられることだと述べました。クールな機能)。実際のところ、それはあなたが何を最も快適に感じるかによって決まります。jQuery には優れたチュートリアルがあり、非常に高速で、他の JavaScript フレームワークと一緒に使用できます。
GWT とは関係ありませんが、GWT が適切に動作する他のバックエンドを検討しましたか?
Grails は、GWT と非常にうまく連携するバックエンドの 1 つです。
個人的には、クライアント側のフレームワークを埋め込んだり非表示にしようとするサーバー側のフレームワークは避けます。GWT は何かを迅速に実行するのに最適であり、特定の種類のアプリケーションにはおそらく問題ありませんが、より複雑なアプリケーションではおそらく「エッジで」多くの問題に遭遇するでしょう。クライアント フレームワークをサーバー側フレームワークから切り離すことで、これらの問題を回避できます。