14

製品のプラットフォームを選択する必要があります。Qt フレームワークと Adob​​e の AIR のどちらかを決定する必要があります。過去 2 年間働いてきたので、Qt に精通しています。Adobe のサイトを調べましたが、flex、flash、HTML/ActionScript でのコーディング機能に関するすべての情報が圧倒され、混乱を招きます。アドビのエコシステムに関する次のことが理解できません。

Adobe AIR について次の質問があります。

  1. アプリケーションのコーディングに使用する言語は? (UI の外観を定義するだけではありません)
    Qt と同様に、C++ を使用します。アクションスクリプトですか?

  2. AIR は、アプリの UI を作成するためだけのものと言えますか。

  3. AIR とともにユーティリティ クラスのドキュメントはどこにありますか?
    例: Qt の場合はhttp://qt-project.org/doc/

  4. Qt には、使用可能な既製のウィジェットが多数付属しています。アドビはそのようなウィジェット セットを同梱していますか? もしそうなら、どこで URL として表示できますか?

  5. Flex SDK がオープン ソースであることを理解しています。商用アプリを作成して出荷できますか? Flex SDK にはすべてが同梱されていますか (コンパイラ、ユーティリティ クラス/ウィジェット)

  6. AIR のライセンス費用はいくらですか?

  7. AIR に QT の QGraphicsView に相当するものはありますか?

4

7 に答える 7

11

多くのネイティブ ライブラリにアクセスする必要がある場合は、QT 環境内にとどまる必要があります。AIR はシングルスレッドであり、Flash Player (元々はフレームベースのアニメーション用に設計されたもの) で実行されることに注意してください。ただし、作成するアプリケーションのスタイルによっては、AIR が適している場合もあります。

AIR アプリケーションを作成するには、1) html/javascript と AIR SDK を使用する、2) Flash/Actionscript を使用する、3) Flex SDK や Flex ビルダーを使用する、といういくつかの異なる開発者パスがあるため、AIR は混乱を招く可能性があることに注意してください。最後の 1 つは、従来のデスクトップ開発のバックグラウンドから来る限り、最も有能です。

Web サービスに接続するための Web 2.0 である小さなアプリは、AIR アプリケーションに適しています。IM クライアント Digsby のようなものは素晴らしいだろう。これまでに見た中でお気に入りの AIR アプリは Basamiq Mockups です。その他の便利なアプリは TweetDeck です。これらは、AIR で解決するのに適したタイプのものの良い例です。

Adobe Showcase にアクセスして、いくつかのアプリケーションを確認してください: http://www.adobe.com/products/air/showcase/

また、C++ のゲームから抜け出したいだけなら、QT には Java バインディングがいくつかあると思います... また、Python バインディングもいくつか覚えていますが、自分でそれらを見たことはありません。

QGraphicsView に関する限り、人々は Flex でも同様のことを行っています。私は今グーグルを試しましたが、最初はそれらを見つけることができませんでしたが、人々は大きな画像のようなものを撮り、ウィンドウに現在の領域のみを表示しました. また、Flex の次のバージョンでは、公式の ViewPort コンポーネントを実際に構築しています:
http://opensource.adobe.com/wiki/display/flexsdk/Gumbo+Viewport

于 2008-11-25T19:34:37.810 に答える
5

この AIR アプリケーションに時間を費やしてから、Adobe Flex と AIR が習得に時間を費やす価値があるかどうかを自問してください (C++/QT などに匹敵するものが存在しない理由を自問する準備をしてください)。

ツール・ド・フレックス

Tour de Flex は、コア Flex コンポーネント、Adobe AIR、データ統合、さまざまなサードパーティ コンポーネント、エフェクト、スキンなど、Flex の機能とリソースを探索するためのデスクトップ アプリケーションです。

あなたの質問のいくつか:

  • Flex は、MXML および ActionScript3 でコーディングできます。Webkit HTML レンダリング エンジンが AIR ランタイムに組み込まれているため、AIR はさらに HTML/DOM/JavaScript プログラミングをサポートします。
  • MXML は、ActionScript3 命令型コードにコンパイルされる XML 宣言型 DSL です。ただし、UI のグラフィカルな形式 (つまり、MVC パターンのビュー) を宣言的にコーディングするには、これは非常に優れています。
  • ActionScript3 には JavaScript に基づく継承がありますが、Java や C# に似たところまで装飾されています。パッケージの名前空間、継承を伴うクラスとインターフェース、クラス メンバー アクセス保護キーワード、コンストラクター、静的メンバー、および Java に対する非常に優れた追加機能 (プロパティ、イベント、データ バインディング、およびクロージャー) があります。

