Build Data Driven and Native Mobile Apps with RAD Studio XE4

RAD Studio XE4 is an Integrated Development Environment (IDE) for the creation of multi device and true native applications for PCs, iPhone, iPad and other portable devices using a single code base. It includes a wide range of native user interface controls such as buttons, textboxes, listboxes, combo boxes, date picker, custom picker, different keyboard types and service notifications including support for ShareSheet which enables you to share and print using social media.

With the help of RAD Studio, developers will be able to create apps for multiple platforms such as iOS, Windows and Mac by taking advantage of FireMonkey FM3 using a single code base. Moreover, rapid prototyping enables developers to quickly create no-code visual mockups with live or stimulated data and deploy them to actual target devices which can be either PCs, smart phones or tablet.

RAD Studio XE4 provides support for IBLite and SQLite iOS database via dbExpress, FireDAC and IBX. It also includes ISV and enterprise class integrated database connectivity and cloud computing with the help of dbExpress and FireMonkey including support for SQL Server, Oracle, Sybase, DB2, InterBase, SQL Anywhere, SQLite, MySQL in addition to Windows Azure and Amazon Web Services.

RAD Studio XE4 enables you to build rich GUI client, HD, 3D, Windows, Mac OS X, iOS, local and remote database apps including web and cloud based applications. According to official sources, apps developed using RAD Studio reduces the risk of third party attacks or hacking since the code directly runs on the device.

Even though the development environment runs on Windows 7 and 8, developer also needs access to a Mac to run the iOS simulator and do the final packaging and distribution of iOS apps.

InfoQ had a chat with John Thomas, Director of Product Management, Embarcadero to know more about RAD Studio XE4.

InfoQ: Can you share with us the main purpose behind the development of RAD StudioXE4?

The main purpose was to deliver an industry first that solves a very real problem for development teams everywhere, namely managing app development across multiple devices with a single source code base that can deliver the best performance.

Every development team has managed apps on multiple devices and operating systems these days and two primary choices are to use the vendor provided tools, like Xcode for iOS for example, or to use a scripted or VM language solution to try to gain the business benefit of code reuse.

The upside to using vendor tools is that development teams can deliver apps with the best user experience but for each platform/device they have to support they basically have to completely rewrite each application because each vendor tool supports a different language, app framework, and development environment. This is a very costly approach.

On the flip side, a script language solution, for instance using HTLM5/JavaScript can deliver high code reuse but developers have to make serious compromises with regard to their app performance and user experience. RAD Studio XE4’s purpose is to bridge this gap.

InfoQ: How does RAD Studio XE4 benefit developers?

RAD Studio XE4 delivers the best of both approaches as discussed above. It is multi-device and delivers on the business benefit of one team and one source code base but because it is also true native, it delivers apps with the best performance and user experience. This benefits developers by giving them one tool to deliver their apps on multiple devices faster and with the best performance.

InfoQ: What do you mean by true native apps? Does it improve user experience?

True native apps refer to apps that run directly on the device hardware, with nothing between your app and CPU/GPU. This is the way that Objective-C, for example, works too.

The source code is compiled (converted) into a binary that runs directly on the hardware. This is what the term ‘native’ has meant to software developers since the beginnings of software development.

In comparison, Java or C# which use Virtual Machines and scripted language solutions (i.e. JavaScript) rely another process to dynamically convert the source code into CPU code. This results in several challenges and compromises for a developer.

A language runtime like this is basically a black box and prevents the developer from tuning their apps and introduces latency into their application because the runtime is another process sharing CPU time. This is especially true of languages that have garbage collection facilities (which most scripted languages do) because the developer has no control over when and how long that runtime performs the garbage collection and affects the apps predictability. The net result is that these runtimes affect the user experience negatively.

A true native app has no reliance on a language runtime or virtual machine and the gain performance has a positive impact on the user experience.

InfoQ: What makes RAD Studio XE4 different from Visual Studio 2012?

The biggest difference is the fact that developers can build apps for more than just Microsoft operating systems and devices. This is critically important for app developers today. Windows is still very important but supporting mobile devices that run iOS and Android is just as critical these days.

RAD Studio XE4 supports building native Window 8 client apps on Intel processors. So, you can build apps for tablet form factors like SurfacePro or Slates from other manufacturers as well as desktop and server Windows platforms. Windows Phone 8 uses a new operating system called WinRT. We are actively evaluating the support for WinRT and the demand from app developers.

InfoQ: Does RAD Studio XE4 provide support for Android?

We have announced that support for Android will be delivered in the later half of 2013. However, due to the nature of our multi-device, single source code base approach, the development they do for iOS today can be targeted for Android the day it is available with no source code changes.

InfoQ: Can I use the apps developed using RAD Studio XE4 in both iOS and Windows environments?

Yes, that is the power of multi-device. As discussed, these apps can share the exact same source codebase.

InfoQ: Is it possible to work with RAD Studio XE4 using C# and VB?

No, RAD Studio languages are true native languages which mean they are compiled down to machine code and do not rely on a VM environment like .NET. C# and VB.Net are reliant on the .Net runtime. We support the native languages Delphi and C++.

InfoQ: Can you share with us the future roadmap of RAD Studio XE4?

We have announced support for Android later this year as well as support for the C++ language for both iOS and Android later this year.