

What do you guys think about Dartlang? - Pharohbot

Dartlang had a rough start, but during its new update during the summer, it opened my eyes, and apparently MANY others as well according to http:&#x2F;&#x2F;www.i-programmer.info&#x2F;news&#x2F;98-languages&#x2F;7857-the-astonishing-rise-of-dart.html 
it also broke into the top 20 languages of 2014 in this source: http:&#x2F;&#x2F;www.tiobe.com&#x2F;index.php&#x2F;content&#x2F;paperinfo&#x2F;tpci&#x2F;index.html
So what do you guys think of Dart? Im hoping mainly to use it for server-side scripting and rewrite some of my nodejs apps in Dart.
======
jkears
I am a 20+ year senior architect with a passion for anything that brings
productivity to the area of application development and Dart ranks extremely
high on the scale of both client and server side web application development.
I have 14 years of .NET development experience and came to love C# and all the
large eco-system that was developed to support implementation of any web
application came to need. Thing was that when I adopted Silverlight I was
spoiled with the richness of RIA based applications but as time rolled on it
became very clear that JavaScript won the web war and so I researched many
years to conclude that Dart has most of what I had and is a great place to
camp out for a while, contribute to the every growing developer community and
such. As for what it lacks, I'd agree with most other comments so far however
I also feel that all concerns will be addressed especially the JS INTEROP
concerns. One of my main concerns is that of resultant script size. I think
(but I am not 100% sure) that the advent of lazy-loading support for Dart
should mitigate some of these concerns along with continued updates from the
Dart team. Otherwise, if you have not tried Dart, and you are a skilled Java
or .NET developer, then you may want to test drive it as you will pick it up
in an evening, and if your anything like me, you will never want to leave it!

------
woven
I evaluated Node, intrigued by the idea of event-driven, non-blocking client
and server side code written in one language, but I found it to be a wild
ecosystem with dozens of frameworks and not enough support and guidance for
them.

I found Dart with its promise to bring some structure and sanity to that
approach, including building a language from the ground up to do away with
JS's quirks, and it has delivered. I built [http://woven.co](http://woven.co)
with Dart and Polymer.

The biggest pain is when you'd like to use a JS lib that isn't wrapped for
Dart yet. They're hard at work to make it much easier to interoperate. They're
a kick ass team, great docs, first class support in WebStorm, and its future
seems bright. There are issues with Polymer like SEO that are inherent in any
SPA really, but there are experiments with React-like Virtual DOM diffing and
others too.

On the server, the dart:io is powerful and Shelf looks like an awesome set of
abstractions for http servers and more that I hope to play with soon.

Dart is treated with heavy skepticism I think often unduly, but judge it for
yourself and I think you might be pleasantly surprised.

~~~
yzzxy
Would you like to see it replace JS? I think many would argue something should
before we train an entire generation in the idiosyncrasies of JS.

~~~
d2p
I would love to see this happen; but I'm just not convinced it will. I just
don't see MS/FF ever choosing to build/maintain a Dart VM for their browsers
(even though I think it would be a massive step forward for web dev).

(Google should've spec'd a generic VM together with MS+Mozilla and built Dart
on top of it; but that ship has sailed!)

~~~
woven
I don't think anyone's banking on Dart unseating JS, and it doesn't need to.
It compiles to JS to work across modern web browsers while smoothing a fair
deal for you in the way of optimizations and cross-browser issues. But that's
saying nothing of the real reason folks choose Dart, or JS or any
transcompiler or framework for that matter: the ways in which it may benefit
you and your projects, relative to your other choices.

In Dart's case relative to JS, I think the language is more sane, debugging
easier, the core libraries really powerful, the tooling more uniform, and the
ecosystem more organized. I like the idea of one language on client and
server, and yet the way it's done in JS-land with Node feels wilder and less
approachable than I liked when I researched it some years back. That's just
me, and admittedly I don't have all that much experience in the world of JS
before I dove into Dart.

There are some tradeoffs of course, the biggest being that you sort of block
yourself off from a world of JS libraries and even community to some extent.
There's dart:js interop to wrap any JS library, and work being done to make
that even easier with js:interop, but I think there'll always be some
disconnect. Still, it's about costs versus benefits, and there are many
benefits that I think ultimately outweigh the costs.

The point is there are a whole host of reasons to choose Dart, and I think
it's foolish for any one of those reasons to be because you think it'll unseat
JS. It won't, but there might be merit to it unseating JS in your own
workflow.

------
afsina
I think Dart client side development cycle is unmatched. Develop fast with
Dart VM and Dartium Browser and deploy as JavaScript anywhere. Kind of a
better GWT.

Language is good. Also they provide a lot of tools. Package manager, nice SDK,
Profiler, Debugger, Code Analyzer, Formatter, Tree-Shaker and several editors.
VM speed is close to JVM.. Dart is a very good server language as well. they
provide nice command line support. You need to give a try and see to decide.

