8

サーバー側(ASP.NET Futures)とクライアント側(Silverlight)の両方のMS appears to have killed Managed JavaScript in the latest DLR以降、JScript.NETを使用してアプリケーションオブジェクトのスクリプトを可能にするために、廃止されていないAPIを正常に使用し、そうする? Mono/JScriptソリューションは、安定しており、以下の要件を満たしていれば、許容されるかもしれません。JScript.NETを使用して.NETアプリケーションのスクリプトを作成できますか?

私たちは、Microsoft JScriptエンジンとActiveScript APIを使用するスクリプトホストを、パフォーマンスが向上し、拡張が容易なものにアップグレードすることに興味があります。私たちは、42,000以上のソースで計量されている16,000を超えるサーバサイドスクリプトを持っているので、別のスクリプト言語に書き直すことは問題ではありません。

当社の特定の要件は以下のとおりです。

  • Noteably事前解析またはコンパイルされたスクリプトの優れたマイクロソフトのJScript(のActiveScript)エンジンよりもパフォーマンス
    • 優れたランタイム・パフォーマンスおよび/または
    • リテンション(ドン
    • メモリ消費量が小さいか等しい場合
  • 全ECMA-262のECMAScript互換性
    • 少しポーティングは
      • .NETオブジェクト(ないハード要件)
      • は、スクリプトの名前空間にカスタムオブジェクトの
    • 注入を許容することができますCOMオブジェクトまたはラップされたCOMオブジェクト先行
  • ファイル
    • プレを含める指定したスクリプト
      • アラカルト "新しいActiveXObjectを(プログラムID)"
      • 低優先順位からのCOMオブジェクトのNET
    • インスタンス化スクリプト実行コンテキストへの「ヘルパースクリプト」のロード
    • Anは関数またはステートメント(簡単に作成でき、上記所定の)コードのグローバルスコープ
      • 実行グローバルに初期化された値のグローバルスコープ
      • 保持におけるコードの
    • サポート「を含みます」スコープ
    • グローバルスコープのグローバルスコープ
    • 注射および値の置換の値の
    • 抽出
  • スクリプト定義関数のパラメータと
    • の3210
    • 呼び出し
    • と以前に初期化グローバルスコープへのアクセス権を持つ
  • ソースレベルのデバッグ
  • 商用またはオープンソースのサポート
  • 非廃止されたAPI
+1

Microsoftは引き続きSilverlightでManaged JScriptをサポートしますか? – Nosredna

+1

いいえ、Silverlightからも消えました。この回答を参照してください:http://stackoverflow.com/questions/775339/where-can-you-download-managed-jscript-for-the-dlr/886173#886173 –

+1

それはかなり衝撃的です。 – Nosredna

答えて

2

遅かれ早かれ、誰かがDLR Javascriptを記述してください。今はあなたにとってそれほど便利ではないことは分かっていますが、おそらくプロジェクトを開始することができます。私はそれがJScript.NETを使用するより良い費用便益分析を持っていると思う。

1

離れ.NETおよびMicrosoftから移動する場合は、あなたがMozillaのRhinoを試してみてくださいためokです。これは、Javaで完全に記述されたJavaScriptのオープンソースの実装です。最近のサーバーサイドのjsライブラリの多くがこのプラットフォームをターゲットにしています。

+0

@thatismatt - Java to COMブリッジでRhinoを使用しましたか?パフォーマンス、C++コードとの統合の容易性などについてコメントできますか? –

+0

私は恐れていません、申し訳ありませんが、私は多くの助けではありません、あなたがどのように乗っているか教えてください! – thatismatt

0

COM相互運用機能を使用すると、あなたはJavaとオープンソースは、それを行うにはできるだけしたいMSソリューションに限定されることを意味します。

COM/.NETのすべてのものを取り除き、Java(Rhino)/ Linux/Open sourceに移動するか、LinuxでもJavascriptをサーバー言語として使用するかどうか質問してください我々はJavaを実行することができない場合、私たちはPHP/Python/Rubyをサーバー上で使用します。言語としてのJavaスクリプトで大きなパフォーマンスの向上が見込まれないことは、主な障壁です。

私は、サーバーのJavaスクリプトが速い死にかけているように、新しいDLRを書く人にカウントwouldntは。

あなたはF#のについて、Microsoftはあなたがゆっくりとコードを移行しながら、F#で新しいものを作成するための時間を与えて、少なくとも5年間はサポートJScriptエンジンを維持するどのようなパフォーマンスを、欲しい考えます。

+0

クロスプラットフォームの問題は、80を超えるWin32 RPC呼び出しに加えて、WSUSやWMIなどの6つのDCOMオブジェクトにアクセスする必要があることです。私はF#が大好きで、プロトタイピング、社内ユーティリティー、カタログ管理(私の妻のオンラインストアの家庭)で使用していますが、サーバー側でJSで書かれた16,000を超えるスクリプトがあり、別の言語に変換するつまり、http://jcifs.sambaを見てきました。Rhinoとの組み合わせでかなり興味深いことが証明されています。 –

+0

そのロックとハードのケース。 最初の質問は、サーバー側を知ることです。Javascriptが死んでいる/死んでいます。新しいコードを書いていますか? 少なくともf#で新しいコードを作成すると、5〜10年続くことができるスムーズな移行が行われます。あなたのコードの50%が5年でF#であることがわかります。それは速くて、あなたが持っている16のコアでうまく動作します。 win32/Dcom/WMIを使用したJava interop(つまりRhino)は問題がありますが、それらの問題を解決すれば解決策が得られます。 – ben

1

私はCSScript.netを使用しました。これは、C#をスクリプトプラットフォームとして実行できるようにするためです。サイトから:

CS-スクリプトは、パワーとスクリプトシステムの 柔軟性を持つC#とFCLの 豊かさを兼ね備えています。 CS-Scriptは、システムおよび ネットワーク管理者、開発者、 テスターに​​役立ちます。さまざまな プログラミングタスクを解決するために 自動化が必要な人のために。

CSスクリプトは、レイアウトしたすべての条件を満たしています。私はそれが本当にうまくいったブーの代用品として生産に使ってきました。あなたはそれをアクションhereで見ることができます。

3

私は同様の質問に答えましたhereIronJS、DLR上で動作するF#でのJavaScriptの実装を見てください。

0

Jurrassic -Engineが生きていると蹴りの両方をサポートします。自分のCodePlexサイトから

  • は、すべてのECMAScript 3をサポートし、十分にテストES5 Strictモードを含むECMAScriptの5機能、
  • が - (アサート千30以上で)千5以上のユニットテストに合格
  • シンプルで強力なAPI
  • JavaScriptを.NETバイトコード(CIL)にコンパイルします。 Visual Studioの内の単一の.NETアセンブリ(ネイティブコード)
  • として統合されたデバッグ用の基本的なサポートを展開していないインタプリタ
  • ので、生成されたコードが完全にごみがテストさ
  • 収集され、軽量コード生成を使用し.NET 3.5、.NET 4およびSilverlight
関連する問題