Helma-サーバーサイドJavaScript

少し前に、JavaScriptアプリケーションをサーバー側にデプロイし、クライアントとサーバー側のコードを組み合わせることができるJaxerサーバープラットフォームであるAptanaの開発について既に説明しました。 もちろん、このアプローチには多くの論争があり、一般的にサーバー上で本格的なWebアプリケーションを開発するためのJavaScriptなどの言語の適用可能性もありますが、これは開発者を止めません-制限にもかかわらず、興味深いアプリケーションを開発することはかなり可能です。 しかし、このプラットフォームはユニークですか? いえいえ



Helmaオープンソースプロジェクト -JavaScriptでサーバー側アプリケーションを実行するためのJavaで記述されたプラットフォーム。 バージョン1.7は現在サポートされていますが、この種のすべてのプロジェクトでJSの解釈を担当するRhinoエンジンの開発により、2番目のバージョンがサポートされることが期待されます。 プラットフォームには、Jettyで使用される組み込みのWebサーバー、およびプラットフォームに透過的に統合され、セッション間でオブジェクトを保存およびキャッシュできる独自のオブジェクト指向データベース(XMLベース)もあります。 また、アプリケーション用のビルトインデバッグツールもありますが、すべてがWebインターフェイスからアクセスできます。





Helmaアプリケーション自体は、静的ファイル、HTML、メインJavaScriptコード、および特定のパターンに従って多数のサービスディレクトリに散らばっているその他のサービスファイルの驚くべき混合物です。 アプローチは非常に自明ではなく、Javaと.NETの一部の機能を混在させようとしますが、一見するとこれはすべて紛らわしいため、ファイルの構造とそのフォーマットを処理する必要があり、かなり複雑です。 これは、Aptana Jaxerと比較した場合、プラットフォームの大きなマイナスです。



しかし、肯定的な違いもあります。 たとえば、Helmaには独自のフレームワークがあり(Aptanaのソリューションとまったく同じアプローチです)、Helma Object Publisherモジュールを使用して、JavaScriptアプリケーションでプラグインJavaコンポーネントのインターフェースを表示できます。 これにより、Javaで既製の多くのサーバーコンポーネントを使用する努力が可能になり、アプリケーションの機能が大幅に拡張されます。 また、Aptanaの同じソリューションとは異なり、Apache Lucene検索モジュール、データベースを操作するためのモジュール、SSH、FTP、HTTPプロトコル、メールを操作するためのモジュール、グラフやチャートの描画、ファイルや画像、その他のいくつかの操作。 原則として、他のモジュールの統合はそれほど複雑ではないため、HelmはJavaパッケージを他の言語のアプリケーションに接続するためのプロキシプロバイダーと考えることもできます。おそらく、この部分でさえ、両方のプラットフォームの利点を組み合わせてAptanaに接続できます。



プラットフォームには、追加のアプリケーションを使用せずにアプリケーションをデバッグするための完全な環境も含まれています。すべての操作(ブレークポイント、スタックの表示、ステップバイステップのデバッグ)はブラウザで直接実行されます。 デバッガーに加えて、HopObjectsのインスペクターもあります(これらはアプリケーションで使用可能なメインプラットフォームオブジェクトです。一部はプラットフォーム自体のインターフェイスの抽象化であり、一部はHelma Object Publisherを介してJavaScriptで使用可能なJavaコンポーネントです)。 、ただし、JDBCを介して接続するSQLデータベースを操作するための十分に開発されたシェル。







開発者向けのドキュメントはたくさんありますが、残念ながらプラットフォームの詳細な説明はありません。そのため、例の説明のスニペットを使用して一般的なアーキテクチャを理解しようとし、他の方法でディストリビューション自体を調べました。 たぶん私は何かを見逃し、あるべきことについては詳細に話さなかったかもしれませんが、これはそれほど重要ではなく、この資料の本質でもありません。 いくつかの点で、ヘルマプラットフォームはJaxerより劣っています。たとえば、展開の利便性、他のサーバーとの統合など、このソリューションをアプリケーション開発にとって興味深いものにする独自のポイントがかなりあります。 箱から出して、競合する環境よりも多くの興味深い機能を利用できます。強力なデバッグツールが組み込まれているため、Helmaを新しいアイデアのラピッドプロトタイピングとテストのための環境として使用し、作業プラットフォームで既にそれらを具現化できます。 いつものように、選択はあなた次第です!



PS 私のブログの元の投稿



All Articles