
How serious is Google about Dart? - pauljonas
http://yakovfain.com/2013/08/02/how-serious-is-google-about-dart/
======
RyanZAG
Never rely on Google for anything - always have alternatives. In the case of
Dart, the alternative is that it is open source, which means if (read: when)
Google drops Dart, other developers can continue to support it.

However, Dart is a 'full stack' solution. This means that any developer taking
over Dart would have to support the IDE, the VM, the javascript transcoder,
the language, integration with new browser features, cross browser
compatibility, etc. This is practically impossible for hobbyists to do
properly.

Why would Google drop Dart? Google is almost guaranteed to drop any project
that does not have high traction and/or high income within a few years of
release. Dart has neither income nor traction. If Google does not drop it, I
will be very surprised and impressed.

I highly recommend avoiding Dart, but obviously the choice is yours. You've
been warned.

EDIT: Just to add, Google can artificially increase traction of Dart by
putting the Dart runtime inside Chrome and using that as a weapon to increase
Chrome adoption, similar to Microsoft's ActiveX strategy. If Google does this
it would be a pretty evil thing to do and go against the spirit of the web.

If your ethics are a bit lacking, you may want to try betting on this effect
which would create a demand for Dart dev houses in the future, and could make
you some cash.

~~~
spankalee
Standard disclaimer, I work on Dart. And normally I'd avoid engaging a
borderline troll, but this is such a terrible comment, in so many ways, that I
have to speak up.

> Never rely on Google for anything

First, you're expectation that Google will drop Dart is based on what exactly?
A few SaaS product cancelations? The "never rely on Google" meme is getting so
old, mainly because it's overly applied to Google when all SaaS providers have
this issue, and it's been a known downside for years: when product support
ends for an installed app, you still have the old installed app to use, when
support is ended for SaaS users have a problem. I hope this can be mitigated
one day, but that's a whole other topic. The differences with Google is that
we have a ton of users even for our "small" products, and there's a single
name to attach attention to, rather than the numerous shutdowns that have
happened in other companies, or the startups that have bee bought and killed.

The important bit for the discussion at hand is that Dart is not even
_anything_ as a service. It's a set of installed, open source compilers and
libraries. They will continue to work in the (unlikely, IMO) event that Google
drops support.

> This means that any developer taking over Dart would have to support the
> IDE, the VM, the javascript transcoder, the language, integration with new
> browser features, cross browser compatibility, etc.

Dart's more of a collection of independent pieces. If Google ever did
completely drop Dart I'm pretty sure that the parts could be maintained by the
community (assuming the community hits critical mass). The dart2js compiler is
the most important part and it's well structured, easy to understand code. The
IDE could be abandoned in favor of plugins for WebStorm (already maintained by
IDEA), Sublime, vim, etc.

> Dart has neither income nor traction.

Dart will never have income, that's not its purpose. Dart's purpose is to make
web development easier, more productive and more scalable, and web apps
themselves faster. This goal is both for internal development, for which we
badly need something like Dart, and for everyone else because we want to see
more and better web apps.

As for traction, if Dart doesn't get any traction (after it's actually
released, and had a good chance to succeed of course!), inside Google or
outside, then it probably _should_ be abandoned, right? In that case, who
exactly is there to care that it's not developed anymore?

I've heard some people point to GWT as an example of what might happen to
Dart. I don't agree, but for the sake of argument, let's look at where GWT is:
1) There's an official community maintaining GWT, 2) Google still has a team
working on GWT, and large projects using it. 3) GWT will still get better as
Java gets better. There are other factors that apply to GWT and it's language
that don't apply to Dart. If Dart's fate was ever the same as GWT, I'd say
it'd be a pretty soft landing for everyone.

> Just to add, Google can artificially increase traction of Dart by putting
> the Dart runtime inside Chrome and using that as a weapon to increase Chrome
> adoption, similar to Microsoft's ActiveX strategy.

