Dart's Sweet Spot is Web Apps

I've been talking to different people interested in Dart, and a pattern is emerging. It's becoming more clear that Dart is appealing to application developers who are interested in building modern web apps. My theory is that Dart's adoption will accelerate most quickly from developers looking to build apps.

Bringing more apps to the web is a very good thing and is crucial for the long term success of the web. Right now, it's easy to argue that when software developers hear the word "apps" they think of mobile native apps. This is dangerous for the web, because if developer mindshare shifts away from the web as a place to deliver high fidelity and engaging application experiences, the web runs the risk of slowing its evolution and remaining stuck as a document platform.

Of course, the web has done tremendously well as a document platform. It's clearly the most successful and widely distributed information platform we've seen. To be fair, the web isn't a slouch for apps, either. Thanks to features like fast JavaScript engines, XMLHttpRequest, local storage, web workers, Canvas, and a slew of modern HTML5 APIs, the web can deliver relatively high performance applications to modern browsers.

Unfortunately, the typical application developer has a set of requirements and expectations that aren't easily answered by the web platform that we know and love today. For example, the application developer needs IDEs with powerful features like refactoring, integrated debugging, and comprehensive project visibility. The app developer also needs standard and integrated libraries, helping save time and increase commonality across projects. The app developer also needs a structured programming language, with the right mix of familiar features and unique optimizations for the platform.

The Dart effort is a comprehensive approach at addressing all of the above concerns: structured language, common libraries, optimized virtual machine, modularity, and editors. Dart is also a chance to take a fresh look at the web platform and build an integrated ecosystem without some of the baggage that has built up over the past 15 years or so.

While I believe that some of the web's current designers and developers will take to Dart (and certainly ActionScript developers will find much to like), I don't think web pages and web sites are the current sweet spot for Dart. It's becoming more and more clear that Dart's sweet spot is modern web apps.

The Dart team is working hard to make it easy and exciting for the app developer to build modern web apps. It's no wonder that app developers on other platforms are taking an interest in Dart, for they can see the parallels between their current environments and Dart.

Epilogue

Dart is open source and is currently in Technology Preview, so now is the perfect time to check it out and suggest features and direction. The team and mailing list are friendly, so don't be shy. You can try Dart without installing anything, with (what else?) a browser based app.

Popular posts from this blog

Lists and arrays in Dart

Converting Array to List in Scala

Null-aware operators in Dart