Fresher approach learning from all the tools used to help scale js
Based off eclipse
There is also an IntelliJ/WebStorm Plugin, Created by IntelliJ, Created in 2011, many contributors, 10+ from JetBrains, at least a few from google, probably more, Steady updates every month since Aug 2013
Testing came with launch, wasn't added later
assertion, inspired from hamcrest
Because you play darts... in a pub
Is the Maven/NPM/Bower built in, http://pub.dartlang.org
uses pubspec.yaml file instead of pom.xml package.json etc, yaml = yet another markup language, AngularDart Pubspec Example
over 1k published libraries, over 800 updated & published in past year, over 500 updated & published in past 3 months
Client, Dartium, DartVM built into Chrome, Supports fast change and refresh development cycle
Server, A lot lot lot like nodejs, also can just run dart scripts
Core part of dart, .
Was not originally written in dart... now it is
Can call it manually with many different options
has source mapping so it can map back to the dart code for debugging in other browsers or chrome proper
What it looks like, .
Enable better apps for the modern web
Performance, Overcome performance problems that all EcmaScript VMs have, Devs wrote Chrome's V8 (Kasper Lund & Lars Bak) are writing Dart, V8 is over half a million lines of code, Most performance is guess optimization, Dart is being built with performance as a feature
Ability to be tooled, Tooling, Supports large-scale projects, Enables code-comprehension features, refactoring, finding usages, debugging, etc, BUT does not require tooling, You can still use vim, or sublime, or something else even less effective =)
Dart compiles to js for production builds
Assembly language of the web, one of the widest spread technologies across devices and platforms
It's an 'and' world, not an 'or' world
There is a js Interop library to talk to js libs, not pretty, but works
no more waits!!
Version 1.0 - Nov 2013
seriously... don't be that guy, it's addictive
Any language can be written unclean though...
They chose recognizable syntax and clean code syntax at times so that it would be easier to work with and lower the barrier to entry
Idiomatic Dart Article
just in time decisions var right = rectangle.right; left.rectangle = 3;
all built in
yahhh bringing back the old
no more awkwardly building it into complex apis
go look at dart code, it's pretty awesome
Continuous Integration of Performance Metrics https://www.dartlang.org/performance/
also NO undefined, ONLY null
also no type coercion so we can use == again
production mode vs checked mode
compiler warnings in checked mode but still will run to the best of it's ability ignoring types, because
No more "just in case interfaces", Default Implementations Too
Also has Abstract Classes
Also has Mixins
We want functions to be first class ... then let them act like it =)
Futures == promises
Separate Memory Heaps Uses Messages, web workers in js
And has LEXICAL 'this' no more _bindAll(this)
Many bug reports simply to have error messages say what the stack overflow answer says
As opposed to seeing this all day long
Memory snapshot of app startup
Well organized site, lots of useful info
or just auto complete it...
simple web dart runner
this launched day 1 of dart
has had some updates but hasn't gotten a ton of love
Siris of the Future?
Anything else you can think of?