About Me Shannon -jj Behrens +shannon These slides were put together by Seth Ladd and the rest of the Dart team. I'm just helping out because I think Dart is pretty neat :)
Dart: Structured Web Programming ● ● ● ●
New language New tools New libraries
Open source ○ Announced in early October 2011 ● Being developed on dart.googlecode.com ● Currently a TECHNOLOGY PREVIEW
Agenda ● ● ● ● ● ● ●
Motivation Language Isolates DOM Code samples Demos Timeline
Current Web: the Good Parts ● ● ● ● ●
Small-to-medium apps easy to develop Platform independent No application installation Supports incremental development Platform improving fast ● Everywhere ○ And getting more modern: ■ ~50% users on IE9/FF7/Chrome/Safari
Current Web: the Bad Parts ● Developing large applications is hard ○ ○ ○ ○ ○
Hard to find program structure No static types No support for libraries Weak tool support Slow startup
● Lots of cruft after 15 years
Innovation Is Essential ● We believe Dart fills a vacuum ● The competition is NOT JavaScript ● ... but fragmented mobile platforms
What Is Dart? ● A simple, unsurprising OO language ● Class based, single inheritance with interfaces ● Optional static typing ● Real lexical scoping and closures ● Single threaded ● Familiar syntax
A Different Type-Checker ● Conventional type-checker is a lobotomized theorem prover. ○ Tries to prove program obeys type system ○ If checker can't construct proof, it considers ○
program invalid: ■ "GUILTY UNTIL PROVEN INNOCENT" Dart is different: ■ "INNOCENT UNTIL PROVEN GUILTY"
Optional Static Types ● Static checker provides warnings ○ Tuned to be unobtrusive ○ Type annotations have no effect except ... ○ During development, you can check dynamic types against declarations
Dart Types at Runtime ● Developers may check types at runtime T x=o
assert (x === null || (o is T))
● By default, type annotations have: ○ No effect ○ No cost
Isolates ● Inspired by Erlang, Dart has isolates ● Lightweight units of execution ○ Each isolate conceptually a process ○ Nothing shared ○ All communication via message passing
● Isolates support concurrent execution
Isolates ● In the browser ○ Lightweight isolates on UI thread ○ Heavyweight isolates map to their own OS thread ■ When compiled to JS, web workers
● On the server ○ Imagine node.dart using isolates for concurrency
Isolates ● Many potential uses for isolates ○ Isolation of 3rd-party code ■ Security ○ JavaScript interop ○ Uniform model for: ■ Client-server ■ Intra-client
DOM Overhaul ● Dart DOM loosely based on HTML5 DOM ● Lots of cleanup done ○ Cruft gone - XML legacy
● DOM much more Dart-like ○ Support type-checking ○ Structure - lists are Dart lists ○ Terse
Dart Execution Dart Source
Tools Dart Compiler JavaScript Engine
Snapshot
Dart VM
Dart Integration Into WebKit ● We have created a branch of WebKit to support multiple VMs ● We have Dart running along side JavaScript in Chromium ● We are inspired by Dart, but others are free to add other VMs such as Ruby, Python, and Java
Dart Performance Performance Relative to JavaScript on V8 Benchmark VM Dart->JS Compiler 18.1% 101% Mandelbrot DeltaBlue 60.5% 85% Richards 49.9% 79.9% NBody 37.5% 83.2% 70.3% 99.9% BinaryTrees 58.4% 78.9% Fannkuch Meteor 48.2% 99.4% Details: dart bleeding_edge frog compiler and VM measured at r1331, V8 version 3.4.14.35
Snapshotting in the Dart VM ● Snapshot ○ Heap serialized after application loaded
Dart Editor ● Editor for constructing and browsing Dart apps ● Built using Eclipse components ● But very small and very lightweight ● Supports code completion, etc. ● Available in open-source (and as a prebuilt binary)
Dart Is Not Done ● ● ● ● ●
Reflection support? Rest arguments? enum? Pattern matching? More browser integration?
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Dart at g|egypt ...
39 wright ready to upset. Pdc world dartschionship final gary anderson beats phil. Pdc world. dartschionship draw schedule and resus premier. 2016 bdo world.
Whoops! There was a problem loading more pages. Dart Connect Instructions.pdf. Dart Connect Instructions.pdf. Open. Extract. Open with. Sign In. Main menu.
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Dodge dart ...
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. PVC Dart ...
Page 1 of 2. Poison Dart Frog Game Directions. 13 plastic frogs (or any other markers like unifix cubes). On your turn, choose to take 1, 2, or 3 frogs from the pile.
reviews, photos, personal profiles, and meal ideas. For more than 11 years, the Seattle- ... Tel: 212-683-0001. Tel: 866-683-0001 (toll free). Fax: 212-287-1203.
Jan 20, 2014 - cated single instruction multiple data (SIMD) co-processor. On x86 the SSE ... If the Float32x4 type were available to web programmers and.
DART: An Efficient Method for Direction-aware. Bichromatic Reverse k Nearest Neighbor. Queries. Kyoung-Won Lee1, Dong-Wan Choi2, and Chin-Wan Chung1,2. 1Division of Web Science Technology, Korea Advanced Institute of Science &. Technology, Korea. 2De
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. 13 Uni-link Dart ...
By explaining the value of automated optimization and leveraging the reporting ... DoubleClick is a premier provider of digital marketing technology and services.
Allrecipes, the world's largest social network of food and entertaining ... Allrecipes activated DART Adapt on more than 45 campaigns across its site to boost.
May 27, 2014 - Division of Web Science and Technology, Korea Advanced Institute of Science and Technology, ... various effective pruning techniques using objects' locations. ..... 3 An illustration of the DBRNN query and the DBRkNN query ...
direction with respect to his/her movement or sight, and the direction can be easily obtained by a mobile device with GPS and a compass sensor [18]. However,.
Date and time of data generation 23:26, 8 July 2008. Lens focal length. 6.2 mm. Orientation ... One-chip color area sensor. File source. Digital still camera.
Download. Connect more apps... Try one of the apps below to open or edit this item. man-70\t-mobile-dart-4g-manual.pdf. man-70\t-mobile-dart-4g-manual.pdf.
Allrecipes, the world's largest social network of food and entertaining enthusiasts, ... performing audience segments, including data about specific Allrecipes.com ... DoubleClick is a premier provider of digital marketing technology and services.
SCORING AND COUNTING DARTS: For all NEW players: At first, keeping track of darts thrown and points scored can seem intimidating and cumber- some, but rest assured, it does become easy and natural after some experience. Over the first few seasons, di