hashtags: #gegypt #dartlan

Dart   December 2011

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

● Performance: ○ Un-snapshotted, 54000 lines of dart -> 640ms ○ Same application w/ snapshot -> 60ms ○ 10x faster startup

● Requires VM

Sample Web Application ● Newsreader completely written in Dart ● Size: ○ ○ ○ ○ ○

App - 3210 lines UI Library - 13200 lines Animation: 30 fps Compile time: 2.1s Resulting JS: 539KB

● Available in open-source project

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?

Demos ● Introductory code examples ○ Dartboard

● Tutorial examples ● Dart Editor ○ Optional static typing

● Tetris in Dart ● Swarm (a newsreader) ○ Some source code

● Total (a spreadsheet)

Dart Open Source Project ● Dart Web Site: www.dartlang.org ○ Dart language spec ○ Dart tutorials ○ Some prebuilt binaries

  ● Dart Project: dart.googlecode.com ○ ○ ○ ○

Library and code samples Dart virtual machine Dart core libraries Dart -> JavaScript compiler

Dart is a Technology Preview ● A programming language for the web ○ Two execution modes - compiled and on VM ○ Compatible with today's web

● Please try it and give us feedback!

Thanks for listening! All presentations will be available at: bit.ly/gegypt2011

Dart at g|egypt 2.0.pdf

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 ...

494KB Sizes 1 Downloads 110 Views

Recommend Documents

Dart Bowl
Sunday. Monday Tuesday Wednesday Thursday. Friday. Saturday. Dart Bowl. 5700 Grover Ave. • 7:00pm. Wings group. 11:00am in Quad 5. Lunch: Potluck after class in Quad 5. Wings group. 11:00am in Quad 5. Lunch: Zuzu's. 12:30pm. Wings group. 11:00am in

dart world championship.pdf
39 wright ready to upset. Pdc world dartschionship final gary anderson beats phil. Pdc world. dartschionship draw schedule and resus premier. 2016 bdo world.

Dart Connect Instructions.pdf
Whoops! There was a problem loading more pages. Dart Connect Instructions.pdf. Dart Connect Instructions.pdf. Open. Extract. Open with. Sign In. Main menu.

Dodge dart service manual pdf
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 ...

PVC Dart Launcher Build Activity.pdf
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 ...

PVC Dart Gun CER.pdf
Sign in. Loading… Whoops! There was a problem loading more pages. Retrying... Whoops! There was a problem previewing this document. Retrying.

Poison Dart Frog Game Directions.pdf
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.

Allrecipes Redefines Its Sales Approach with DART Adapt .ca
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.

A SIMD Programming Model for Dart, JavaScript, and ...
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 ... - ISLAB - kaist
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

A Central DoubleCork Dart League 32-Player Bracket
Lagamba, John. Lagamba, John. Lagamba, John. DeArmas, TJ. Timpone, George ... 14. Minor, Shaun. 3. 1. 19. 4. Cunningham, Ed. 4. 11. Lawson, Peter. 3. 1.

13 Uni-link Dart Caetano Nimbus Bus Profile.pdf
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 ...

Allrecipes Redefines Its Sales Approach with DART Adapt
By explaining the value of automated optimization and leveraging the reporting ... DoubleClick is a premier provider of digital marketing technology and services.

Allrecipes Redefines Its Sales Approach with DART Adapt
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.

Dodge Dart DCT clutch cylinder leak.pdf
Dodge Dart DCT clutch cylinder leak.pdf. Dodge Dart DCT clutch cylinder leak.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying Dodge Dart DCT ...

DART+: Direction-aware bichromatic reverse k nearest ...
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 ...

DART: An Efficient Method for Direction-aware ... - ISLAB - KAIST
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,.

File:'60 Dodge Dart Pioneer (Orange Julep).JPG -
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.

man-70\t-mobile-dart-4g-manual.pdf
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 Redefines Its Sales Approach with DART Adapt
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.

man-37\dodge-dart-manual-pdf.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item.

Match Guidelines - Scoring, Dart Count & Makeups -
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