The old Borland development tool C++Builder today gets a new architecture called native multi-device development, along with a new name: C++Builder XE3.
The product is the result of work that began in 2008, when Embarcadero purchased the CodeGear tool division of Borland, according to Michael Swindell, senior vice president of marketing and product management at Embarcadero. It was then that the company saw the potential of delivering applications on multiple devices, and the need to empower developers to do that efficiently and cost-effectively.
“Over the years, Windows has dominated the client landscape. All the way back in 1999, it was Windows 98 everywhere; you wouldn’t see anything else,” Swindell explained. “Five years ago, it was Windows XP, but we also started seeing a lot of Web applications being driven by Java servers and Web servers. When it comes to client devices, though, pretty much Windows PCs were it. And that really follows what our products always have been about, going back to Borland and even until as recently as last year—pretty much a Windows focus.
“But there’s been a change in the client landscape. We say it’s the client revolution, but it’s really the dominance of Windows as a single-client environment is changing very quickly,” he continued. “It’s something we really haven’t seen in the modern computing era. I was in a meeting [recently] over in Brisbane, and there were three companies in the meeting, and we’re all working on the same document, the same data. There were two Lenovo Windows PCs, two MacBook Pros, two iPads, and one was docked with a physical keyboard dock, and a Motorola Xoom. And that was the client mix in the room. And there was not even a mention of it in the room. That is the world that we’re in now. It has a significant impact on enterprises, and a significant impact on software developers. ISVs, or anybody building applications, can’t ignore that client devices are very diverse.”
What C++Builder XE3 does, according to Swindell, is enable developers to target multiple devices from a single C++ codebase. This is accomplished by the tool’s C++ compiler, which generates a native Intel application—not a wrapper application, he emphasized—that can be deployed to any device, and gives users the experience they expect from the device. (The tool also lets Objective-C programmers work with the Apple-supported Clang 3.1 compiler.)
“For this new client device world, native is key to the preferred types of applications that users want to use,” Swindell said. “Virtual code platforms, like Java and .NET on the server, work well for that environment because the primary driver for those platforms was code safety and protection…because these are enterprise applications that are going to be running large amounts critical data, with many users accessing them.
“We’re making the point that native code is really the choice for the new client,” he added. “Java and .NET are great for server applications, with ASP.NET and various Web frameworks, but for these client devices, the user experience is critical, as well as the ability to target all these devices. Java’s not available on all the devices, and .NET’s not available on all the devices. Native’s really the best way to target that.”
Swindell said today’s release targets three platforms: Windows PC and Windows slate devices, and Mac, all running on Intel processors. Support for ARM-based devices is expected next year, after support for Android and iOS systems.
“We see this only growing in diversity,” Swindell said. “The next step, we’re already starting to see automotive head units that are running flavors of Android, there are rumors of an Apple auto device and partnerships on the horizon, certainly smart TVs driven by Google’s platform, and the Android platform and Apple’s platform are working themselves out. We’re seeing these consumer device platforms invading everywhere, in our entertainment systems, our appliances, our televisions, and we see this only continuing to diversify.”
The traditional approach to dealing with new platforms as they are delivered has been to add another development team with another set of tools, and fund them through the revenue (or the opportunity for revenue) from the new product. But, he noted, every time you add a team, tools and new technology, you’re adding to your scheduling, development time and cost.
C++Builder XE3 is compliant with the C++11 standard that was just released, and Embarcadero has worked closely with the library standards groups on the update. Further, the company has added Embarcadero Standard Extensions to the tool, which lets developers using ANSI ISO C++ use the agile extensions to leverage such things as properties, methods and events as they would in C#, Delphi, Java or Visual Basic, Swindell said. The extensions also enable visual development and rapid prototyping, he said, “so it really helps speed the development of C++ coding and working with various visual frameworks and visual development.”
Finally, C++Builder XE3 includes a 64-bit compiler that the company said generates applications that can utilize more memory and data, and also access APIs, device drivers and system services that are 64-bit, so applications perform better and have more power.