Amino-デスクトップJavaアプリケーション用の新しいUIツールキット
グラフィカルライブラリと非常にクールなUIツールキットである
Aminoを紹介します。 当初、このライブラリは
Leonardo Sketchによって補助として開発されましたが、現在では独立した製品になりつつあります。 現在、Aminoは初期のアルファバージョンであり、100%オープンソースのJavaライブラリであり、次の利点があります。
- さまざまなエンジン(Java2D、JOGL、その他多数)での2D / 3Dシーングラフィ;
- 複数のUIコントロール、CSS同期;
- 開発プロセスを高速化するためのさまざまなユーティリティ。
- 細部までテスト済み。
- 100%無料(BSD);
- さまざまな環境ですぐに使用できる100%Javaは、JVM(Groovy、JRuby、Jython、JavaScript、JavaFX Scriptなど)の下に移植されたさまざまな言語で使用できます。
開始したい人は入門を読む
ことができ、完全に基本的なアプリケーションを作成する方法を示します。 アミノはSwing開発者にとって非常に明白なようですが、特定の違いを考慮することが重要です。
- 代わりに、リスナーはイベントバスを使用します。つまり、おおまかに言えば、リスナーはそこにいますが、各コンポーネントにしがみつく代わりに、誰もがメッセージバスにしがみつきます。
- マルチスレッドに利用可能なバックグラウンドタスクAPI
- ペイントAPIのさまざまなシーンモードの組み合わせにより、便利な抽象化レベルで作業できます。
- ルックアンドフィール すべてのスキニングはCSS 3を介して行われるか、標準のL&Fが使用されます。
- JOGLをバックエンドとして使用する場合、2DグラフィックスとOpenGLコードを混在させることができます。
- JavaScriptと同様に、すべてのコントロールにidを設定して、それらに直接アクセスできるようにすることができます。
- Aminoは、JNLPと同様に、Mac OSX用の.appバンドルを生成するAppBundlerというツールを作成しました。 最終的に、ユーザーはアプリケーションが何に書かれているか気にしないでください。 彼はそれを愚かに好むべきです。
AminoとJavaFXおよび他のUIプラットフォームの違いは何ですか
アミノはそれほど革新的なものではありません。 それどころか、Aminoは過去20年間で最高のアイデアを取り入れており、さまざまなツールキットでそれが明らかになりました。 最高のものが選ばれ、マイナス点は改善されるか、何らかの形で捨てられました。
アミノに対する主な影響は、JavaFXとSwingによって提供されました。 Oracleは、JavaOne 2010カンファレンスで、JavaFX 2.0がJavaの道をたどり、JavaFXをAminoにさらに近づけることを明らかにしました。 しかし、すべての類似点にもかかわらず、いくつかの違いがあります。
- AminoはBSDの下でライセンスされており、コミュニティが開発しており、Oracleが所有するJavaFXで物事にアクセスできないようにしています。 たとえば、サブセット、アプリケーション内での配信、便利なバージョンの作成など、クラスの置換。
- Aminoはデスクトップアプリケーションに焦点を当てています。 FlexやSliverlightなどのWebおよびモバイルアプリケーションでのJavaFX。
- AminoはJavaFXよりも大幅に軽量です。 作成者は、それを速く、簡単に学習でき、非常に目立たないようにするという課題に直面しています。これはもちろん、下位互換性とチップ数の問題に影響します。
- AminoはSwingパネルに接続するため、Aminoコンポーネントを既存のアプリケーションに徐々に追加できます。
エンド開発者に期待されること
アミノは初期のアルファ版であり、誰もがこれが何を意味するかを明確に理解しています。 願望は確かに素晴らしいですが、これまでのところ私たちはゆっくり、悲惨でバグのあるリリースをしています。 したがって、ツールキットのエンドユーザーにとっての最初のタスクは、既存のバグを検索することですので、最新バージョンのサイトに進んでください。 このプロジェクトに興味がある場合は、次のタスクの前面があります。
- イベントの処理-現在の実装は非常に遅く、メモリリークの問題がある可能性が高いため、新しい実装が必要です。
- ステージコントロール-現在のバージョンは非常に最小限であり、基本的なことだけを行うことができます。
- Mavenのサポート-現在はまったくプロジェクトに含まれていませんが、多数の開発者が使用しています。 時間が経つにつれて、MavenリポジトリにAminoが表示されるといいですね。
- CSSパーサー-すべてのプロパティを処理して正しく実行するように追加する必要があります
- インストーラー:AppBundlerはJNLPおよびMac OSX .appをサポートするようになりました。 LinuxのMSIとスクリプトのサポートを作成したいので、これを使用した開発者が必要です。
- より多くのコントロールが必要です。タスクバーメニュー、検索フィールド、グラフなどの十分なものがありません。
関連リンク:
All Articles