2010-11-23 1 views
2

純粋なJavascriptライブラリを手に入れようとしていますが、DOMにはまったく依存しません。JavascriptライブラリをFlashで実行できますか?

ここで、私はそのライブラリをFlexに入れたいとしましょう。これを行う良い方法はありますか?私は単純にJavaScriptをコンパイルするにはActionScriptに十分に近いものではないので、単純にインクルードすることはできませんが、私のためにそれを行う良いコンバーターはありますか? JavascriptのプロトタイプスタイルクラスをActionScriptクラスに変換しますか?

最後に、私はこのためにブラウザを使用したくありません。私は常にExternalInterfaceを使用してブラウザにアクセスできることを知っていますが、ブラウザでFlexアプリケーションを実行しているとは限りません。時にはAir、時にはPDFになることもあります。

これについてのご意見はありますか?

+0

コンバーターにはアイデアはありませんが、JavaScriptとActionScript 3は同じECMA標準を共有していますので、理論的には変換できます... –

答えて

3

通常、JSからASへの移植は難しくありません。しかし、あなたはJangarooをチェックしたいかもしれません。それはもう一つの方向、AS→JSに向かうが、逆に使うことができるかもしれない。

3

さらに気になるのはなぜですか? ActionScriptには、あなたがする必要のあるものにはすでにutilクラスがあります。ほとんどのJavascriptライブラリは、DOMを動作させることに関係しています。たとえば、jQueryの優れた機能の1つは、CSSセレクタによって任意の要素を指定する機能です。そして、それは単に意味をなさないので、ActionScriptでそれを得ることはありません。

もっと良い質問は、ActionScriptでどのようなJavascriptライブラリの機能を見たいのですか?あなたが望むことをしているクラスはすでに存在する可能性が非常に高いでしょう。そうでない場合、クラスを作成するのは簡単です。

+0

うわー...私は少しあなたの反応が3つのアップ票を得るのを見て驚きます。 。あなたの担当者と一緒にいる人は、「どうして気にするの?」などの答えに役に立たないように私に教えてください。まず第一に、私は理由があるかどうか質問しました。なぜなら私には必要があるからです。私は、ActionScript、Flash、またはFlexには存在しない、私のドメインのための特定の数学/集合手続きをたくさん持っています。私はコードを再利用したい。第二に、jQueryはAS3でも意味がありません。少なくともCSSではCSSをサポートしているため、少なくともFlexでは意味がありません。 AS3Query - http://drawlogic.com/2008/04/24/as3query-actionscript-port-of-jquery/ –

+1

@ブライアン:すべての点で敬意を表して、これらの特定のニーズを指定した方がより良い回答。第二に、Javascriptライブラリが主に数学的アルゴリズムである場合、AS3ではほとんど変更を加えずに動作するはずです。第3に、CSSのためのFlexのサポートは限られており、AS3Queryそのものは限られており、文書化されておらず、AS3とは互換性がありません(FlexBuilderなどの問題)。しかし、あなたのボートを浮かべるなら、お楽しみください。 – Robusto

+0

私は何を求めていたのですか?とにかく、このJSをActionScriptで動かすためには、このJSに行う必要がある多くの変更があります...主にクラスの定義方法の違いに起因します。私は手で仕事をすることはできません...それは比較的簡単です...しかし、自動化されたプロセスがあれば、共有がより簡単になります。特にJSコードに変更が必要な場合それ以上に合併した... thats all。 –

1

ライブラリの複雑さによっては、いくつかの必須パラメータ(パッケージ{}ラッパーなど)を追加することで簡単に変更できます。しかし、変換の一部は自明ではなく、完全なコンパイラが必要な場合があります。

Closure Compilerの新しいバックエンドを書くのはどれくらいの労力がかかりますか?それのソースコードを調べていないが、合理的にモジュール化していると思う。そうすれば、変換はAS3でDOM操作など行うことができないものをモジュロに自動化することになります。

コンパイル時のタイプチェックなど、AS3の素晴らしい機能をいくつか手に入れることはできませんが、これを使用しても、継承変換のプロトタイプも重要な変換ではないので、おそらくそれも得られません。