But there are places language and tools has not yet matured and community
adaptation is still weak.

------
cnbuff410
I use it and love it. I mainly use it for frontend stuff to replace most of
the javascript. Writing code in Dart is easy, fun and PREDICTABLE.

It also force me to write frontend code in a more engineered way because
that's how it works, which benefits myself down the road for the millions of
times I revisit and update the code.

My only problem for Dart is that its doc is not complete and dart:js is
lacking comprehensive example for complex library.

But all in all I enjoy Dart a lot for my frontend development.

~~~
Pharohbot
Nice, nice, Im a 15 year old web designer that started working on node 2 weeks
ago, but then I was introduced to Dart and it really intrigued me. I have
basic knowledge of JS and Im taking an AP Java class in school, so its a
win/win for me xP

------
zoechi
I'm developing with Dart full-time since about 1 1/2 years and I'm just glad
that I don't have to use JS anymore. JS has still more libs ready to use but
the quantity and quality of the packages available for Dart are raising fast.
I enjoy that I can use the same language client- and server-side and share a
lot of code. Upcoming features will make Dart even more appealing (Appengine
support, DartVM in Chrome, async/await, ...) The Dart team is always busy
improving the ecosystem :-)

~~~
iends
Is DartVM in Chrome confirmed? I keep hearing it will happen, but haven't seen
anything official.

~~~
d2p
I recently heard someone (Gilad?) say that it's still not "a done deal", but
they're confident it will be agreed. Can't come soon enough for me; will make
convincing others that Dart is here to stay much easier.

------
wstrange
The fun factor in Dart is super high. It's just a joyful experience with great
tools.

And no need for a "Dart: the good parts" book. It's all good :-)

------
d2p
We're not using Dart commercially currently; though we are prototyping in it
as a candidate for vNext of some very large applications. To me, it seems
incredibly promising. Every time I have to go back and write JS in our
production apps; I seriously miss the static analysis Dart does; it's so
clunky to find trivial errors at runtime in a browser that the editor
should've been able to show you!

However; there are some frustrating holes in it though that have made our
prototyping tricky; such as:

Serialisation; not even JSON support. Alan Knight is working on a
Serialisation library; but even that is frustrating to use (it doesn't support
DateTimes at all well for ex), so I'm generating having to generate
serialisation code from C#.

No private pub server. If you want to host Dart packages internal to your
company locally; you're out of luck. Although the source for pub.dartlang.org
is open; it's written to only work on AppEngine; which kinda sucks.

We're also slightly nervous that the Dart VM _still_ isn't in Chrome. I don't
know what's taking so long, but this would seriously help convince others that
Google is really invested in Dart.

~~~
xxgreg
> No private pub server. If you want to host Dart packages internal to your
> company locally; you're out of luck.

You can store packages on a private git server, see the pubspec.yaml docs
here:

[https://www.dartlang.org/tools/pub/dependencies.html#git-
pac...](https://www.dartlang.org/tools/pub/dependencies.html#git-packages)

It is also possible to run your own private pub server. But currently the only
available implementation relies on AppEngine. According to the author it's
possible to just implement the fetch protocol using static files served over
HTTP. I.e. create some directories and put the json and tar.gz files in the
correct places.

[https://www.dartlang.org/tools/pub/dependencies.html#hosted-...](https://www.dartlang.org/tools/pub/dependencies.html#hosted-
packages)

[https://github.com/dart-lang/pub-dartlang/](https://github.com/dart-lang/pub-
dartlang/)

------
iends
One thing that bothers me about Dart is that the Angular.js team decided to go
with their own language AtScript, even though they were quite experienced with
Dart in AngularDart.

Do they know something about the health of Dart that we don't?

~~~
jmesserly
They're planning to use AtScript to transpile to ES6 and Dart by extending the
ES6 transpiler called Traceur (source:
[https://docs.google.com/a/google.com/document/d/11YUzC-1d0V1...](https://docs.google.com/a/google.com/document/d/11YUzC-1d0V1-Q3V0fQ7KSit97HnZoKVygDxpWzEYW0U/edit)).
The basic issue for Angular is they'd like to support users of ES5, ES6, and
Dart with the same code base. That's currently a bit hard to do with a Dart
code base (although a lot of us want to see that get better!)

disclaimer: I've worked on the Dart team and on the Traceur compiler in the
past too. So I'm definitely not unbiased on these topics :)

~~~
woven
John! And with the Dart team no longer? Where are you now?

------
kachhalimbu
You might be insterested in quire.io [1] team's article [2] about using dart
to build a large application

[1] [http://quire.io](http://quire.io) [2]
[http://simonpai.github.io/2014/09/03/quire-building-with-
dar...](http://simonpai.github.io/2014/09/03/quire-building-with-dart/)

------
os-store
I like it,so great!from os-store