This is still a ridiculous comparison. ActiveX was a plug-in architecture.
Dart compiles to JavaScript. We support all "modern" browsers, IE9 and up.

Look, we've made no bones about wanting to get the VM into browsers some day.
And obviously, being part of the Chrome team, we'd like to see it in Chrome.
Lars pointed out at Google I/O that there's work already being done to pave
the way for this on the memory management side. The Dart VM does enable faster
and quicker to startup applications, no doubt.

But we all understand that Dart will be distributed as JavaScript for the
foreseeable future, and we do considerable work to ensure that programs behave
the same in dart2js and the VM, and that the JS output is very fast. The Dart
and Chrome teams firmly believe that the adoption of Dart will entirely depend
on it's success as a compile-to-JS language. How Dart helps developers will be
its main draw, and hopefully there's organic demand for the VM as an
accelerator for apps that already work well across the web.

This will not be "evil" in anyway, but one of many ways that the browser
vendors have pushed the web forward. There are so many examples of a vendor
pushing something that's initially totally or somewhat proprietary but end up
being a great thing for the web, that only comparing Dart to ActiveX is just
juvenile and annoying. Consider JavaScript itself, XHR, <canvas>, CSS, SVG,
WebGL, setImmediate() and so many other DOM APIs, CSS extensions like rounded
corners, shadows, transforms, etc. Some of these have actually been much more
backwards-incompatible than Dart which primarily _compiles_to_JS_.

The FUD around Dart is just incredible. No matter though. We see the benefit
every day that we luckily get to code in Dart, and so does our community.
Those who wish to reap the benefits Dart can opt-in and those who don't can
ignore it.

~~~
Helianthus
>As for traction, if Dart doesn't get any traction (after it's actually
released, and had a good chance to succeed of course!), inside Google or
outside, then it probably _should_ be abandoned, right?

Yep. So goes the argument. When/how is it going to be released in a meaningful
way, such that it can 'actually' gain traction?

People are using CoffeeScript and Typescript in production _right now_. Dart
has been a theoretical project for far too long.

>The Dart and Chrome teams firmly believe that the adoption of Dart will
entirely depend on it's success as a compile-to-JS language.

Yep. It's not doing so well.

>The FUD around Dart is just incredible.

Maybe it's not FUD, maybe it's legitimate criticism.

In any case, I wish you good luck.

~~~
spankalee
Dart 1.0 will be released pretty soon, as Lars & co, have said. It takes a
long time to create a new language and core libraries from scratch.

But I can't believe you complain that it's not released yet, and that it
doesn't have much traction in the same post...

I think Dart adoption is going along just fine, considering it's pre-release
state for the last two years. If too many people had already starting using
it, they might have had unmeetable expectations about it's stability and
readiness. Better that there are fewer early adopters who are aware of and
willing to take the pain of the evolving platform.

~~~
coldtea
> _But I can 't believe you complain that it's not released yet, and that it
> doesn't have much traction in the same post..._

Where's the contradiction?

For one, other projects have gotten traction LONG before the stable release.
Mongo and Node.js come to mind.

Second, the complaint can be stated as: "If you want it to gain traction, why
do you keep tinkering on it for such a long time without a stable release"?

~~~
cromwellian
Damned if you do and damned if you don't. If they release it and iterate on it
for years in the public before official release, you complain about adoption
or lack of users.

If they were to bake it internally first until it is stable and then release
it "done", then everyone complains about a closed process.

And do you have any numbers to compare Dart vs Typescript vs CoffeeScript
adoption?

~~~
coldtea
> _If they were to bake it internally first until it is stable and then
> release it "done", then everyone complains about a closed process_

Well, Go did just that, and I didn't see anyone complaining.

------
michaelwww
> How serious is Google about Dart?

