Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

2.
There is an increasing interest for complex modern Web applications: Increasing customer requirements HTML5 pushing the boundaries Device diversification (mobile devices)And the plug-in era is over!Introduction: State of the Web Good parts Easy to write small-medium apps Platform independent No app installation Support incremental development Platform improving fast EverywhereIntroduction: State of the Web(cont.) Bad parts, Development of large apps is challenging: Lack of structure No static types No support for libs (modularity) Poor IDE support Slow startup (see http://stevesouders.com/)Introduction: JavaScript momentum JavaScript is "better" than ever: Frameworks (jQuery, MVC, ...) Community adopting "best parts" Some good tools (JSLint) Performance API (HTML5 and Web API) Virtual machine (Google V8)

3.
Introduction: Can JavaScript play therole? ... but can JavaScript play this role? http://wtfjs.com/ https://www.destroyallsoftware.com/talks/wat Allen Wirfs-Brock (Mozilla), http://www.infoq.com/presentations/JavaScript- Today-and-TomorrowIntroduction: Google Dart Improve the state of the art of Web programming! Brand new: October 2011! License: Open Source, BSD Developed "on the open": http://www.dartlang.org/docs/spec/ An entire platform: language, libraries and tools Run on the client and the server Lear from the part: GWT, V8, speed Make it available to the entire modern WebThe Dart language In one phrase: optionally typed dynamic single inheritance class based purely object oriented programming language. Concurrent programming through "isolates" Familiar to the mainstream programmers Efficiently compile to JS With some twists and a sizable amount of syntactic sugar (Im looking at you, anonymous inner classes in java). An unsound type system: as described by Gilad Bracha: a static analysis tool based on heuristics, coupled to a type assertion systemThe Dart language: optional typing Optionally typed as in: the types are annotations

11.
Chromium with the Dart VM: http://www.dartlang.org/dartium/ on the Server Dart VM: http://www.dartlang.org/docs/getting-started/sdk/ High performance V8 style embeddableThe Dart libraries Libraries help you create a modular and shareable code base. Libraries not only provide APIs, but are a unit of privacy: they can hide implementation details such as private variables. Source: http://www.dartlang.org/language-tour/#librariesThe goal is to provide a rich set of libs: http://api.dartlang.org/ http://dartwatch.com/index.php/dart-packages/Libraries and a module system ( http://goo.gl/jml49) are a work in progress! (http://goo.gl/jml49 )The Dart libraries: dart:core Defines: Interfaces for the core types: num, Collection, Function, String,.. Exceptions Imported by default Both client and server see http://api.dartlang.org/dart_core.htmlThe Dart libraries: dart:io Mainly (HttpClient available) for the server side HttpServer, HttpClient, File, Timer, Sockets, WebSockets, InputStream, OutputStream Dart is a single-threaded programming language -> non blocking I/O operations (inspired by Node.js) Dart VM runs in an event loop with an associated event queue of pending asynchronous operations The VM terminates when it has executed the current code to completion and no