Submit Search
Source Code of Dart
5 likes
12,283 views
N
nothingcosmos
Dart VM and dart2js and dartium
Technology
Read more
1 of 19
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
More Related Content
PPTX
αποκτηστε νεεσ συνηθειεσ
panikkx
PPSX
Visita de estudo a Lisboa
eb23vvactividades
PPS
New Orleans
Umberto Pacheco
PPS
Ode à natureza !
Umberto Pacheco
PDF
OFERTAS C.08 2011
maricarmenrodriguez
PPTX
Proficiency 2 astronomy science
brotjes15
PPS
Van Gogh
Umberto Pacheco
PPTX
1.1 alphabet.istock proofread
Nilsu SUSKUN KUZAY
αποκτηστε νεεσ συνηθειεσ
panikkx
Visita de estudo a Lisboa
eb23vvactividades
New Orleans
Umberto Pacheco
Ode à natureza !
Umberto Pacheco
OFERTAS C.08 2011
maricarmenrodriguez
Proficiency 2 astronomy science
brotjes15
Van Gogh
Umberto Pacheco
1.1 alphabet.istock proofread
Nilsu SUSKUN KUZAY
Viewers also liked
(13)
PDF
101 lecture 11
Gale Pooley
PDF
101 lecture 1
Gale Pooley
PPT
Chertsey’s history
salesianas2011
PPTX
Quiz
Arman Sharma
PDF
Eco 202 ch 30 the monetary system
Gale Pooley
PPTX
E learning-basic guidelines to develop multimedia learning
Dimas Prasetyo
PPTX
Black holes in galaxies and active galaxies
Bryan Nozaleda
PPTX
Fpk present 2013
Amir Ibrahim
PDF
Creating Value with the Five Capitals
Gale Pooley
PDF
Creating Winning Advertising Via Link
Kantar
PDF
101 lecture 19 earnings and discrimination
Gale Pooley
PPT
Presentation1
Helinar Kryxera
PDF
Real Estate Market Report for The Woodlands, Tx
Tanya Lavoie Bugbee
101 lecture 11
Gale Pooley
101 lecture 1
Gale Pooley
Chertsey’s history
salesianas2011
Quiz
Arman Sharma
Eco 202 ch 30 the monetary system
Gale Pooley
E learning-basic guidelines to develop multimedia learning
Dimas Prasetyo
Black holes in galaxies and active galaxies
Bryan Nozaleda
Fpk present 2013
Amir Ibrahim
Creating Value with the Five Capitals
Gale Pooley
Creating Winning Advertising Via Link
Kantar
101 lecture 19 earnings and discrimination
Gale Pooley
Presentation1
Helinar Kryxera
Real Estate Market Report for The Woodlands, Tx
Tanya Lavoie Bugbee
Ad
Similar to Source Code of Dart
(20)
KEY
Inside frogc in Dart
Goro Fuji
PDF
15分でわかった気になるdart
Satoshi KOBAYASHI
PDF
Dartをはじめよう
Tatsumi Naganuma
PDF
磯野ー!Dartやろうぜー!
uka yare
PDF
DartVM on Android
nothingcosmos
PDF
Server Side Dart
Takayuki Yamaguchi
PDF
About dart
Naoto Higuchi
PDF
Dart / Flutter コードファイルジェネレート入門
cch-robo
PDF
サーバーサイドDartを試してみる
Satoshi KOBAYASHI
PDF
2014 dart flight school in Tokyo
nothingcosmos
PDF
はじめてのDart
Takuya Kawabe
PDF
Dart のコード自動生成の仕組みと、コード自動生成のパッケージを自作する方法について
Kosuke Saigusa
PDF
Flutterを体験してみませんか
cch-robo
PDF
Dart 1.1
nothingcosmos
PDF
Dart言語の進化状況
cch-robo
PDF
Flutter_Forward_Extended_Kyoto-Keynote_Summary
cch-robo
PDF
Angular+Dart=より快適なSPA開発
Satoshi KOBAYASHI
PDF
Yet Another DLR for Silverlightの試作
terurou
PDF
Dartでサーバレスサービス
cch-robo
PDF
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
Yahoo!デベロッパーネットワーク
Inside frogc in Dart
Goro Fuji
15分でわかった気になるdart
Satoshi KOBAYASHI
Dartをはじめよう
Tatsumi Naganuma
磯野ー!Dartやろうぜー!
uka yare
DartVM on Android
nothingcosmos
Server Side Dart
Takayuki Yamaguchi
About dart
Naoto Higuchi
Dart / Flutter コードファイルジェネレート入門
cch-robo
サーバーサイドDartを試してみる
Satoshi KOBAYASHI
2014 dart flight school in Tokyo
nothingcosmos
はじめてのDart
Takuya Kawabe
Dart のコード自動生成の仕組みと、コード自動生成のパッケージを自作する方法について
Kosuke Saigusa
Flutterを体験してみませんか
cch-robo
Dart 1.1
nothingcosmos
Dart言語の進化状況
cch-robo
Flutter_Forward_Extended_Kyoto-Keynote_Summary
cch-robo
Angular+Dart=より快適なSPA開発
Satoshi KOBAYASHI
Yet Another DLR for Silverlightの試作
terurou
Dartでサーバレスサービス
cch-robo
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
Yahoo!デベロッパーネットワーク
Ad
Source Code of Dart
1.
Source Code of Dart Outline ソースコードの構成 Server
の構成 Client の構成 最新の状況 2013/08/03 Shinjuku.dart 2nd nothingcosmos <nothingcosmos@gmail.com>
2.
関連 URL http://code.google.com/p/dart/ Dart
の google project http://code.google.com/p/dart/wiki/GettingTheSource ソースコードの取得方法 http://api.dartlang.org/docs/releases/latest/index.html Dart API Reference http://www.dartlang.org/ Dart の公式ページ
3.
ソースコードのディレクトリ dart + sdk/lib + sdk/lib/_internal + pkg + tests + samples + compiler + editor dart/runtime + bin + include + lib + platform + vm + tests/vm
4.
ソースコードの構成 dart + sdk/lib + pkg + tests + samples Dart は公式ページに情報が揃っている。 もしくはここのサンプルコードを見るのが良いかも 下手にぐぐると古い情報、動かないコードが多い TOP
のディレクトリ SDK のライブラリ各種 (dart:xxx) SDK の標準パッケージ SDK のテストコード SDK のサンプル集
5.
ソースコードの構成 ( 処理系
) dart + compiler @Java dartanalyzer + editor @Java eclipse plugin と indexer + sdk/lib/_internal/compiler @Dart dart2js + runtime @C++ Dart VM Client サイドは dart2js のコードを参照 Server サイドは Dart VM のコードを参照
6.
Server の構成 (Dart VM)
dart/runtime + bin + include + lib + platform + vm + vm/*_ia32 patch/natives BUILTIN と IO を定義 Dart VM の API を定義 sdk/lib と連携するレイヤ OS 抽象のレイヤ VM の本体 arch 依存の定義 dispatch 用のシンボル
7.
runtime/lib runtime/bin BOOTSTRAP_ NATIVES Server の構成 (Dart VM) runtime/platform OS(Linux,
Windows, MacOS, Android) ISA(arch) ia32/x64/arm/mips runtime/vm runtime/ include sdk/lib IO_NATIVES runtime/vm/os patch_class runtime/lib/*.dart runtime/bin/*.dart sdk/lib/io Runtime
8.
runtime/lib runtime/bin BOOTSTRAP_ NATIVES Server の構成 (Dart VM) runtime/platform OS(Linux,
Windows, MacOS, Android) ISA(arch) ia32/x64/arm/mips runtime/vm runtime/ include sdk/lib IO_NATIVES runtime/vm/os patch_class runtime/lib/*.dart runtime/bin/*.dart sdk/lib/io I/O や Network 並行処理 Dart の世界 Debugger で 追える境界 C++ の境界 Native Extensions シンボルを定義 VM が担当する 計算やリソース管理
9.
Client の構成 (dart2js/dartium)
Client 環境は sdk/lib/html を使用可能 chrome, html, indexed_db, js, svg, typed_data web_audio, web_gl, web_sql ブラウザ非依存の API のサブディレクトリ sdk/lib/web_gl/dartium/web_gl_dartium.dart sdk/lib/web_gl/dart2js/web_gl_dart2js.dart なぜ分かれているのか
10.
dartium Client の構成 (dartium) dart
runtime sdk/libsdk/lib/html Auto-generated library Web IDL runtime/ include native symbol dartium で定義された シンボルを Native Extensions を使用して直接呼出て連携する。 dartium からの制御は include で定義された API 経由で dart runtime に指示 標準化された API を IDL から自動生成 dartium 連携用
11.
Client の構成 (dartium) Bindings
(Dart API) Dart VM dartium/src/third_party/WebKit/Source/bindings/dart dartium/src/third_party/WebKit/Source/bindings/v8
12.
file:sdk/lib/web_gl/dartium/web_gl_dartium.dart // DO NOT
EDIT // Auto-generated dart:web_gl library. //dart.dom.web_gl import 'dart:collection'; import 'dart:_collection-dev' hide deprecated; import 'dart:html'; import 'dart:html_common'; import 'dart:typed_data'; import 'dart:async'; import 'dart:nativewrappers'; @DocsEditable() @DomName('WebGLLoseContext') // http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/ @Experimental() class LoseContext extends NativeFieldWrapperClass1 { @DomName('WebGLLoseContext.loseContext') @DocsEditable() void loseContext() native "WebGLLoseContext_loseContext_Callback"; @DomName('WebGLLoseContext.restoreContext') @DocsEditable() void restoreContext() native "WebGLLoseContext_restoreContext_Callback"; } file:sdk/lib/_internal/libraries.dart "nativewrappers": const LibraryInfo( "html/dartium/nativewrappers.dart", category: "Client", implementation: true, documented: false, platforms: VM_PLATFORM), //dartium WebIDL file:dart/third_party/WebCore/core/html/ canvas/WebGLLoseContext.idl
13.
Client の構成 (dart2js)
Dart VM が入っていないブラウザにも対応 Dart から JavaScript + source map を生成 dartium と dart2js の挙動の違いに注意 Dart の仕様→ dart2js の仕様→ JavaScript の仕様 int の仕様の違いが大きいかも Dart VM throw_on_javascript_int_overflow=true int が 53/54bit に収まらないときに例外を投げる dart2js では、 dart の int と javascript の int の違い
14.
いろんなブラウザ (Dart VM
はいってないよ ) Client の構成 (dart2js) dart2js sdk/libsdk/lib/html Auto-generated library Web IDL 標準化された API 群 JavaScript Engine out.js out.js.map out.js.deps Dart から JavaScript に変換 deps と source map 標準化された API を IDL から自動生成 標準のシンボル dartium と共通
15.
いろんなブラウザ (Dart VM
はいってないよ ) Client の構成 (dart2js) dart2js sdk/libsdk/lib/html Auto-generated library Web IDL 標準化された API 群 JavaScript Engine out.js out.js.map out.js.deps 標準化された API は IDL で定義 IDL → Dart → JavaScript → JavaScript Engine から叩く ブラウザが制御するのは JavaScript Engine ブラウザ共通の境界
16.
file:sdk/lib/web_gl/dart2js/web_gl_dart2js.dart // DO NOT
EDIT - unless you are editing documentation as per: // https://code.google.com/p/dart/wiki/ContributingHTMLDocumentation // Auto-generated dart:web_gl library. //dart.dom.web_gl import 'dart:collection'; ... 省略 import 'dart:_js_helper' show Creates, JSName, Null, Returns, convertDartClosureToJS; import 'dart:_foreign_helper' show JS; import 'dart:_interceptors' show Interceptor, JSExtendableArray; @DocsEditable() @DomName('WebGLLoseContext') // http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/ @Experimental() class LoseContext extends Interceptor native "WebGLLoseContext" { @DomName('WebGLLoseContext.loseContext') @DocsEditable() void loseContext() native; @DomName('WebGLLoseContext.restoreContext') @DocsEditable() void restoreContext() native; }
17.
最新の状況 (Dart) 7
月に beta 版 (M5) をリリース。 Dart の言語仕様と Server API は安定。 Breaking changes は減ってきたよね? Dart 始めるなら今でしょ。 最近は Dromaeo や Dromaeo.dart でチューニング 性能出すための注意点も公開されている。 http://www.dartlang.org/articles/numericcomputation/ 機能追加の issue は今がチャンスだと思う。
18.
最新の状況 (Dart VM) ARM
と MIPS 対応をがんばっている。 mirror 系の API を大幅修正。 Bugfix も多め。 UNIMPLEMENTED の個数を計算 (6/16 > 7/28) ia32 7 > 6 x64 18 > 17 arm 79 > 23 (8 月中に完了しそうな勢い ) mips 117 > 75
19.
最新の状況 (dart2js と
dartium) Dart の仕様→ dart2js の仕様→ JavaScript の仕様 正直ハマりどころだと思う dart2js の仕様、注意点、ガイドライン等一切不明。 今は plymer.dart と angler.dart をたべて 注意点の洗い出しや、仕様を調整中なのでは? http://build.chromium.org/p/client.dart/console dartium/firefox/chrome/safari/ie9/ie10 で確認
Download