It depends. I spent a lot of time looking at Dart in the first part of this
year. My impression is that the team developing Dart is very serious and
enthusiastic about it. Dart makes web development fun again. It's easy to try
things and throw them away if you get a better idea in the process. Building
large apps is easy. The success of Dart doesn't only depend on success in the
browser, because a lot of effort is being put into Dart on the server, where
it hopes to compete with Nodejs and replace Java for some uses. Another
motivation for Dart is that it is not influenced in any way by Oracle, who has
sued Google over Java. Dart may shine on mobile devices where old browsers are
not an issue, that remains to be seen.

Who is not enthusiastic about Dart at Google? I would say the Chrome team and
the Closure team, based on a lot of reading and watching videos, are not
enthusiastic. This is just my impression. I have no inside information. As far
as I know, Dart is not being used internally.

The Chrome Frame issue caused me to switch to TypeScript, which I also really
like. It's not as much fun as Dart, but it certainly makes JavaScript a lot
more verifiably correct, with type annotations making code refactoring and
type checking possible. TypeScript is an ok alternative to Dart. They feel
similar, they each have their uses.

I wouldn't bet the company on Dart, but I would on TypeScript, which could go
away and you'd still have perfectly readable and sensible JavaScript files to
work with. As Anders Hejlsberg (designer of C# and TypeScript) says, "we don't
obfuscate your code."

It's easy enough to learn Dart. There are places even now where it makes sense
to use Dart. If JavaScript is an old internal combustion engine car, then
TypeScript is one with automatic transmission and power steering, while Dart
is a new electric car. I'll drive all three as long as they get me where I'm
going.

~~~
spankalee
FYI, Dart is starting to be used internally, on multiple projects, and some
pretty large ones.

And Dart's part of the Chrome team, if Chrome wasn't enthusiastic about Dart,
Dart wouldn't exist.

~~~
michaelwww
I get my impression from this video

[https://www.youtube.com/watch?v=TlJob8K_OwE](https://www.youtube.com/watch?v=TlJob8K_OwE)

Skip to &t=17m26s and you can hear them talk about it. Judge for yourself.

------
andybak
Developers. Developers. Developers...

I'd love to know if there's an internal debate inside Google and if they are
aware of how much recent decisions have damaged their reputation amongst a
critical demographic.

I could not understand the decision to drop Chrome Frame. It seemed like a
good strategic product but even more so - a lot of people had staked their
reputation on a technology choice because of it's existence. These people were
the thin end of a wedge inside enterprise cultures that were historically
dominated by Microsoft evangelists. Google has now pissed off these people and
made them look bad.

~~~
ams6110
Conversely I never saw the point of Chrome Frame. Most enterprises that lock
their users into IE certainly also forbid them from installing arbitrary
browser plugins.

~~~
andybak
Chrome Frame doesn't need admin rights to install so I presume it bypassed a
lot of IT lockdown?

~~~
ams6110
Chrome itself doesn't need admin rights to install either.

------
adrianlmm
Greetings, I'm someone who is using Dart in production I can tell you that is
promising and the community is growing.

The only problem I see is that Dart developers are focusing to much in the
newer stuff w/o ironing the basics first, for example, the DateTime datatype
can't parse this: "2013-08-03 12:00" but can parse this: "20130742", and to me
is more important to work in those basics than all the fancy Canvas stuff or
polymer.

We don't know the level of compromise Google has with Dart, I'm taking the
risk cause I think is worth it.

~~~
PommeDeTerre
It's somewhat disconcerting for Dart to merely be seen as "promising",
especially given its competition.

It would take a lot of effort to do worse than JavaScript.

CoffeeScript is basically just JavaScript with a Ruby-inspired syntax.

TypeScript is only a very minimal set of improvements to JavaScript.

If it's doing things right, it should be blowing all three of those away with
ease, especially given its origin. The fact that its uptake is so slow
suggests that it isn't competing against them very well, which I take to be a
bad sign going forward.

~~~
spankalee
Dart's uptake is slow because it hasn't really been released yet. It's pre-1.0
and has been evolving pretty rapidly until recently. I'm not worried.

------
eliben
I am puzzled by low-quality, hyperbolic, panicky articles like this. And I'm
even more surprised by the reaction they cause on HN.

[http://blog.chromium.org/2013/06/retiring-chrome-
frame.html](http://blog.chromium.org/2013/06/retiring-chrome-frame.html) seems
like a pretty good reasoning w.r.t stopping updating Chrome Frame and lists
alternatives. What's all this noise about? And what the hell does this have to
do with Dart?

~~~
hatsix
Yakov Fain is a world-class whiner and master of hyperbole. He was always the
"squeaky wheel" in the Flash/Flex community, and it doesn't surprise me that
he's still whining.

Why it's being picked up by HN is beyond me... maybe because Google is the
favorite scapegoat recently? Certainly few people bothered reading what he
wrote and just started commenting/complaining.

It's astonishing to me that Google is getting flak for dropping (in 5 months)
what amounts to a 3rd-party-patch for a browser that'll be turning 5 years
old. They already dropped support for IE8 in Google Apps, and jQuery dropped
support several months ago.

If Fain wants to play with fancy new technologies, he should find clients who
want to use new technologies.

------
ams6110
_I hope Google will provide some iron clad guarantees that their Dart project
will be around for the next 5 years_

5 years is a lifetime in web technology. 5 years ago nobody was using
coffeescript, angular, ember, or any of that. They didn't exist, or if they
did they were crude ancestors of what they are today.

I just don't think you can have this expectation of any guarantees like that
in web development. Things move too fast. If you want that kind of guarantee,
use open source stuff and acknowledge that you'll have to support it yourself
when the rest of the world moves on.

~~~
kintamanimatt
Here's my problem with this line of thinking: Dart is supposed to replace one
third of the triad of core technologies web developers use: HTML, JS, and CSS.
It doesn't appear that in the long term it's intended to be transcompiled to
JavaScript. CoffeeScript is only intended to be an alternative that
transcompiles to JS. There's no effort to build a CoffeeScript VM. (C8?
CoffeeMonkey?)

Angular, Ember, etc are just frameworks. They're not likely to be as long-
lived as the triad of front-end web development technologies because the
creation of such a framework has a significantly lower barrier to entry and
adoption. There's no W3C committee overseeing development and there will be no
W3C draft or standard for any of these somewhat ephemeral frameworks.

Core web development technologies are very stable and their development,
deployment, and adoption happens quite slowly; on the order of decades. If
Dart does become widely adopted (and with the support of browser markers)
it'll likely remain in place for a long, long time, far longer than the latest
JavaScript framework or veneer language de jure.

Even if Dart does become widely adopted, Dart hasn't got a hope of truly
replacing JavaScript, at least for the foreseeable future (>10 years), as both
a Dart VM and a JS VM would have to coexist in all browsers for reasons of
backward compatibility. Yay, browser codebase bloat!

------
INTPenis
Before Google Reader was cancelled I don't remember people worrying this much
online about each new Google service and its longevity.

Seems like a non-issue to me. When we run out of real criticism against Google
we just make some up because they're big and.. you know.. playa hatin'. ;)

Try to remember that it's first and foremost a search engine with ad-revenue.
Anything else is a product of a liberal work environment and driven employees.

~~~
smacktoward
_> Try to remember that it's first and foremost a search engine with ad-
revenue. Anything else is a product of a liberal work environment and driven
employees._

But that's actually a _really good reason_ to hesitate a bit before betting
your own project's success on anything they put out that isn't directly
related to the search engine or the ad products. It's not "playa hatin'" to
recognize that things from Google that aren't strategic to them may get
dropped some day, it's just being pragmatic.

------
cromwellian
This article isn't about Dart, it's about IE6 and ChromeFrame. Microsoft
itself is discontinuing support for IE6 next April. Period. It's dead.

You're blaming Google for not supporting a dead platform that not even
Microsoft is going to support any longer.

It's time to upgrade your internal systems. Don't blame Google for not wasting
resources on a shitty broken browser that causes developers to waste time
supporting.

IE6 needs to die, die, die.

~~~
andybak
Chrome Frame is also useful for later IE versions. IE8 is becoming the thorn
that IE6 once was.

------
jdonaldson
FWIW, Haxe is a solid alternative if you're looking into alt-js or cross
platform (mobile) development: [http://haxe.org/](http://haxe.org/)

It doesn't have the money of Google, but it has been around for 8 years, and
is backed by its own non-profit foundation. It just recently hit version 3.0:
[http://haxe.org/manual/haxe3/features](http://haxe.org/manual/haxe3/features)

It continues to make steps forward with new cross-platform development
frameworks like openfl. [http://www.openfl.org/](http://www.openfl.org/)

------
coldtea
> _During the meeting one person said that about 15% of our users are still
> working with older browsers and we don’t want to lose them if Dart-generated
> JavaScript won’t work in Internet Explorer 7 or 8. I immediately answered
> that this wouldn’t be an issue, because several years ago Google created a
> smart way to automatically download Chrome’s JavaScript VM if the
> application runs inside IE. The name of this smart solution is Google
> Frame._

Err, Google Frame is not a "solution" for Dart not running on older IE
browsers and it doesn't just download "Chrome's Javascript VM". It's (was) a
way to install a different web engine for IE altogether, based on Chrome.

Second, it's not "automatically downloading" (which might give the impression
that it's transparent to the user) -- you have to install it.

------
_random_
It is loosing to TypeScript already.

------
mark_l_watson
I was playing with Dart and found it really nice for both server and client
side development. However, I ended up setting Dart aside (as I did for
ClojureScript) and worked on my JavaScript skills.

~~~
spankalee
I hope you check it out again as we reach 1.0. We're going to be able to give
server-side some more attention after 1.0 too.

------
slm_HN
Didn't Larry Page say "we're putting more wood behind fewer darts" when he
took over?

~~~
packetslave
fewer arrows

------
cmccabe
Google didn't have a choice about Chrome Frame. The new Internet Explorer 10
doesn't support plugins that are as invasive as Chrome Frame. See
[http://msdn.microsoft.com/en-
us/library/ie/hh968248%28v=vs.8...](http://msdn.microsoft.com/en-
us/library/ie/hh968248%28v=vs.85%29.aspx)

Chrome Frame on older Internet Explorer versions shouldn't really need to be
updated that much, since those browsers aren't changing that much. Also, I
find it really hard to believe that the kind of IT department that decrees
that everyone has to use IE6 (or whatever) would ever allow such an invasive
third-party plugin as Chrome Frame in the first place.

The limited browser compatibility of dart.js is a real issue and probably is a
dealbreaker for some enterprise situations. But there's no need to bring
Google Reader into this-- it has literally nothing to do with it.

The other thing which everyone seems to be missing here is that even if Google
does "become bored with Dart," there will still be an open source community to
support it. Coffeescript has been around forever without any sugar daddy. A
big part of the reason for using open source technologies is to avoid vendor
lock-in and other similar questions about the future.

~~~
bradleyjg
It is very difficult to move a non-trivial product from corporate developed
with source code available to community developed even if both are technically
open source.

If things like design docs & decisions, the main bug tracker, commit rights,
and so on are all internal you end up with no one with the institutional
knowledge to take over if the company decides to drop it. The most famous
example of this is probably the open sourcing of Netscape Navigator which lead
to a four year gap before the next release, due to a ground up rewrite.

------
andyl
Dart is part of Google's strategy to replace open-standards with its own
proprietary walled-garden. Let's hope it doesn't work. Stay away from Dart.

~~~
cromwellian
Stay away from Kool Aid. ;-) Really, this is unfounded and unjustified
speculation.

~~~
RyanZAG
Hi Ray

I respect your work a lot, but are you sure your view is not biased a bit by
working for Google? It's sometimes hard to disconnect from that kind of
working environment to see the kind of issues into the future certain
practices can have.

Dart turning into something bad for the web is really not all that unfounded
or unjustified. You don't have to agree, but you shouldn't dismiss that
argument so quickly.

Dismissing this kind of thing is what leads to 'impossible' scenarios
happening. The point needs to be raised, repeatedly, and hopefully within
Google as well. As long as a possibility exists for Google to misuse Dart,
there needs to be voices speaking out against that possible misuses _before_
it occurs, not after.

~~~
cromwellian
Dart is no more an attempt to replace the web with a walled garden than GWT is
(which is what I work on). It is a tool, like Typescript, like CoffeeScript,
like ClojureScript, like Emscripten. There's no "plan" to create a lock-in
walled garden based around programming language.

Google is interested in making the experience of developing web apps better,
and making web apps more performant. They have many different strategies for
this: Chrome DevTools, AngularJs, Web Components and other spec improvements,
Dart, Closure Compiler, GWT, etc. The company does not make money from selling
the Chrome browser, and unlike Microsoft, it doesn't make money from selling
an OS. The incentives are not aligned like the way they were with IE and
Windows. At the end of the day, Google makes money from people using the web.
The real threat is from the Web falling too far behind Native.

Also, the Web is far far bigger than the programming language Javascript. For
the first 10+ years of the Web, people hardly even used JS except for form
validation, and in general, on mobile, excessive amounts of JS lead to poor
performance.

There's still a ways to go on just HTML and CSS, and I'd frankly be more
concerned about fragmentation in that area rather than fixation on Javascript.

The way I see the potential of a DartVM is the same as OdinMonkey+asm.js. Dart
compiles to JS, but DartVM will run it slightly faster, but it will always
work on all browsers. Likewise, asm.js will work on all browsers, but will
always run faster on OdinMonkey. Both Mozilla and Google have VMs that
potentially bifurcate performance across browsers, but still produce outputs
that can run (albeit slower)

The concerns you should have about Google misusing Dart I think should really
be about Google misusing market share. It's not really Dart per se that's the
issue, it's the fact that if Chrome is the dominant browser, Google can drop
anything they want into it, not just Dart, but any APIs they want.

~~~
pcwalton
The asm.js comparison is a false equivalence. It is not possible (without
explicit effort, e.g. checking the UA string) for Web authors to ship asm.js
that does not work in Chrome, because asm.js is just JavaScript. With Dart,
Web authors may end up not shipping the JS fallback, or not testing it, thus
locking the Web into Chrome. That is why turning on the Dart VM for Web
content would be a problem.

~~~
cromwellian
It's a false equivalence in theory, but in practice, I don't think so.
Realistically, how many developers are not going to ship something that
doesn't work on Firefox and Safari, especially, Mobile Safari? Especially when
the tools to do this are trivial and automatic.

It's much harder to write cross-browser CSS, with full GPU compositing, and
responsive layout than it is to compile Dart to JS. What is the incentive for
the developer not to do is and leave a huge chunk of marketshare on the table
with little effort?

Stuff like prefixed-CSS is a far far worse threat to the Web than a DartVM.

~~~
pcwalton
Of course people won't ship something that doesn't work cross-browser today.
But by that logic, no proprietary feature is worth worrying about. Consider a
hypothetical future in which Chrome had 90% market share: as a Web dev, would
you bother shipping or testing the JS fallback?

History tells us what will happen.

~~~
cromwellian
If Chrome gets 90% marketshare, there'll be other problems besides Dart.
History also tells us that even if all vendors adhere to standard specs, there
will be implementation differences and bugs that still require developers to
write browser specific code and fixups.

Again, I'm not disagreeing that there is a danger of fragmentation, but this
won't happen _because of Dart_ , but because of other forces. The criticism
over the DartVM is being blown way out of proportion.

The best defense against any of this happening is not to protest Dart, but to
make sure the browser market is competitive.

------
iopq
> Still forced to support IE 7/8

I want people who use this shit to die already.

