現在、jQueryを使用してアプリにRIAの良さを追加していますが、最近、SharepointポータルにCoveo検索エンジンを実装しており、その製品でScriptSharpが使用されていることがわかりました。ScriptSharpは何をテーブルにもたらすことができますか?
5 に答える
約2〜3週間前に発見したので、私はScriptSharpを使用しています。正直なところ、私はそれが大好きです。ネイティブJavascriptは課題であり、DOMモデルはクライアント側のプログラミングをさらに悪化させます。それから約6か月前にjQueryを発見し、それは天の恵みだと思いました。jQueryは生産性を向上させましたが、Javascriptを記述してデバッグし、微調整する必要があるため、jQueryに悩まされることがよくあります。
ScriptSharpと入力します。これにより、jQueryよりも生産性が向上し、頭痛の種が大幅に減少しました。私が見ることができる最大の利点は、コードを書いている間、C#とVisualStudioの力があなたのものであるという事実です。 これの力は控えめに言うことはできません。これで、デバッグに数時間かかっていた小さなJavascriptエラーが、コンパイル時に解消されます。 コードの行数はおそらくjQueryの約2倍ですが、生産性ははるかに高いので、誰が気にしますか?基本的には、コンパイル/テスト/デバッグのサイクルを大幅に減らして、コードを記述するだけです。時間は分になります。
ScriptSharpをMicrosoftAJAXで動作させるには、それを動作させるために実行する必要のある非常に重要な手順を知るまで、最初はかなりの苦労があったと思います。私はこれを知る前に何日も髪を抜いた。(これはScriptSharpの61ページのPDF Readmeに記載されていると思いますが、簡単に説明できます。)重要なのはプロジェクトタイプ「Webサイト内のScript#クラスライブラリ」(または「MSAjaxクラスライブラリ内部」)を選択することです。 「Webサイト」)ScriptSharpライブラリを作成する場合。これにより、ScriptSharpプロジェクトがWebサイトのBin / Scriptsディレクトリに配置され、非常に重要なことに、コンパイルされた出力がScriptSharpプロジェクトのデフォルトの「bin」ディレクトリではなく、そのディレクトリに送られます。
Web Site or Application directory\
Bin\
Scripts\ <-- "..\\" config setting sends .js files here.
ScriptSharp Project directory\
Bin\ <-- will not be used at run time
Debug\ <-- will not be used at run time
要するに、私はこのプロジェクトに価値があると感じました。すべてをバインドする方法について、独自のHOW-TO(私の場合はWebユーザーコントロールの使用を含む)を作成し、ここにURLを投稿します。ScriptSharpを理解したので、RIA開発で非常に生産的になりました。それがもっと目立つ場合、そしてCodePlexサイトだけがまだそこにあった場合。
私の最後の会社では、Script#を非常に広範囲に使用していました。私は、javascriptの知識では作成できなかった、いくつかのクールなコントロール(実際にはクライアント側のMVCスタック全体)を作成することができました。しかし、私はいくつかの理由でそれを再び使用しません
- プロジェクトはクローズドソースであり、サポートは素晴らしいものではありません(フォーラムがクローズされたため、実質的に存在しません)。非常に深く使用すると、かなりの煩わしさがありますが、ソースがあれば修正できます。これは、s#コードに投資すればするほど、ますます大きな問題になります。
- .NET 2.0のサブセットに限定されており、それでもリークのある抽象化です
- 最近、JavaScriptの単体テストとJavaScriptのVSインテリセンスが大幅に改善されたため、静的型付けの重要性がいくらか低下しています。
- それを使用すると、jqueryとjavascriptの学習が制限されました
jsのツールは改善されつつあり、Script#がオープンソースになるまでは停止しています。
クロスコンパイルに興味がある場合は、http://jsc.sourceforge.net/プロジェクトも参照してください。このプロジェクトでは、.net 3.5を使用して、JS、Java、Flash、さらにはPHPにコンパイルできます。生成されるコードがどれほど効率的かはわかりませんが...
編集:JSILと呼ばれる新しいプロジェクトがあります。これも.netコードをJSに書き換えます。
jscコンパイラプロジェクトは、次のシナリオを可能にします。
- ブラウザ用のC#からMSIL、JavaScriptへ
- AppJetのC#からMSIL、JavaScriptへ
- ソリューションをホストするためのC#からMSIL、PHP5
- ブラウザアプレットのC#からMSIL、Javaへ
- アプリケーションのC#からMSIL、Javaへ
- C#からMSIL、JavaforJavaCardへ
- ネイティブスタブアプリケーションの場合は、C#からMSIL、C99
- C#からMSIL、ActionScript3 for Flash 9
- C#からMSIL、Adobe Alchemy C for Flash 9
- C#からMSIL、C#2.0
少し努力すれば、VisualBasicをソース言語として使用することもできます。gWTとScript#がソースコードを読み取ったとしても、jscコンパイラがソースコードを読み取ることはありません。私のコンパイラはあなたのILを読み取ります。
jscコンパイラは
- 実験プロジェクト
- まだワンマンの努力
- すでにかなり便利です。
- 3歳。
- コンパイル時間を最適化し、それ自体を出力するための寄付を待っています
最新の例は、これらのプラットフォーム間で単一の 実装を使用できるプラズマアニメーションです。
- フラッシュ10
- Javaアプレット(canvas要素経由)
- JavaScript
- Windowsフォーム
- Windows Presentation Foundation
(ソース:sourceforge.net)
このページによると:
- 自然な構造を持つクリーンな言語。
- より簡単なリファクタリングと探索。
- ドキュメントを生成する機能。
- スクリプトコードを簡単にカスタマイズする機能。
これらすべてに同意するかどうかはわかりませんが、とにかくそれが売り込みです。いくつかのOO機能で入力されたようです。意見は次のとおりです。他のときに述べたように、JavaおよびC#開発者は、コードをそのように書くことに不快感を感じるため、Javascriptのプロトタイプ/型なしの側面を捨てたいようです。型指定されていないプロトタイピング言語がその役割を果たします。
Script#のjQueryラッパークラスを共有したいと思います。今すぐ、Script#プロジェクトでjQueryの強力な機能にアクセスして使用できます。
ここから入手してください: http ://www.springsys.com/blog/