いいえ。
ZK は Java Web アーカイブ ファイル (war) のみをビルドし、Android、iOS、Nook、Kindle のネイティブ アプリケーション、さらにはデスクトップ用のスタンドアロン アプリケーションをビルドしません。
ZK Web アプリケーションは、Tomcat、JBoss、Jetty、Glassfish など の Java アプリケーション サーバーでのみ実行されます。
この意味で、ZK は GWT と非常に似ており、PhoneGap とは非常に似ていません。
- PhoneGap を使用すると、HTML、CSS、および JavaScript を使用して電話アプリケーションを構築できます。アプリケーションは、各電話プラットフォーム用にコンパイルされたネイティブ ラッパー内に表示されます。これは、Web自体を対象としたものではありません。
- GWT を使用すると、Java コードでWeb アプリケーションを構築できます。この Java コードの一部は実際に JavaScript にコンパイルされるため、適切な場合にクライアント側で実行できるため、適切に使用すればパフォーマンス上の利点が得られます。JavaScript コードを Java として記述することには、型の安全性などのために Java コンパイラを使用できるという利点があります。
- ZK を使用すると、Java コードでWeb アプリケーションを構築できます。GWT とは異なり、これが JavaScript になることはありません。すべての Java コードはサーバー上で実行されます。ZK は AJAX 呼び出しの設定を処理します。
ZK でのプログラミングは、DOM のコピーを Java オブジェクトとして持っているかのように感じられます。ZK はController
特定のものの初期化を処理し、ビューからView
いずれかを接続するように ZK に依頼できComponent
ます。次に、それらComponents
をオブジェクトとして保持し、行った変更はすぐに (多かれ少なかれ) クライアントに反映されます。
さて、ZKはさておき..
すべての電話だけでなく、すべての Web ブラウザーで実行するコードを 1 回作成する場合、唯一のオプションは Web アプリケーションを作成することです。現在のテクノロジーの状態では、すべての電話のネイティブ実行可能ファイルを取得したり、同じコード ベースから Web アプリケーションを取得したりすることはできません。Web アプリケーションを (ZK、GWT、IceFaces、Lift、Grails などを使用して) 開発する場合、ほとんどすべてのデバイスに Web ブラウザーが搭載されているため、市場への最大の浸透が期待できます。
最後に、ZK に関するいくつかの個人的な意見..
- 開発サイクルは素晴らしく、ZK でのプログラミングが大好きです。
- チームとコミュニティも素晴らしく、多くの勢いがあります。
- フレームワークは積極的に進化しており、新しいコア機能と改善が常に行われています。
- 重い負荷の下で他のものとどのように積み重なるかはわかりません。
- それらが生成する DOM は非常に重い
- クライアントとサーバーの間で多くのおしゃべりがあります
編集:
PS: ZK Mobileと呼ばれるものへのこの古い参照を見つけましたが、これは現在は死んでいるプロジェクトだと思います。私の印象では、ネイティブの Android アプリケーションで ZK Web サイトをラップするという点で、おそらく PhoneGap に似たものを目指していたのでしょう。すべては引き続きインターネット経由で機能しますが、ユーザーの電話にはアイコンが表示されます。アラームなどのネイティブ機能にはアクセスできません。
とにかく、完全を期すためにここに置くと思っただけです。