Nedávno přibyly do projektu Dart dvě příjemné novinky: Kompilace virtual machine pro Windows v rámci průběžného buildu, a možnost spouštět skripty nad virtual machine přímo z vývojovéjo prostředí Dart Editoru. Pojďme tyto novinky vyzkoušet na jednoduchém HTTP serveru.
Nejdřív si nastavíme vývojové prostředí. Budeme potřebovat:
- Dart SDK: Obsahuje předkompilovanou virtual machine, neboli runtime pro spouštění programů napsaných v Dartu. Můžeme si ho stáhnout ze stránky průběžných buildů: http://gsdview.appspot.com/dart-editor-archive-continuous/latest/.
- Dart Editor: Doporučuju také stáhnout z průběžných buildů (stejná adresa jako u Dart SDK), protože oficiální stabilní verze, dostupná z dartlang.org, ještě nerozlišuje typy projektů. Novější verze se při vytváření projektu zeptají, zda jde o webovou nebo "skriptovou" aplikaci. Pozn: Ke spuštění příkladu v tomto postu Dart Editor nezbytně nepotřebujete, můžete použít libovolný textový editor a aplikaci spustit z příkazové řádky.
- Knihovnu http: Najdete ji ve zdrojových kódech Dartu, tvoří ji dva soubory (html.dart a html_impl.dart). Nejlépe je stáhnete pomocí Subversion (svn checkout http://dart.googlecode.com/svn/branches/bleeding_edge/dart/samples/chat), ale protože to jsou jen dva soubory, nedá moc práce je stáhnout ručně z webu.
Stáhněte si a rozbalte obojí někam na disk a spusťte Dart Editor. V menu Tools – Preferences – Launch je potřeba nastavit cestu na "Dart VM executable", který se nachází v Dart SDK ve složce bin.
Nyní vytvořte nový projekt typu "Script" a spusťte jej pomocí ikony na panelu nástrojů:
Pokud v okně konzole vidíte "Hello World", gratulujeme, postupujete do dalšího kola.
Nyní stačí naimportovat knihovnu http (použijte relativní cestu vzhledem k vašemu kódu) a pár řádků kódu:
#import("lib/http.dart"); void main() { var server = new HTTPServer(); server.listen('127.0.0.1', 8080, processRequest); print('Listening...'); } void processRequest(HTTPRequest request, HTTPResponse response){ print("Request: ${request.method} ${request.uri}"); request.dataEnd = (String postData) => respond(postData, response); } void respond(String postData, HTTPResponse response) { response.setHeader("Content-Type", "text/html; charset=UTF-8"); response.writeString('<h1>Hello, Dartisans!</h1>', null); response.writeDone(); }
Spusťte aplikaci, navigujte váš oblíbený prohlížeč na adresu http://127.0.0.1:8080 a je to!
(0) Comments
Leave a Response