フラッシュとフレックス
-
03-07-2019 - |
質問
FlexとFlashを使用する利点と欠点の簡潔なリストを探してみました。
プログラミングの経験から、私はFlexが大好きです。簡単に入手でき、Flashクラスを使用できるので、なぜフレックスなしでFlashを使用したいのですか?
フレックス:
長所:
- RIA開発に最適
- すぐに使用できる多くのユーザー入力オプションを提供
- レイアウトシステムの構築
- 非プログラマーにとってMXMLの方が簡単です
- コンポーネントをすばやく組み合わせて小さなアプリケーションを作成できます
- コンポーネントはモジュール式であるため、大規模プロジェクトで利点を提供できます 自然。
- Linuxを使用して開発できます
- 検証などの優れたコンポーネントライフサイクルを備えています。
短所:
- .swfのサイズを大きくします
- 探している視覚スタイルによっては、コンポーネントの外観のカスタマイズに予想よりもかなり長い時間がかかる場合があります
- 存在しないカスタムコンポーネントが必要な場合は、Flashに戻って実際のプログラミング作業とコンポーネントのパッケージ化を行う必要がある場合があります
- 「柔軟性」 Flexを使用すると、多くのドキュメントを読むことになります
- Flexフレームワークのバグ
- 最終的には、Flexフレームワークのアーキテクチャと妥協する必要があります
Flash
長所:
- 映画/アニメーションの作成に最適
- タイムラインは、設計者/アニメーターにとって概念化が容易になる場合があります
- ゼロから作業する場合、多くの制御を提供します。
- プログラミングの経験がある方が簡単
- 好きなものをプログラムできます。既存のフレームワークとの妥協なし
短所:
- 基本的なユーザー入力(テキストボックス)のみを提供します。
- タイムラインはプログラマにとっては困難な場合があります(ただし、無視しても安全です)
- 特定の種類のアプリケーションの開発は、Flexよりも遅くなります
- Linuxを使用して開発することはできません
- ユーザー入力の検証はすべてコードで処理する必要があります。組み込みの検証はありません。
- 独自のレイアウトシステムを実装する必要がある
これまでに言われたことを逃した場合は修正してください。
解決
FlashとFlexはどちらも、フロントエンドが異なるだけで、同じ基になるレンダリングエンジンを使用します。 Flashは、映画やアニメーションの作成に適しています。 Flexはアプリケーション開発に適しています。
他のヒント
FlashとFlexの大きな違いは、プログラミングに使用するIDE /アプリケーションではなく、ActionScript(AS)のみでプログラムするか、FlexフレームワークとMXMLを使用してアプリケーションをプログラムするかです。 。
純粋なActionScriptはプログラミングに適していると思います(Flash IDEを使用するかFlex IDEが適切でないかは関係ありません)。
これらの賛否両論をリストに追加します:
フレックス:
長所:
- プログラマーではない方がアプリケーション開発に参加しやすい
- コンポーネントをすばやく組み合わせて小さなアプリケーションを作成できます
- コンポーネントは、大規模プロジェクトで利点を提供できます
短所:
- コンポーネントの外観をカスタマイズするには、探している視覚スタイルによっては、予想よりも多く時間がかかる場合があります
- 存在しないカスタムコンポーネントが必要な場合は、Flashに戻って実際のプログラミング作業とコンポーネントのパッケージ化を行う必要がある場合があります
- 「柔軟性」 Flexを使用すると、多くのドキュメントを読むことになります
- Flexフレームワークのバグ
- 最終的には、Flexフレームワークのアーキテクチャと妥協する必要があります
Flash(またはActionScriptプロジェクトモードのFlex IDE):
長所:
- プログラミングの経験がある人にとっては簡単です;)
- 好きなものをプログラムできます。既存のフレームワークとの妥協なし
短所:
- タイムラインはプログラマにとっては困難な場合があります(ただし、無視しても安全です)
- 特定の種類のアプリケーションの開発は、Flexよりも遅くなります
要するに:適切なタスクに適切なツールを選択してください。
FlexはActionScript3で記述されたコードのライブラリであるため、多くの機能と標準ライブラリのようなものをFlashに追加します。欠点は、アプリケーションに含まれる膨大な量のコードであるということです。アプリでFlexを使用すると、SWFのダウンロードサイズが数百K増加します。
アプリケーションに何らかのユーザーインターフェイスウィジェットがある場合、Flash自体にはテキストボックスなどの最も基本的なものしかないため、ほとんどFlexを使用する必要があります。 Flexには、レイアウト、データバインディング、XMLセットアップなどを備えたXML GUI全体があります。
これをフラッシュで行うと、リストボックスのようなものをゼロから記述する必要があります...
Flexフレームワークの最も重要な機能はコンポーネントライフサイクルです。これは、プロパティ、コンポーネントサイズ、階層レンダリングの検証/無効化のための非常にエレガントなモデルを提供します。
開発者にとってのメリットは、ビジネスロジックとレンダリング用の個別のアプリケーションフェーズを作成し、高価なジオメトリとアンプを回避できることです。フレームを描画する前の最後の瞬間までコードをレンダリングします。
これがどのように機能するかを説明する非常に優れたプレゼンテーションです:
http://tv.adobe.com/#vi+f15384v1002
モデルは非常に適切に設計されているため、フレームワークのデフォルトのコンポーネントとコンテナを使用している場合、Flex開発の大部分でコンポーネントのライフサイクルはほとんど完全に見えません。独自のコンポーネントの開発を開始するときにのみ、内部の仕組みを学ぶ必要があります。
Flash環境または純粋なActionscriptでの開発では、そのいずれも取得できません。純粋なAS3アプリケーションを開発する場合は、ビジネスロジックをレンダリングから分離するために、非常に慎重にコーディングする必要があるか、パフォーマンスが大幅に低下します。
[...]なぜフレックスなしでFlashを使用したいのですか?
Flexは新製品ですが、FlashはMacromedia時代から存在していました。デザイナー、アニメーター、そしてプログラミング教育の主食に育てられていない人なら誰でも、Flashは他のほとんどのソリューションよりも習得しやすいでしょう。
ターゲットは異なります。 Flexはプログラマ専用であり、Flashはアーティスト/ウェブデザイナーにとって使いやすいです。
Flashは、タイムラインで適切に動作するアニメーションや物を作成するために(一般的に)使用されるIDEです。
Flexは、デスクトップに似たインタラクションを持つインターネットアプリケーションの作成に適しています。
Flashを使用する理由もちろん、タイムラインにより具体的に関連付けられた何かを行う必要がある場合は、もちろん!
Flexは、アプリケーションベースのソリューションを開発する必要のあるRIAアプリケーションを実行するためのソリューションであると考えています。 Flexを使用するとすぐに使用できるものがたくさんありますが、ファイルサイズ、粒度などの面でもコストがかかります。
一方、ゲームなどの完全にカスタム化されたソリューションに取り組んでいる場合は、空白のキャンバスから新たに始めることができるため、おそらくFlashが最適です。 Flexプラットフォームのアプリベースの機能をすべて必要としないため、多くの人がFlashを使用しています。
Flashの自由が好きで、Flashにアセットを埋め込むのが本当に簡単で、Flexで行うのが少し混乱します。
flexで気に入っていることの1つは、最小限の労力で滑らかなアプリケーションを作成できることです。 Flashでは永遠に時間がかかります。
フレックスで実行できることはすべて、フラッシュで実行できますが、実行に時間がかかる場合があります。ただし、FlashでできることをすべてFlexで行うことはできません。
FlexはすべてのUIプログラミングを処理し、ビジネスロジックに集中できるようにします。フラッシュを使用すると、UIのプログラミングに大部分の時間を費やすことになります。
LinuxでFlexアプリケーションを簡単に開発できますが、Flashでは簡単に開発できません。
ここで提案されなかった別の解決策は、両方を使用することです。 ContainerMovieClipを使用して、フレックスコンポーネントをFlashムービークリップに追加できます。 。また、を使用して、Flashムービークリップをflexコンポーネントに追加できます。 SpriteVisualElement 。言及されていないもう1つのことは、アプリケーションのレイアウトです。あなたはフレックスレイアウトシステムに組み込まれているので、それはフラッシュの欠点に対するフレックスのプロになります。ただし、両方を使用する場合は、フレックスレイアウトシステムを使用してムービークリップをレイアウトできます。
Flexも Apacheトップレベルプロジェクトになります。そして、今ではますますコミュニティから除外されています。
FlashとFlexは2つの完全に異なるもので、1つはアクションスクリプトをサポートするデザインツール、もう1つはアクションスクリプトも備えているが、XMLベースのUI定義である「Language」であるMXMLを中心に構築されたフレームワークです;。