C++ in the Multi-Device Enterprise

Posted by on in Blogs
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.

Multiple vendor tools targeting multi-devices or one tool chain and codebase

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:

  • ž#2 and #4 languages for SourceForge open source projects

  • Top commercial software is written in C++ - Microsoft Word, Adobe Photoshop, Google Chrome, Firefox, Mac OS X, iOS, Oracle database, Microsoft SQL Server, MySQL, Games

  • Top web companies use C++ – Facebook, PayPal, Amazon

C++Builder XE3 provides the native, multi-device solution that enterprises demand:

  • Native Multi-Device Targeting Architecture

  • Windows & Mac today. iOS & Android announced for 2013

  • C++98, C++TR1, and C++11 language standards

  • ANSI C, ISO C, C99, and C11 language standards

  • Dinkumware STL and Boost 1.5

  • CLANG compatible - http://clang.llvm.org/

  • Agile C++ language extensions

Why is C++Builder XE3 the perfect fit for multi-device enterprise application development?  C++Builder XE3 provides:

  • Standards based C/C++ language – C++11

  • Agile, visual development

  • High Performance Seamless DB and Web/Cloud Services Connectivity

  • SQL database support for Oracle, DB2, MS SQL, InterBase, Firebird, PostgreSQL, MySQL, Sybase ASA, Sybase ASE, Informix, SQLite, MS Access, ODBC bridge, dbExpress bridge - using FireDAC multi-device data access (http://www.embarcadero.com/products/rad-studio/firedac).

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.

During the webinar, you will learn how to:

  • Leverage platform services, devices and sensors in your multi-device C++ applications

  • Build multi-device C++ applications that connect with enterprise SQL databases

  • Create multi-device C++ desktop applications that consume web services using SOAP and REST

  • Build scalable multi-tier, multi-device, master detail database applications

Register at http://forms.embarcadero.com/forms/AMUSCA1303CMulti-deviceWebinar3-26

Additional C++Builder Information

Watch/Download the C++Builder 64-bit Compiler Preview Video

Additional details about the 64-bit C++Builder compiler are available in the preview video.  Watch the C++ 64-bit compiler preview video on YouTube at http://www.youtube.com/watch?v=PwwMpBUoR6Y. You can also download the MP4 video file at http://cc.embarcadero.com/item/29197.  The preview video is 9 minutes long.

Try the C++Builder 64-bit compiler

The C++Builder XE3 and RAD Studio XE3 free trial downloads have been updated to include the new C++Builder 64-bit compiler.  Trial downloads are available at https://downloads.embarcadero.com/free/c_builder

Gold User, Rank: 1, Points: 2466
David Intersimone (known to many as David I.) is a passionate and innovative software industry veteran-often referred to as a developer icon-who extols and educates the world on Embarcadero developer tools. He shares his visions as an active member of the industry speaking circuit and is tapped as an expert source by the media. He is a long-standing champion of architects, developers and database professionals and works to ensure that their needs are folded into Embarcadero's strategic product plans. David holds a bachelor's degree in computer science from California Polytechnic State University at San Luis Obispo, California.


  • Guest
    Juan Alfonso Castañe Wednesday, 10 April 2013

    Muchas gracias por la información, nos es muy útil. Sin embargo quisiéramos contar con un libro ( si se pudiera en español) para ver como hacer las aplicaciones para las diferentes plataformas.

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: