2012-04-28 8 views
8

dartをサーバーで実行するにはどうすればよいですか? localhostやWebサーバーで言うことができますか?現在Googleでは、ダーツのブラウザでコードを実行するダーツエディタを提供しています。また、サーバー上で実行しても、ダーティウム以外のブラウザでページを表示している他の人に見えるでしょうか?Webサーバーでダーツを実行しています

+0

参照は:[ダーツVMがありますか?](http://stackoverflow.com/q/7714302/648313) – Idolon

答えて

9

にダーツ・コードをコンパイルするコンパイラであり、ダーツエディタを使用して新しい "Webアプリケーション"を作成すると、.htmlファイルと.dartファイルが作成されます。 htmlファイルは、例えば、.dartファイルにリンクするタグを使用しています。

MyApp.html //contains <script type="application/dart" src="MyApp.dart"></script> 
MyApp.dart //contains dart app code. 

エディタはまた例えば、.dartファイルからのJavaScriptファイルを生成することができます

MyApp.dart.js //contains dart app code converted to JS 

限りWebサーバーは、これらは単にブラウザに提供される静的なファイルです。

htmlファイルには、使用されているブラウザがDart(すなわちDartium)をネイティブサポートしているかどうかを識別できる特別なJavaScriptスクリプトへのリンクが含まれています。

  • もしそうであれば、ファイルのMyApp.htmlとMyApp.dartのペアが使用されます。

  • ブラウザがDartをネイティブにサポートしていない場合、特別なスクリプトはスクリプト要素をMyApp.dart.jsファイルをポイントするように動的に変更し、ブラウザがアプリのjavascriptバージョンを受け取るようにします。

これは、任意のWebサーバ(ローカルホストまたはその他の)上に三つのファイル(.htmlを、.dart、.jsファイル)をコピーし、単に.htmlのファイルを参照できることを意味します。

完全を期すため、「特別なスクリプトは、」ここで見ることができます: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js

+0

Chris、JSONダーツの例http://www.dartlang.org/articles/json-web-service/をApacheまたはlighthttpdまたはnginx WebServerで使用することは可能でしょうか? btw、あなたは完全なコードをどこか別のものとして持っていますか? ^^ – Gero

+0

はい、それはPOSTとGETを介してサービスを提供しているWebサーバーで動作します。この例では、Webサーバーからデータを送信および取得する同様のコードがあります。https://github.com/chrisbu/dartwatch-blog-server/blob/master/client/blog.dart (この例のサーバー部分ダーツで書かれていますが、必ずしもそうである必要はありません) –

0

Dartiumは、「ダーツVM」でダーツを直接実行する能力を備えたChromiumブラウザです。これにより、開発プロセスが加速されます。他のブラウザでは、あなたのウェブサーバ上のダーツを使用する一般的な方法は次のとおりです。ネイティブのJavaScript :)

http://www.dartlang.org/docs/getting-started/sdk/#frog

カエルにダーツ・コードをコンパイルするJavaScript

+2

質問(私が思う通り)からダーツを移動する方法にありましたクライアント側(ブラウザ)からサーバー側へ –

+0

@ om-nom-nom yups。 – gopi1410

+0

@senk:カエルコンパイラに感謝します。それについて知りませんでした。 – gopi1410

11
あなたが実際にWebサーバーとしてダーツを実行することができ

import 'dart:io'; 

main() { 
    HttpServer.bind('127.0.0.1', 8080).then((server) { 
    server.listen((HttpRequest request) { 
     request.response.write('Hello, world'); 
     request.response.close(); 
    }); 
    }); 
} 

使用して、ローカルマシン上のWebサーバーを起動します単に "Hello、world"を返します。そこから

あなたがする必要があるすべてはあなたのルートを定義で、アクションなど

+1

これは、開発用またはプロダクション用にのみ適していますか? – izolate

-1

これは私がつまり、Google App Engineの上でダーツを置く方法です:クライアント上の/ブラウザで実行されているダーツサイド:

http://ambio-strong.blogspot.no/2012/07/dart-on-google-app-engine.html

+1

あなたはその回答を編集したいかもしれません、それはそれ自身がサンプルコードを指し示すblogpostを指しています。 3倍のリダイレクトです完了したらupvoteのために私にpingすることを自由に感じなさい:) – eckes

関連する問題