3 ms·
I'm using DartVM on the server side for server-side data-processing projects since 2016 (mostly web crawling, data-extraction and specialized search). (disclaim
by isoos 8y ago
I'm using DartVM on the server side for server-side data-processing projects since 2016 (mostly web crawling, data-extraction and specialized search). (disclaimer: I'm an ex-Googler with lot of Dart experience).
The pro side:
- DartVM is fast enough. Not JVM-fast, not always Go-fast, but usually faster than Node, Python and Ruby. It varies over time, other VMs also improve, then Dart improves, I haven't checked it recently. Most of the time my database IO is the limiting factor, even with a lot of text-extraction and processing.
- Great, well-thought out API, language, tooling, parallelism and concurrency primitives. I sometimes revisit code that I've written three years ago and I'm productive fast. It is readable, it is easy and safe to refactor if needed.
- No lib/framework fatigue like in Node.js. For many things you can get away with the standard APIs.
Cons:
- Database drivers are limited. Postgres works nicely, others reported MySQL working well. I've created a very limited Elastic client, but I'd also loved to see a (working) Cassandra client too. Started writing one, seems like not much work but at the moment I can't really justify it. Maybe I will port my very old Riak client to Dart2 some day.
- I miss the ability to include Lucene directly (a very specific need - I know). That may change though in the near future, as DartVM is likely to get much better native interfaces, and maybe it won't be too hard to include such things.
- Small server-side Dart community (compared to well-established server-side languages).
My advice: start the project only if you are happy with the current level of libraries. Things are likely to improve, but likely not super-fast.
Would I choose differently today? Not at all.
- rufugee 8y agoThanks! I appreciate it!