私は現在、ActionScript 3.0 で多くの作業を行っており、Java でプログラミングすることも大好きです。JavaFX は私にとって完璧ですか? JavaFX についての一般的な印象は? 私が一緒に仕事をしているデザイナーは、ActionScript や JavaScript に慣れているのと同じくらい JavaFX に慣れているでしょうか?
10 に答える
$ .02を追加したかっただけです...私は過去4日間、JavaFXを使用した最初の小さなサイドプロジェクトでJavaFXに取り組んできました。いくつかの背景として、私はCから始めて約9年間プロのプログラミングをしており、過去6年間はJavaとC#/。NETを行ってきました。
IMO、JavaFXは、本来あるべきことよりもいらいらします。ここにいくつかの不満があります:
構文は時々奇妙です。Java FXなので、簡単にJavaに似ている可能性があります。しかし、構文はJavaからの簡単な移行ではありません。
.fxファイル内の項目の順序は実際には重要です。つまり、愚かな循環参照エラーが発生し、コンパイラが簡単に処理できる「初期化されていないため、この変数はまだ使用できません」という問題が発生します。しかし、そうではありません。
ランダムなことはうまくいきません。Swingコントロールのアクション/イベントは常に機能するとは限りません。たとえば、SwingSliderBarのonKeyPressed/releasedは呼び出されていないようです。
エラー処理は悪いです。処理されない例外が発生した場合、Javaコンソール以外に実際に伝える方法はなく、UI要素はおかしな反応を始めます。たとえば、SwingTextボックスを作成し、その値を変数にバインドします。バインドされた変数を編集できないため、テキストボックスの値を編集しようとすると例外がスローされます。ただし、UIでは、テキストボックスに面白いことが起こり始めます。一部の文字は1/2ペイントのみ、バックスペースは何もしない、文字を削除する、キーボードの「1」や「2」などの2つのキーを押すと、テキストボックスに「21」が入力される場合があります。 「12」などの代わりに...
現在のJavaFX開発での私の絶対的な一番の問題はNetbeansですが。JFXは哀れなほど悪いです。デバッグできません。IDEでエラーが正しく表示されません(コメントにエラーのフラグを付けました)。インテリセンスは40%の時間しか機能しません。イベントでは、ドラッグアンドドロップコントロール用にIDEで事前にプログラムされたテンプレートをコーディングします。正解です。どちらかを忘れましたが、挿入されたコードの最後に「&」が表示されます。これは無効であり、常に手動で削除する必要があります。これは非常にひどいものであり、Sunのような会社には受け入れられません。
もう1つの不満は、一般的なドキュメントです。そのちょうど欠けています。どういうわけか、JavaFX APIは、メソッド/クラスを検索するときにgoogleで1位の検索結果として表示されません。すべてのバージョンでリファクタリングが大幅に変更され、クラスが削除または名前変更されているため、Web上にある大量の「例」は機能しなくなりました。
全体として、私はJFXに10のうち4を与えます。私はそれが好きですが、JFX 1.1はそれをカットしません...それは、私が「本番環境に対応している」と考えるものではありません。
響き渡る「めー」。
1 年前に見たとき、SVG から JavaFx への一方向変換ツールがありました。ビジュアル コンテンツを一度オーサリングし、多くの動作をマークアップして、次に見栄えを良くしたい場合はどうすればよいでしょうか?
このチュートリアルを見ると、私が何を意味するかがわかります。図形をパレットからソース コードにドラッグして描画しています。OMGWTF。私はそれを私のグラフィック部門に見せていません。
私がJavaFxについて間違っていることを願っていますが、彼らはそれを理解していないと思います. Sun の誰かが、触手がコードと密接に絡み合っていないプレゼンテーション層を提供してくれませんか?
Java を知っていても、Flash でしか実現できないと思っていたことを実行したい場合は、JavaFX が適しています。
間違いなく、Java の知識と設計の知識を融合させることがはるかに簡単になるでしょう。
そして、ツールがより使いやすくなるだけでよいと私は信じています。
機能の点ではかなり強力に見えますが、その構造と実装のために、私はJavaFXについてはどうでもいいです。Flash/Silverlight 市場への参入は、本当に中途半端な試みのように思えます。あまりにもスクリプトです。
私は Silverlight 2 ルートに賛成だと主張しますが、私は主に C# 開発者であるため、少し偏見があります。なんらかの理由でその方法が気に入らないが、それでもユーザーにとってよりリッチな UX が必要な場合は、Flex をお勧めします。私にはJavaFXよりもはるかによく整理されているようです。
この件に関しては、私の 2 セントです。
私は約 2 年間 Flex を使用して Flash アプリケーションを開発してきましたが、iPhone からアプリケーションを使用できないというユーザーからの苦情が常に寄せられているため (そして私は Java が大好きです)、JavaFX を試してみることにしました。
これは、Flash の 1 つのストライキです (幅広いモバイル サポートはありません)。
正直なところ、私は JavaFX にかなり感銘を受けました (非常に悪い意味で)。
- ドキュメントが不完全です。
- スクリプトは単にひどいです。Java-deja-vu の感覚を伴う、JSON と R の間のこの奇妙なハイブリッドです。
- 最初の 3 日間は、ポリゴンの描画と CODE でのグラデーションの作成に費やしました... WTF !!
- 私は自分のグラフィック部門に試してみるよう説得しようとしましたが、彼らはプロダクションスイートがどのように機能するかを理解していません.Flexスキニングはとても簡単で、最終的には見栄えが良くなると不平を言い続けています.
- 「CSS サポート」は単に悪い冗談です。
- 一般的に、RIA フロントエンドにオプションを提供するというのは平凡な試みのように感じられます。
私はそれについていくつかの良い点しか考えられません:
- IPhone / IPad およびほとんどすべてのモバイル デバイスから実行できます。
- 必要なすべての Java コードにアクセスできます。これは、ActionScript の制限 (オーバーロードなし、プライベート コンストラクターなしなど) を考慮すると優れています。これは私たちプログラマーにとって素晴らしいことですが、これがフロントエンド/プレゼンテーション テクノロジーであることを少し思い出してください...つまり、ユーザーは実際に物を見る必要があるということです。アニメーション/エフェクトは掘り下げません。
- スクリプトは、MXML ファイルほど冗長ではありません (理解できないという代償があります)。
- パフォーマンスについて言えば... Flash Player はこの巨大な緑色の塊であり、JavaFX の実行方法と比較して RAM がなくなるまで成長し続けます (JVM は揺るぎません! 残念ながら、これは実際の JavaFX API とは何の関係もありません。JVM.. . まあそれは揺れる!)。
- アプレットを Web ブラウザの外にドラッグできる、この優れた機能があります。
最終的には、モバイルに移行するオプションがあることを嬉しく思いますが、これは、RIA アプリケーションに関して Flex/Flash が達成した成熟度の光年の方法です。広く分散された Web テクノロジーとしての Flex/Flash の将来は明確ではありません (迷惑なバナーやオンライン ゲームにのみ使用される可能性があります)。Flash Player のように密接なテクノロジーに依存したい人はいません。 Web コミュニティは、Flash を排除しようと努力しています (HTML5 ビデオのサポート、Apple デバイス用の Flash Player なしなど)。したがって、オープンなものを作成する試みはいつでも歓迎されます。JavaFX は、Sun がひどい二日酔いの週末に思いつく義務があると感じたものの、この不完全な急いでベータ版のように感じるだけです。
これが誰かにとって役立つことを願っています(そして Sun/Oracle =p の誰かにとって不快です)。
あなたが内部アプリに取り組んでいない限り、私はそれを避けます. ユーザーは通常、Flash と同じことを行う別のプログラムに対処する必要はありません。そのインストール ベースは、エンド ユーザーにとって便利なほど大きくはないと思います。
そうですね、ActionScriptとJavaFXの両方の構文は多くの類似点を共有しているように見えるので、おそらく「はい」です。
私は現在JavaFXスクリプトを学んでいて、実際に気に入っています。しかし、私が気に入らないのは、おそらくそれが最大の欠点であるということです。それはひどいドキュメントであり、多くの場合、最新ではないか、不完全です。
私はここ数ヶ月JavaFXアプリケーションに取り組んできました。個人的に、私はその言語が大好きです。彼らは、構文と言語の構成を選択する際に、非常に賢明な決定を下したように見えました(必要に応じて、リストで退屈させることができます)。私はここ数ヶ月プログラミングをしてきましたが、プログラミングするのは非常に効率的で楽しい言語のようです。
現時点での最適な使用法は、デスクトップアプリケーションやWebstartを介してデプロイされたアプリケーションです。デスクトップには豊富な機能セットがあり、Swingやその他のJavaの他の機能を引き続き利用できます。一部のシステムではアプレットの動作がまだ遅いと聞いていますが、Androidのサポートがなければ、モバイル機能は機能しません。アプレット/モバイル/TV/ Webのサポートは、デスクトップ開発者にとってはボーナスのように思えますが、テクノロジーを使用できるようにする重要な機能としてはそうです。
ですから、それは本当にあなたがそれを何のために使うつもりかによります。簡単なマルチメディアと豊富なUIコントロールを利用できるJavaVMで実行したいデスクトップアプリケーションを構築している場合は、言語を検討する十分な理由があると思います。WebStartはかなり改善されており、優れたデプロイメントツールになっています。Webアプリケーションの構築を検討している場合、それは興味深いかもしれませんが、今のところHTML5 / ajaxの方が関連性が高いと思います(この場合はZKを検討することをお勧めします)。ただし、HTML5の場合でも、ajaxには制限があり、それらに遭遇した場合は、JavaFXがオプションを提供する場合があります。モバイルプラットフォームの場合、安定したAndroidサポートが提供されるまでは関係ありません。その場合は、今のところAndroidプラットフォーム自体に固執します。