開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
Head First JavaScript ―頭とからだで覚えるJavaScriptの基本( Michael Morrison (著), 豊福 剛 (翻訳)、オライリージャパン)の12章(ダイナミックなデータ)、自分で考えてみよう(p.567)をDartで考えてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
自分で考えてみよう(p.567)
コード
ajax.dart
import 'dart:html';
void main () {
run.onClick.listen((MouseEvent event) =>
HttpRequest.request(url)
.then(processRequest)
.catchError(handleError));
clear.onClick.listen((MouseEvent event) => pre.text = '');
}
ButtonElement run = querySelector('#run_dart');
ButtonElement clear = querySelector('#clear');
PreElement pre = querySelector('#pre0');
String url = 'http://mkamimura.com/kamimura_blog/javascript/' +
'head_first_javascript/blog.xml';
void processRequest(HttpRequest request) {
Document xml_doc = request.responseXml;
try {
String author = xml_doc.querySelector('author').text;
Blog blog = new Blog(null, null, null, author);
pre.text = blog.showSignature();
} catch (e) {
pre.text = '$e';
}
}
void handleError(var e) {
pre.text = '$e';
}
class Blog {
DateTime date_time;
String body;
String image;
String signature;
Blog([DateTime date_time, String body, String image, String signature]){
print('$date_time, $body, $image');
this.date_time = date_time != null ? date_time : new DateTime.now();
this.body = body != null ? body : 'Nothing going on today';
this.image = image;
this.signature = signature != null ? signature : 'Anonymous';
}
String showSignature() => 'This blog created by $signature';
}
0 コメント:
コメントを投稿