Google Gives Developers New Tools: Dart SDK, Portable Native Client

The new tools will help developers expand their applications and build better code faster, according to Google.

Google has unveiled two useful new tools for developers, a new Dart 1.0 software development kit (SDK) and a new portable native client that lets developers build Web applications once for any hardware platform and then deploy it for use on any other platform.

The Dart 1.0 SDK is a cross-browser, open-source toolkit that aims to help developers in building structured Web applications, wrote Lars Bak, a Google software engineer, in a Nov. 17 post on the Chromium Blog.

The Dart project was introduced in October 2011 as a structured yet flexible language for Web programming, according to an earlier eWEEK report. The project's goals were to make Dart feel familiar and natural to programmers while ensuring that Dart delivered high performance on all modern Web browsers and environments ranging from small handheld devices to server-side execution.

The release of the new SDK 1.0 "marks Dart's transition to a production-ready option for Web developers," Bak wrote. The Dart SDK 1.0 includes a simple yet powerful programming language, robust tools and comprehensive core libraries that can be used by developers to "make your development workflow simpler, faster and more scalable as your projects grow from a few scripts to full-fledged Web applications," he wrote.
Among the included tools are the Dart Editor, a dart2js translator that allows Dart code to run in modern Web browsers such as Firefox, Chrome, Internet Explorer and Safari, and the Pub package manager, which includes more than 500 packages from the community.

"Going forward, the Dart team will focus on improving Dartium [a custom version of Chromium that includes the native Dart VM], increasing Dart performance, and ensuring the platform remains rock solid," wrote Bak. "In particular, changes to core technologies will be backward-compatible for the foreseeable future."

To get started, developers can go to for more information about using the new SDK, he wrote.

Google introduced a beta version of the Dart SDK and Editor in July.

The new Portable Native Client (PNaCl) from Google gives developers new capabilities for compiling their code once and then being able to have it run on any hardware while embedded in a Portable Native Client application in any Website, wrote David Sehr, a Google engineer, in a Nov. 12 post on the Chromium Blog. The PNC follows in the tradition of the Native Client, (NaCl) which "brings the performance and low-level control of native code to modern Web browsers, without sacrificing the security benefits and portability of Web applications," wrote Sehr. "By helping developers directly leverage the power of the underlying CPU and GPU, NaCl enables Web applications from photo editing and audio mixing, to 3D gaming and CAD modeling."

The PNaCl "works by compiling native C and C++ code to an intermediate representation, rather than architecture-specific representations as in Native Client," wrote Sehr. "The LLVM-style bytecode is wrapped into a portable executable, which can be hosted on a Web server like any other Website asset. When the site is accessed, Chrome fetches and translates the portable executable into an architecture-specific machine code optimized directly for the underlying device. This translation approach means developers don't need to recompile their applications multiple times to run across x86, ARM or MIPS devices."

For now, the PNaCl only works with Chrome browsers, according to Sehr. Developers can, however, "make their PNaCl applications compatible with other browsers via pepper.js, which allows applications to use the Pepper API from JavaScript."
Development tools are always being created by Google. In June, Google unveiled a new Cloud Playground environment where developers can quickly try out ideas on a whim, without having to commit to setting up a local development environment that's safe for testing coding experiments outside the production infrastructure. The new Cloud Playground is presently limited to supporting Python 2.7 App Engine apps.

Earlier in June, Google opened its Google Maps Engine API to developers so they can build consumer and business applications that incorporate the features and flexibility of Google Maps. By using the Maps API, developers can now use Google's cloud infrastructure to add their data on top of a Google Map and share that custom mash-up with consumers, employees or other users. The maps can then be shared internally by companies or organizations or be published on the Web.

Google also recently created a new Mobile Backend Starter that lets developers focus on building and selling their apps by automating the back end of apps development. The Mobile Backend Starter works with Google App Engine. The Mobile Backend Starter was first announced at the Google I/O 2013 Developers Conference, where it was the topic of the "From Nothing to Nirvana in Minutes: Cloud Backend for Your Android Application" presentation.