
Celebrating Dart’s birthday with the first release of the Dart SDK - Anon84
http://google-opensource.blogspot.com/2012/10/celebrating-darts-birthday-with-first.html
======
sswezey
Has anyone built something that illustrates Dart's features or made a neat web
app with it? Can it handle graceful degradation from running in a browser
which natively supports Dart to a browser which requires JS compilation?

~~~
munificent
> Has anyone built something that illustrates Dart's features

Take a look at: <http://synonym.dartlang.org/>

> or made a neat web app with it?

We're getting there. People are starting to build frameworks and libraries,
and there are a bunch of sample apps floating around. The language itself is
still changing pretty quickly, so it's most amenable to early adopters. As
things get more stable, I think we'll start to see more apps.

> Can it handle graceful degradation from running in a browser which natively
> supports Dart to a browser which requires JS compilation?

Yes. There's a canonical stub .js file that you add a script tag for on your
page. That will detect whether or not the browser supports Dart and pull in
either the native Dart code or the compiled-to-JS one as appropriate.

With this, you can write an app that any browser can hit and it will do the
right thing.

~~~
libria
AJAX commands are still shown as:

    
    
        var xhr = new XMLHttpRequest.getTEMPNAME(
    

Hasn't this been changed per
<http://code.google.com/p/dart/issues/detail?id=2584> ?

------
detst
Dartisans (video) episode covering the release:
<https://developers.google.com/live/shows/7702017-1001/>

------
dylanz
We're using AngularJS on a large project, and although we haven't looked
deeply at Dart yet, I still have a ton of questions in regard to their future
compatibility, potential overlaps, roadmaps, etc. I've seen some message group
posts about this, but there was nothing definitive and the core groups don't
seem to collaborate at all (please correct me if I'm wrong).

~~~
detst
You'll probably want to see Dart's Web Components[1] work. I suggest you
direct any questions over to the mailing list[2].

[1] <https://github.com/dart-lang/dart-web-components>

[2] <https://groups.google.com/a/dartlang.org/forum/#!forum/misc>

------
shadowmint
SDK looks cool to play with; tools are definitely where its at with this.

Dart (currently) doesn't seem to have any compelling use cases.

If people make tools with in build refactoring and other nice features that
make _productivity_ a compelling use case, maybe Dart has a chance to grow~

Still, given the tools that already exist for working on JS, there's still a
long way to go before this will be enough to drag javascript developers over
to dart...

------
rayiner
A more sensibly Lisp-y Javascript with a closer eye to performance. I like it!

------
winteriscomming
Please save us from JavaScript, google.

~~~
rackman171
I agree with the sentiment. However, I hesitate to embrace Dart, after Google
killed off a huge number of APIs earlier this year. Go seems to have much more
traction at Google so I think it is safe, but Dart still has an experimental
feel to it. I'd like to hear a long-term commitment from Google to Dart before
I really jump in.

~~~
afsina
From what I see, Go is not really meant for web development. I think Google's
real bet on web and general app development will be Dart, as Go looks more
like a C++ replacement. Also from the project page, I see like 80 people are
committing to Dart so that sounds pretty promising (
<https://code.google.com/p/dart/people/list> ).

~~~
frou_dh
Go is certainly meant for the _server-side_ of web development, but I guess
the phrase web-dev is often intended to mean client-side only.

------
0xABADC0DA
I don't get it why they make it so difficult to get the source code.

TypeScript:

    
    
        typescript.org
        click "Get the source code"
        click "Download"
    

Dart:

    
    
        dartlang.org
        click "Download now"
        click "Check out" the source code
        click PreparingYourMachine
        wget http://src.chromium.org/svn/trunk/src/build/install-build-deps.sh
        bash install-build-deps.sh
        install 32-bit dev libraries
        svn co http://src.chromium.org/svn/trunk/tools/depot_tools
        export PATH=$PATH:`pwd`//depot_tools
        install jdk 1.6
        gclient config http://dart.googlecode.com/svn/branches/bleeding_edge/deps/all.deps
        gclient sync
    

Seriously just to get the source you have to run two downloaded programs, any
linux besides Ubuntu requires extra work, and even still it comes with some
pre-built 32-bit binaries which apparently are compiled as part of another
project. It's madness.

They say it's so complicatd because Dart is part of Chromium, but Firefox has
a direct hg link -plus- hg bundles (repository snapshot).

~~~
magicalist
That's not how you get the source, that's how you prepare for building the
whole project, including the VM, compiler, etc. If you just want the source
code, just

svn checkout <http://dart.googlecode.com/svn/trunk>

That isn't terribly easy to find, though, it's true (you either have to have
used google code before and know it's on the "checkout source" page or dig
through those "get and build" instructions for just the "get" part).

The rest is just dependencies (and daunting at first, but pretty simple after
you do any chromium work). You have to deal with the same thing if you check
out Firefox and you want to build it (gclient here becomes bootstrap.py
there).

~~~
0xABADC0DA
Thanks for the help. I see now you can get the URL by using the source browser
then clicking 'checkout' to get the svn checkout URL.

I just wanted to check out the source, but setting up an Ubuntu VM to isolate
gclient and that other nonsense was way too much work.

