慎重さ

いくつかの超自然的な理由から、半年間、私はこのテキストを書くことができませんでしたが、少なくともハブではプルデンスフレームワークで、ほとんど未知の新しいものについて話したいです。

Prudence-他の言語(javascript、php、pythonなど)でアプリケーションを作成できる、javaで記述されたフレームワークこの記事では、サーバー側のjavascriptを使用する可能性を検討します。 node.jsとは異なり、慎重さはJVMエンジンに基づいており、サードパーティのJavaライブラリを使用できます。 さらに、アプリケーションはクロスプラットフォームであり、その「コンテナ」内で動作します。





1年前、慎重さに関するドキュメントはほとんどありませんでした。開発者のTal Lironは、フレームワーク内のアプリケーション例を調べることを勧めました。 同様に、単純なアプリケーションのソースコードをgithubに投稿し、アプリケーションのインストール、構成、開発、起動のすべてのポイントを実行します。

目的 :特定のオブジェクトをツリー構造で保存し、各オブジェクトに個別にテキストデータを追加できるアプリケーションを作成します。 さらに、クライアントのブラウザ(フロントエンド)からサーバー(バックエンド)にデータを送信し、暗号化して送信する必要があります。

フロントエンドには、Twitter BootstrapとJS(再びフレームワーク)Kendo UI Webを使用します。必要なウィジェット(treeview、htmleditor、tabstrip)はすべてGPLバージョンに含まれているためです。

バックエンドでのデータの保存には、 MongoDBを使用します。 フレームワークでは他の言語で記述できるにもかかわらず、コードはJSになります。
Stanford Javascript Crypto Library(http://bitwiseshiftleft.imtqy.com/sjcl/)を使用して、クライアントとサーバー間のデータを暗号化します。 ライブラリは、フロントエンドとバックエンドの両方で使用されます。 Post要求のデータ、およびそれに応じた応答は暗号化されます。
クライアント側では、各Ajaxリクエストを暗号化するために、「ラッパー」が使用されます。

encryptAjax(URL, DATA, function(res) {
//
});


クライアントの例-サーバーとサーバー-クライアントのリクエスト/レスポンス:



設置

フレームワークのソースコードをダウンロードすることで慎重にインストールできますが、 誠実なユーティリティを使用することをお勧めします。
誠意は、必要なフレームワーク環境を収集(更新)できる軽量のパッケージマネージャーです。
誠意をここからダウンロードしてください

システムに誠実さをインストールした後:

sincerity create myprudence : add prudence.admin : add mongovision : install

は、アプリケーションの実行に必要なすべてのユーティリティを備えた「コンテナ」を作成します。myprudenceは、必要なすべてのファイル構造が作成されるディレクトリです。

アプリケーションのソースコードは次の場所にあります。 \ component \ applications \ <application>
ここで\コンポーネント\テンプレート\デフォルト\テンプレートを使用して新しいアプリケーションを作成できます。
ファイルdefault.jsrouting.js 、およびsettings.jsはプロジェクトの基本であり、それらの構文はドキュメントにあり、例はgithubのプロジェクトにあります。

フロントエンド

デフォルトでは、すべてのファイルはリソースディレクトリにあります。 メインファイルは、 index.t.html (接尾辞t)で呼び出す必要があります。 プロジェクトファイルのパスは、 resourcesディレクトリに相対的です。

/>
/>


バックエンド

アプリケーションが小さいため、1つのルートで十分です: / data / {action}
これを行うには、 routing.jsに 1行追加します
'/data/{action}/': '@app'
{action}は、アプリケーションのコントローラーで取得できます-conversation.locals.get( 'action')
routing.jsでも、次のエントリが必要です。

app.dispatchers = {
javascript: '/resources/js/'
}

使用するプログラミング言語と「ディスパッチャー」ファイルへのパスを指定する場所。
このファイルは/ resources / js /にあり、 default.jsと呼ばれます。 その中で、必要なコントローラーファイルを接続して呼び出す必要があります。 ルートで「@app」を指定したため、resourcesパラメーターで対応するエントリを実行します。

document.executeOnce('/resources/js/app/')
resources = {
app: new AppResource()
}


ファイル/resources/js/app.jsがコントローラーになります。
クラス自体を例で見るか、最も単純な「Hello world!」の作成方法に関するドキュメントを読むことができます。 アプリケーション。
settings.jsで:

app.globals.sjcl = {
password: 'xxxx'
}


「ログイン」フィールドに入力し、「OK」をクリックする必要があるパスワード。
バックエンドでは、次のように利用できます: application.globals.get( 'sjcl.password')
これについては別に言及します。

Public.handleInit = function(conversation) {
conversation.addMediaTypeByName('application/json')
}


ここで、バックエンドの応答タイプを示します
また、関数Public.handlePostまたはPublic.handleGetで 、PostまたはGetリクエストに対する回答作成します。
次のコマンドでアプリケーションを起動できます: sincerity start restlet
myprudenceディレクトリから。

デフォルトでは、アプリケーションはポート8080(http:// localhost:8080 /)で起動します。 ポートと仮想ホストは、フレームワークの構成ファイルで変更できます。


フレームワークはマルチプラットフォームであるため、nix-ahだけでなく動作することは論理的です。 Linuxの場合、debまたはrpm誠意パッケージをダウンロードして、システムにインストールできます。 Windowsの場合、zipアーカイブをダウンロードし、sincerity.batファイルを実行することをお勧めします。 コンテナを作成した後、アーカイブのすべてのファイルをコンテナフォルダにコピーし、そこからsincerity.bat start restlerして実行する必要があります。

慎重さの点で注目すべき点については、node.jsとの違いがサイトに記載されています 。 ドキュメント、コードサンプル、およびAPIリンクもあります。

Source: https://habr.com/ru/post/J214765/


All Articles