C++ in the Multi-Device Enterprise

In every conversation, social network post and industry article, you hear about the need for multi-device support inside an Enterprise. Terms like BYOD appear in most articles and Enterprise strategies. Computing in a modern Enterprise is not only a Microsoft Windows world. Enterprise organizations need to support a wide array of devices that their employees are using to be more productive. The modern enterprise also needs to support additional software architectures including multi-tier systems, cloud computing, REST and SOAP web services and more.

A large percentage of the desktop applications used in enterprises are written using C++. Included in this list are Microsoft Office, OpenOffice and most of the web browsers. C++ has been used inside enterprises for business critical applications and multi-tier architectures including SOAP, REST and CORBA. Most enterprise operating platforms are also built with C++. Most enterprise SQL databases are also built using C++.

When you look at the growth of BYOD (Bring Your Own Device) use inside enterprises you will see that many of the mobile apps that are used are built with C++. It’s not just a Windows and Intel only world anymore.

Java is also very present in Enterprise computing today. Did you know that the HotSpot Java Virtual Machine is written in C++? When Java developers need to get closer to the operating system and hardware, they use the JNI (Java Native Interface) to get to their native C++ code.

If you want to compile and deploy your apps in a multi-device enterprise you have choices in what tools, frameworks and SDKs you can use to build Windows, Mac, Web and Mobile applications.

The old way to target multi-devices: Windows dev team and Mac dev team using different tools and language variants. This tool approach causes duplicate development and QA efforts. This approach leads to increased development cost. You end up with slower time to market or delay in delivering a Mac version.

Windows/SDK and Windows/RT – C# or C++ using .NET or MFC

OSX/SDK – C++ or Objective-C

iOS/SDK – C++ or Objective-C

Android/SDK – Java

The C++Builder way allows you to use one development team, one tool. You can create the application once. Click to compile to Windows. Click to compile to Mac from the same project. No extra development effort. This approach reduces the lines of code by up to 80% using C++Builder’s proven visual development solution. The results: Faster time to market for Win/Mac at lower cost.

Traditional cross-platform tools

You could choose to use one or more C++ language compilers along with a common framework like Qt or WxWidgets. This approach still requires separate development efforts for each device form factor and device type. This approach may not scale to other platforms, software architectures, services and form factors.

HTML5 cross-platform tools

For your enterprise multi-device development you might choose to use an HTML5 cross platform approach using Embarcadero’s HTML5 Builder, Adobe Phonegap, and products from Sencha and Kendo. You may not be able to tune your applications for better user experience, performance and execution predictability because of a virtual machine being between your application and the device.

“Platform Native” virtual code tools

This type of multi-device approach allows you to use a common programming language while you still would build your applications using several different platform SDKs.

Rapid, Native Code Multi-Device Enterprise Development

Using C++Builder’s component based, visual development and optimizing native code C++ compilers, you can quickly prototype, build and deploy native device applications for Intel processors and use the same project codebase for ARM processors later this year (see RAD Studio Mobile Roadmap). Using the C++Builder’s approach your applications have maximum performance, are highly tunable, have the smallest possible memory footprint, and provide a low latency user experience.

C++Builder directly supports all of the major enterprise databases, SOAP and REST web services, Microsoft Azure and Amazon cloud services. There is also a large ecosystem of additional components and tools that support a wide range of additional enterprise architectures and services.

C++ is the choice for Multi-Device Enterprises

Here are just a few of the reasons why C++ (and C/C99) is the industry choice for native code, multi-device enterprise application development:

Join me Tuesday March 26 for my webinars: C++ in the Multi-Device Enterprise

Tuesday, March 26, 2013

6:00AM PDT / 9:00AM EDT / 13:00 UTC

11:00AM PDT / 2:00PM EDT / 18:00 UTC

5:00PM PDT / 8:00PM EDT / 11:00AM 27-Mar Australia EDT

This webinar showcases how C++ can help satisfy the Enterprise’s need to support multiple devices on desktops, servers, web, mobile and multi-tiers in their infrastructure. Coverage includes C++Builder’s support for ISV and enterprise class integrated database, middleware and cloud computing. With C++Builder XE3, you get integrated support for SQL Server, Oracle, Sybase, DB2, InterBase, SQL Anywhere, SQLite, MySQL, and cloud services including Windows Azure and Amazon.