Todd Fluhr looks at Google's web-programming language Dart, which even at its unfinished stage, says a lot about Google's plans to dominate the mobile consumer market.
Dart goals and features overview
- Create a structured yet flexible language for Web programming.
- Make Dart feel familiar and natural to programmers and thus easy to learn.
- Ensure that Dart delivers high performance on all modern Web browsers and environments ranging from small handheld devices to server-side execution.
- Object oriented programming language for the web
- Class-based single inheritance with interfaces
- Optional static types
- Real lexical scoping
- Familiar syntax
Notice the emphasis on "modern". Dart (as it is now) is not compatible with older browsers (I.E. 6, etc). Dart isn't concerned with older browsers and backwards-compatibility, but instead is aiming to target such platforms as the Android OS Ice Cream Sandwich and Samsung's newest devices. Google promises future Dart features such as Brightly, a cloud-based IDE, a cross compiler that compiles Dart for compatibility with non-Dart browsers, and a native Virtual Machine that will integrate with Chrome. Of course these things are for the future once the current version of Dart is stabilized, debugged, and expanded
There's an old joke about beta release software that one should wait for Version 2.0 rather than be a bug-tester. It doesn't help that stability, essential features, and amazing functions aren't currently delivered but only promised for some future version. Dart (in its current form) appears more like an open-source beta release begging for crowd-sourced development than the rock-solid development tool depicted in its promotion. As is, the current version of Dart is not done. It's incomplete but promises future greatness.
Converge and conquer
This all begs the question of whether one should embrace Dart or dismiss it as just another coding language with ambitions of grandeur.
To answer this question one must ask what target Google really hopes to hit with its Dart. What would prompt developers to learn a new but incomplete coding language that's not backwards compatible? Is Google crazy or what? As Hamlet said, "I am but mad north-northwest: when the wind is southerly I know a hawk from a handsaw." The answer, my friend, is blowing in the wind.
The answer is as simple as which way the economic wind is blowing. Dart is Google's attempt to position itself for market control of the emerging convergence of web, tablet, and mobile devices. By creating a "unified" coding language aimed squarely at mobile platforms, Google is revealing a long-term strategy to dominate the mobile consumer market.
This is Google's target and Dart is but a part of a cross-platform attack. Consider that some Google products such as Chromebooks rely entirely on web applications. Also consider that one of Dart's targets, the Android OS Ice Cream Sandwich, is set to unify phone and tablet operating systems. Ice Cream Sandwich is Google's first volley at making a unified mobile OS for smartphones and tablets, and Dart the hoped-for Rosetta Stone of all future iOS applications and browsers. The convergence of these markets seems to demand such a coding- lingua franca. Google intends that language to be theirs.
But why should developers embrace Dart? Obviously Google has big plans for the future of Dart as the primary development tool for web and mobile platforms. Developers who ignore the marketing powers aligning behind Dart are advised to do so only at their own risk.
Currently Dart is available as an open-source product. Google hopes to promote and propagate the development of Dart as widely as possible. This isn't to create a coding language better than sliced bread, but to lay the groundwork where all future bread is buttered by Google apps on iOS and other closed platforms.
Web Developers will find much to admire in the anticipated functionality of Dart. It is designed to assist with both small projects and large complicated projects. Google's open-source community page provides code samples, extensive tutorials, resource libraries, language specifications, and a community forum. Google intends to do everything in its power to make Dart a standard coding language even if the partners and market for it aren't yet in place. But Google believes they will be.
A few things are certain about Dart. Its features and language will change with future releases. There will be new functions, new behavior modifications, and new add-ons. It currently will run on Androids but it's not backwards compatible with older browsers. The most important thing is that Dart isn't finished. Not by a long shot, if Google has anything to say about it.