RIAの考え

アイデアは長い間熟成され、実験で大きくなりすぎていたため、正しい方向にキックしたり、アイデアをさらに実装するためのエネルギーを高めるために、Habrと考えを共有することにしました。



JavaScriptは非常に簡潔で美しいスクリプト言語として好きです。 私は頻繁にそれを使用し、現在はそれを使用して、タスクの一部を自動化しました。 欠点は、目標を達成するのに十分なオブジェクトとメソッドがないことが多いという事実にのみ現れます。 しかし、この場合、自己記述されたCOMオブジェクトが役に立ちました。 本格的なアプリケーションの場合、ユーザーインターフェイスが必要です。 HTMLを小さなアプリケーションのシンプルなインターフェースとして使用すると非常に便利です。 これはすべて、98番目のバージョン以降のWindows上にあり、HTA(ハイパーテキストアプリケーション)と呼ばれています。



HTAがないため、このようなアプリケーションを実行するには、いくつかのファイル、HTAファイル自体、インターフェイス設計用の写真、および必要な非標準機能を備えたCOMオブジェクトが必要だと思います。 さらに、COMオブジェクトをシステムに登録する必要があるため、使いやすいアプリケーションを作成することはほとんど不可能です。



さて、すべてを1つのファイルにまとめて、特別なアプリケーションで実行するとします。 これは次のように行うことができます:必要なすべてのファイル:html、css、写真、およびスクリプトスクリプト自体はzipファイルに保存され、一般的に使用されるすべてのオブジェクトとメソッドは実行中のアプリケーションに直接実装されます。 このアプリケーションは、必要な機能を備えた一種のフレームワークです。 これらはすべて私によって実装され、JSA-JavaScript Applicationと呼ばれていました。



しかし、その後「Ostapは苦しんだ...」。 しかし、アプリケーションのインターフェースがWebサーバーに配置され、アプリケーション自体のスクリプトがそこからダウンロードされた場合はどうでしょう。 HTMLインターフェイスは、私のフレームワークの機能にアクセスし、必要なアクションを実行します。 たとえば、アプリケーション-Image Resizerを作成し、サーバーからアプリケーションをダウンロードすると、すべての作業はユーザーのコンピューターで実行されます。 つまり サーバーに画像をアップロードしてからダウンロードする必要はありません。これにより、一般的にアプリケーションの速度が向上します。 Google Gearsのようなブラウザ向けの流行の拡張機能のようです。 ただし、この場合、セキュリティの問題は急激に発生します。 ユーザーのコンピューター上のリモートサーバーホストからスクリプトを許可すれば、トロイの木馬からそれほど遠くありません。



したがって、HTMLインターフェイスと、安全でない機能にアクセスするアプリケーション自体のコードを分離する必要があるという結論に達しました。 HTMLインターフェイスは、特別なオブジェクトを介してアプリケーション関数にアクセスします。アプリケーションスクリプトでは、最も必要な高レベルのメソッドのみを記述します。 アプリケーションスクリプト自体はパッケージ化され、デジタル署名で署名されているため、攻撃者はサーバー上でスクリプトを置き換えることができません。



結果として何が得られますか。 ユーザーのコンピューターに小さなアプリケーションフレームワークがインストールされ、Webサーバーからパックおよび署名されたスクリプトを読み込むことができます。このサーバーは、起動時に、WebサーバーにもあるHTMLインターフェイスを含むウィンドウを開きます。 私の場合、ActiveX WebBrowserを使用してHTMLインターフェイスを実装し、ActiveScriptスクリプトシステムとして実行ファイルが非常に小さく、約1メガバイトであることがわかりました。



開発者は、このようなアプリケーション作成スキームからどのような利点を得ることができますか? まず、そのようなアプリケーションを収益化するための多くのオプションがあります。たとえば、広告や柔軟な管理です。 インターフェイスはWebサーバーから読み込まれるため、簡単なSMSロックメソッドを使用して、SMSを介して広告を動的に変更したり、アプリケーションへのアクセスを許可したりできます。 次に、サーバー上のアプリケーションを簡単に更新でき、すべてのユーザーに対してすぐに更新されます。 第三に、サーバーのログを分析するだけで、アプリケーションの使用に関する完全な統計情報が得られます。



これはすべてAdobe AIRまたはJava FXに似ていますが、私の場合は非常に小さなフレームワーク(1 Mb)であることが判明し、アプリケーション自体には含まれず、サーバーにインターフェイスを配置するという考えが特定の利点をもたらします。



All Articles