Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Dart in なごやまつり
Tomochika Hara
August 25, 2013
Technology
0
37
Dart in なごやまつり
2013/08/25 なごやまつり
https://connpass.com/event/2414/
Tomochika Hara
August 25, 2013
Tweet
Share
More Decks by Tomochika Hara
See All by Tomochika Hara
Swiftでつくるファミコンエミュレータのススメ
thara
3
1.4k
モバイルゲーム開発と Google App Engine
thara
0
130
GCPとAWSの比較
thara
0
93
Dart VM と Optional Typing
thara
0
160
Dartの基本
thara
0
28
Dart言語仕様 Pick-up
thara
0
210
Future & Stream in Dart
thara
0
180
Other Decks in Technology
See All in Technology
noteの品質課題に立ち上げ直後のQAチームが挑んだ軌跡
hiroki_tanaka
1
190
トランザクションスクリプトはどこから来たのか トランザクションスクリプトは何者か トランザクションスクリプトはどこへ行くのか #sekkeinight
a_suenami
7
2.1k
出張スクラムマスターとしての FEARLESS CHANGE な生き方
naitosatoshi
1
1.1k
PUTとPOSTどっち使う?
hankehly
0
120
2022年度新卒技術研修「良いコードの書き方」講義
excitejp
PRO
0
210
HoloLens2とMetaQuest2どちらも動くWebXRアプリをBabylon.jsで作る
iwaken71
0
120
Scrum Fest Osaka 2022 フルリモート下でのチームビルディング
moritamasami
2
880
LINE Search - Recruiting
line_recruiting
0
180
IoTLT88-NTKanazawa-laundry-dry
yukima0707
0
160
CLISP-ML(Q)をはじめとしたMLシステムの品質確保に関する調査
isidaitc
0
540
RDRA + JavaによるレジャーSaaSプロダクトの要件定義と実装のシームレスな接続
jjebejj
PRO
2
470
Compose の LazyColumn パフォーマンス改善で取り組んだこと
tomoya0x00
0
210
Featured
See All Featured
Producing Creativity
orderedlist
PRO
333
37k
Building Your Own Lightsaber
phodgson
94
4.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
7
1.1k
For a Future-Friendly Web
brad_frost
166
7.4k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.1k
Building an army of robots
kneath
299
40k
What's in a price? How to price your products and services
michaelherold
229
9.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
15k
4 Signs Your Business is Dying
shpigford
169
20k
The Mythical Team-Month
searls
209
39k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
37
3.2k
Side Projects
sachag
450
37k
Transcript
Dartの型システム @zetta1985 原 知愛 Dart / Java / JS /
DDD / REST Google信者 #SugoiH_c0hama #nagoya.dart 2013/08/25 なごやまつり
Dart Runtime Dart Code Dart VM Snapshot dart2js JavaScript V8
etc...
Isolates Isolate Receive Port Isolate Receive Port Send Port Send
Port Snap shot Snap shot
Development Tools Dart Editor Dartium (Browser) Dart SDK Dart VM
dart2js dart analyzer dartdoc Pub (Package Manager) Eclipse Plugin IntellJ IDEA Plugin
Language Spec 基本はゆるふわなJava • 言語設計者はGilad Bracha氏 ◦ Java言語仕様 ◦ JavaVM仕様
◦ Pluggable (Optional) Type System提唱 • 他、Jochua J. Bloch氏(Effective Javaの人)も
Language Spec • Optional Parameter • Named Parameter • Method
Cascading • Const Variable • Generics • Named Constructor • Factory Constructor • Library Private • Implicit Interface • Mix-in
動的型付言語(実行環境) + 型検査器(ツール) || Optional Typing
Java-likeなLL(Dart VM) + dartanalyzer || Dart
良い所 Future & Stream API
Future: File IO new File("./foo.txt").fullPath() .then((fullpath) { print("foo.txt's fullpath is
$fullpath"); }) .catchError((e) { print("foo.txt is not exists."); });
Future: HTTP Request new HttpClient().getUrl(url).then((req){ req.headers.add("contentType", "text/html"); return req.close(); }).then((res)
{ res.transform( new StringDecoder()).forEach(print); });
Stream: Standard Input print("Please Input A."); var lines = stdin
.transform(new StringDecoder()) .transform(new LineSplitter()); lines.listen((str){ print("Your input's length : ${str.length}"); print(str == "A" ? "Just A." : "Not A."); });
Stream: DOM Event var stream = query("input#hello").onClick; stream.listen((e) { window.alert("hello,
world."); });
Stream: HTTP Server HttpServer.bind("127.0.0.1", 8080).then((server) { server.listen((req) { req.response.write("This message
from my server."); req.response.close(); }); });
Stream: File Read Stream<List<int> stream = new File('bar.txt').openRead(); StreamSubscription<List<int>> subscription;
subscription = stream.listen((bytes) { for (var b in bytes) { print(new String.fromCharCode(b)); if (b == '#'.codeUnitAt(0)) { subscription.cancel(); return; } } });
DartとGoogle • Dartの一番のUserは、Google自身 • SPDYのような普及方法を目指す? • GoogleはWebエンジニアと共に、 Web開発の未来を作りたい。 • JavaScriptを駆逐するわけではない
Dartのこれから • dartanalyzerをもっと進化させたい (個人的に) • Chromeにさえ乗っかれば・・・ • Google App Engine対応が気になる
• Android対応すればワンチャンあるで
Thanks