Flex スタイルのプログラミングも、非同期 I/O 相互作用に依存するシングルスレッド モデルです。これは、マルチスレッド Java Swing または C# .NET Winform アプリよりもプログラミングが簡単なモデルですが、プログラム動作の同じ最終結果を達成することができます。ここで詳しく説明します。

Flex Async I/O と Java および C# の明示的なスレッド化

于 2008-12-25T02:30:25.320 に答える
4

Flex はオープン ソースです。SDK は無料でダウンロードでき、それに関連するライセンス費用はかかりません。( FAQを参照)

彼らは「フレックスビルダー」を出荷していますが、これは私が思うカスタムEclipseであり、費用がかかりますが、それがなくても完全に機能します。

ドキュメントは、adobe の livedocページにあります。(一部の人にとっては、それ自体がAdobeを嫌う十分な理由です;))

あなたが QT に精通しているなら、なぜ他のことを考えているのでしょうか? AIR が QT よりも優れている点は何ですか?

私は QT と Flex の両方である程度の経験がありますが、どちらかを比較するのに十分ではありません。私は、QT/C++ が Flex/ActionScript よりもはるかに成熟していることを知っています。

すでに QT を知っているなら、新しいフレームワーク (およびプログラミング言語) の学習に費やす時間は、正直に言うと十分ではないと思います...

于 2008-11-25T10:05:36.163 に答える
3

私は QT と Flex を使用してきました (ただし、Air 自体はそれほど多くはありません)。Flex はアプリの起動と実行、および変更がより高速であることがわかりましたが、QT は特にインストーラーでより多くの制御を提供します。Air アプリのインストーラーはかなりぎこちなく、少なくとも私が試したときはそうでしたが、それ以降は改善されている可能性があります。

Air の大きな利点は、コードの多くを Web ページ内の Flash で実行できることです。セキュリティ上の理由から、Web からローカル ファイル システムなどにアクセスすることはできませんが、それ以外はほぼすべて移植可能です。

于 2008-11-25T14:06:51.233 に答える
2

私は反対の動きをしました。私はAdobeのものに取り組み始め、QTに移りました。それを行う主な理由は、Adobeフレームワークの制限に関するものでした。アドビのものを使用しているときは、それらが生成するツールに制限されており、アドビのものでやりたいことができない場合、外部フレームワークやライブラリを導入するのは困難です。通常、これを行うための解決策は、クライアントサーバーアーキテクチャ上で想定される「スタンドアロン」アプリケーションを変換するソケットを使用することです。さらに、多くの外部のものを使用している場合、非常に多くの異なるクライアントを管理するのは難しい場合があります。QTを使用すると、C ++でコーディングし、必要な外部フレームワークまたはライブラリを追加できます。場合によっては、コーディングが簡単ではなく、実行可能であり、「奇妙な」システムアーキテクチャがない場合もあります。

于 2010-10-22T17:36:57.130 に答える
1

Qt と SVG を使用した「楽しい」UI の例を探している場合は、KDEGames [1][2] および KDEEdu [3][4] プロジェクトを参照してください。QGraphicsView と SVG を使用してスケーラブルなインターフェイスを作成する素晴らしいコードがたくさんあります。もちろん、これは GPL であることに注意してください。アプリが GPL でない場合は、何を「借用」するかに注意してください。

[1] http://games.kde.org/

[2] http://websvn.kde.org/trunk/KDE/kdegames/

[3] http://edu.kde.org/

[4] http://websvn.kde.org/trunk/KDE/kdeedu/

于 2008-11-28T15:30:43.250 に答える
0

@ Pieterのコメントに続きます。すでに QT を知っている場合は、まったく新しい環境に移行するのにかなりの時間がかかります。

QT には、クロスプラットフォームであり、非常に成熟しているという利点があります。Windows、Linux、および Mac OS X 用のライブラリがあります。私は、AIR が Adob​​e からのものであることを知っている以外にあまり詳しくありませんが、製品サイトは、それがリッチ インターネット アプリ用 ( http://www.adobe.com/products/air/ )。それが本当なら、デスクトップ アプリケーションを開発している場合は、QT の方がはるかに優れた選択肢になります。

于 2008-11-25T10:28:01.360 に答える