最近、ある人から、コントロールのライブラリを 1 つだけ設計して構築し、それらを個別に使用して Web アプリケーションとデスクトップ アプリケーションを構築できるような魔法のフレームワークがあるかどうか尋ねられました。
Google、Microsoft、またはその他の企業は、そのような RAD フレームワークとツールを持っていますか?
どうも
最近、ある人から、コントロールのライブラリを 1 つだけ設計して構築し、それらを個別に使用して Web アプリケーションとデスクトップ アプリケーションを構築できるような魔法のフレームワークがあるかどうか尋ねられました。
Google、Microsoft、またはその他の企業は、そのような RAD フレームワークとツールを持っていますか?
どうも
Web アプリの定義方法によって異なります。RIA を Web Apps と考えるなら、そうです...
Microsoft には Silverlight があり、Adobe には Flex/AIR があります。
Microsoftには、開発をかなり迅速かつ標準化する多くの組み込みガイダンスパッケージを備えたSmartClientFactoryがあります。
私がこの質問を誤解している可能性は十分にありますが、必要なのは、ビジネス ロジックのモデルをある種の再利用可能なライブラリに分離する機能だけです。ほぼすべてのプログラミング プラットフォーム/言語で実行できます。
デスクトップ アプリケーションの要件は何ですか? どのプラットフォームで実行する必要がありますか? Windows のみの場合、.NET が当然の選択のように思えます。それ以外の場合は、Python と Qt、または Swing が好きな場合は Java です。
CrossUI RAD ツールを確認します。これにより、開発者はまったく同じコードと UI を迅速に開発し、Web アプリ、ネイティブ デスクトップ アプリ (Windows、OS X、Linux、および UNIX)、モバイル アプリにパッケージ化できます。
そのようなものが存在するとしたら、お粗末なデスクトップ アプリやお粗末な Web アプリが作成されることになります。根底にあるプラットフォームとイデオロギーが違いすぎます。できるだけ多くのビジネス ロジックを分離してから、2 つの個別のクライアントを構築すると、よりうまくいくでしょう。
編集:「Web アプリ」とは、ブラウザー内でたまたま実行されるものとは対照的に、HTML ベースのアプリを意味すると仮定します。後者のオプションでは、Flash、Silverlight、Java アプレット、ActiveX コントロールを使用できます。逆の場合は、Web ブラウザー コントロールを開き、その中で Web アプリを実行するデスクトップ アプリを使用できます。:)
Adobe Flex、Adobe Flash、さらには Microsoft Silverlight をいつでも探しに行くことができます。これらは、次のバージョンではデスクトップ アプリケーションもサポートする予定です。
現在、他のタイプのフレームワークは、デスクトップ/Web 環境ではうまく構築できません。たとえば、.NET は非常に多くの環境セットで使用できますが、モバイル、Web、デスクトップで使用する場合は制限があります。または XNA など、誰もが独自のツール セットを持っています。
デスクトップやラップトップ PC と同じ機能を持たない iPhone で Web ページを閲覧できるため、ほとんどの場合、目的の環境の機能で再開されます。
セヴァは、これが通常どのように扱われるかを伝えています。MVC は良いスタートです。
Eclipse Foundation は、Rich Client Platform と Rich Ajax Platform を提供します。一方はデスクトップ アプリを構築でき、もう一方は Web ベースのアプリをすべて SWT の概念を使用して構築できます。私はそれを魔法のようだとは言いませんが、実際にはもっと難しく、RAP はお勧めしません。
また、Web サービスを使用して、サービスにできるだけ多くのビジネス ロジックを実装します。その後、Html/JS、Java、.Net などで非常に小さな Clinet を構築できます。
最も馴染みのあるフレームワークを選択する必要があります。
Adobe には AIR があり、Google は誰もが HTML5+JavaScript を書くことを望んでいます。Chrome と FireFox の両方で、これらをスタンドアロン アプリとして実行できます。