9

最近、セイロンが 1.0 に達したことに注目しました。最も興味深い機能は、JVM と Javascript エンジン (node.js、ブラウザー) の両方に対してコンパイルできるため、サーバー バックエンドとブラウザーで実行される Web アプリケーションの間で最初からコード共有が可能になることです。

ブラウザー側にサービスを提供するいくつかの REST エンドポイントがある Ceylon で WAR デプロイ可能なアプリケーションを作成する方法の詳細について、ドキュメントの検索を開始しました。これが私の最終目標ですが、Spring WebMVC のサポートは期待していませんでした。驚いたことに、このトピックで役立つものは何も見つかりませんでした。私が説明した方法で、Jetty や Tomcat などのサーブレット エンジンをターゲットにしようとしたときに、Ceylon を使用する方法に関する推奨事項はありますか?

現在、Javaアプリケーションで次のことを行っています。

  • Maven webapp プロジェクトを作成する
  • JQuery Javascript クライアント コードとその他の静的なものを src/main/webapp に配置します。
  • サーバーの JSON リソースにいくつかの Spring MVC コントローラーを書き込む

同様のことは、クライアント コードが Ceylon コードから転置されている場合にも素晴らしいことです。私が見るように、Ceylon は非常に独自のプロジェクト レイアウトとビルド システムを使用していますが、既存のプロジェクトからあまり離れないように Maven または Gradle を使用した方がよいでしょう。

4

3 に答える 3

13

言語とそのコンパイラが 1.0 に達した今、私たちは Web フレームワークなどの開発に注意を向けることができます。現在、Ceylon には完成した Web フレームワークがありません。

それが持っているものは次のとおりです。

  1. モジュールの一部として、JBoss Undertow に基づく単純な HTTP サーバーceylon.net。これにより、特にHTML ページのレンダリング組み合わせて、小さな Web サーバーを簡単に作成できます。ceylon.html
  2. Julien Viet のvert.x ブリッジpromises モジュールは、vert.x のラッパーを提供します。
  3. Red Hat の OpenShift 用のカートリッジで、Red Hat のクラウドに Ceylon Web アプリケーションをデプロイできます。

これは、従来のサーブレット エンジンで Ceylon を実行するにはどうすればよいかという質問に対する完全な解決策ではないことを理解しています。実際に、コンパイル済みの Ceylon モジュール アーカイブを実際に取得し、それを に埋め込んで、.warTomcat、Jetty、JBoss などの内部で使用できます。A.carは、結局のところ、.jar追加のメタデータを持つ単なる a です。問題は、 を使用するときに通常持っている Ceylon のモジュール ランタイムの利点が失われることですceylon run。次のことを行う必要があります。

  • モジュールが使用するすべての依存関係が で利用可能であることを手動で確認してください.war
  • クラスローダーの分離は得られません。

あなたがそれと一緒に暮らすことができるなら、それを選んでください。それが動作します。しかし、私の見解では、従来のサーブレット エンジンから離れてceylon.net、モジュール ランタイムの上で Undertow ( ) や vert.x などを実行するというビジョンがあります。私たちが話しているこの「モジュール ランタイム」はとにかく、JBoss 自体の小さなコアである JBoss Modules であることを思い出してください。

于 2013-11-18T12:02:14.803 に答える