41

誰かがJavaScriptエンジン/インタープリターをiOSに移植することに成功したのだろうか. Javascript を高レベルのスクリプト言語 (AI、ゲームプレイなど) として使用したい iPhone ゲームを書いていますが、そのためには、JS エンジンを静的ライブラリにコンパイルし、それをリンクする必要があります。 iPhone OS用の私のobjectiveCプログラム。私が検討している候補の JS エンジンがいくつかありますが、それを行うための成功例を見つけることができませんでした。

これが私がiOSに使用したいと思っていたjsエンジンです

  • Google の V8 JavaScript エンジン
  • mozilla の SpiderMonkey

別の方法として、Javascript コールバック インターフェイスを使用することもできUIWebView'sますが、それには全体UIWebViewをメモリにロードする必要があり、私が聞いた経験によると、通常はパフォーマンスが遅いということです。

誰かがこれを行うのと同様の経験をしたか、そのための参照を知っているかどうかに感謝します!

[更新] Kostis が言及したように、Appleは WWDC 2013 でJavascriptCoreを導入しました

4

4 に答える 4

25

興味があるかもしれない 2 つのプロジェクトがあります。

  1. JavaScriptCore-iOS
  2. iモンキー

iOS アプリで JavaScript エンジンをビルドして出荷することは絶対に可能です。Titanium もそれを行います: https://github.com/appcelerator/webkit_titanium/tree/master/Source/JavaScriptCorehttp://www.phoboslab.org/log/2011/06/javascriptcore-project-files-for-iosも参照してください。

また、iOS で JSC を使用する方法を示す小さなアプリも作成しました: https://github.com/jfahrenkrug/AddressBookSpy

楽しみ。

于 2011-07-06T06:29:33.297 に答える
14

将来の視聴者のために、新しい iOS 7 で導入された JavaScriptCore フレームワークがあります。これは魔法のようです! JS/Objective-C との間の値のラップ、ラップ解除、関数の呼び出し、コールバック、すべて!

残念ながら、現時点ではドキュメントが非常に貧弱です。WWDC 2013 イベントのプレゼンテーションと、ヘッダー ファイル (Xcode でヘッダー ファイル名を cmd キーを押しながらクリック) で詳細情報を見つけることができます。また、WWDC プレゼンテーションの担当者が行っていることを真似した、インターネットに関するチュートリアルもいくつかあります。

プロジェクトの 1 つに使用しましたが、非常に強力です。私が気に入らなかった唯一の考えは、値によって JS から ObjC にオブジェクトを渡したことです。つまり、参照が失われました。これには回避策があるかもしれませんが、適切なドキュメントがなければ何も見つかりませんでした。

これが誰かを助けることを願っています:)

于 2013-12-06T16:18:39.187 に答える
4

JavaScriptCore を組み込んだオープン ソース プロジェクトEjectaを見てみましょう。HTML5 キャンバス API を提供し、OpenGL と OpenAL を使用します。

于 2012-10-06T00:28:00.383 に答える
1

最終的にゲームを iOS 以外のものに移植したい場合 (または、Apple 独自のインターフェイスを避ける他の理由がある場合) は、MuJSを使用できます。これは、組み込みや拡張が容易な JavaScript インタープリターを提供する小さなライブラリーです。

于 2014-09-22T12:45:27.760 に答える