Cross-Platform Mobile Development Tools
Cross-Platform Mobile Development Tools
The demand for mobile apps has been growing exponentially in the last couple of years and
according to Appindex, the market for such development platforms will see annual growth of
over 38% reached by 2017. And Gartner expects over 20 million enterprise apps to be
developed by 2018.
Mobile apps are fast replacing web applications as the way we buy, share, search, learn and
collaborate. Mobile application development has become an essential part of the requirements
of nearly all enterprises who market digitally.
Cross-platform development had a bad reputation as a compromise solution which attempted
to provide one-size fits all solution. Inevitably this led to solutions which were never of the
same standard as could be achieved with a native app. However, the latest generation cross-
platform tools offer solutions without compromise. Tools are able to tailor the UI of apps to
each platform, ensuring that an Android app, for example, follows Google’s “material design”
aesthetic. Similar conventions can be met in iOS apps.
Modern cross-platform tools like Dropsource address performance concerns by generating
code which is functionally identical to that of a native developed application.
1
Cross-Platform Mobile Development Tools
Note that in order to distribute your iOS app you must be a member of Apple’s Developer
Program. This program requires an upgraded membership that costs $99 USD/year.
STRENGTHS
Xamarin addresses what has been an underserved segment of the mobile development market
— namely, C# developers who want to build native mobile apps without having to learn new
languages and tools.
Xamarin provides its own cross-platform mobile development tool, Xamarin Studio, coupled
with an extensive library of Xamarin and third-party components, visual design tools for iOS and
Android, and integration with Visual Studio. Moreover, the company offers a very affordable
training package.
2
Cross-Platform Mobile Development Tools
Xamarin has built a strong partner network, primarily in North America and Europe. This
includes both strategic partnerships, such as with Microsoft, IBM, Oracle and SAP, as well as a
significant pool of implementation and channel partners.
CAUTIONS
Xamarin still lags behind a number of larger players when it comes to supporting the mobile
app lifecycle, but it has started to address this gap with the Xamarin Test Cloud, and it further
benefits from the Microsoft ALM tools and ecosystem.
Xamarin has historically focused on front-end development. Mobility projects that require back-
end integration, new back-end logic or synchronization for offline use likely will be dependent
on integrations that Xamarin has with IBM MobileFirst, SAP and Microsoft's Azure App Service.
The company is enjoying significant growth, which in and of itself is challenging and is still
limited when compared to other MADP providers when it comes to addressing the full mobile
app development life cycle. Additionally, Xamarin finds itself competing with an emerging
portfolio of companies addressing the market for rapid mobile app development tools.
Telerik is also included in Gartner Magic Quadrant for Mobile Application Development
Platforms.
Telerik is now a subsidiary of Progress Software. Telerik's strength comes from Web
development, where it enjoyed success with 1.7 million developers and leveraged its success by
expanding its scope to include mobile app development. The acquisition gives Telerik new sales
channels and additional resources and expanded integration tools from the Progress side that
can be leveraged for additional capabilities. Telerik also has a full MBaaS offering that includes
push notifications, identity and access management, social media integration, location, and
analytics. The Telerik Platform originally centered on Microsoft platforms (Visual Basic,
ASP.NET, WPF, Windows Forms and Silverlight), but now supports server-side Java and PHP.
The platform enjoys growth of over 50% per year and the acquisition has the potential to
accelerate growth. The mobile offering, Telerik Platform, supports development in HTML5 and
JavaScript, as well as the open-source NativeScript framework to help these same developers
create cross-platform native mobile apps targeting iOS, Android, Windows 8.x and Windows
Phone.
The Telerik Platform is a collection of integrated modular tools, frameworks and cloud services
that support the development and deployment of mobile Web, hybrid and native apps. The
platform offers app prototyping, building, testing and analytics, as well as data connectors
3
Cross-Platform Mobile Development Tools
enhanced by Progress Software's DataDirect data integration suite. Telerik also has app
deployment capabilities. Telerik's most popular product is Kendo UI, which is an HTML5
framework built on top of jQuery and best suited for Web development. It is compatible with
Twitter Bootstrap and Google AngularJS, and Kendo UI Core is an open-source variant of the
Kendo UI Professional product.
In May 2015, Progress announced the latest release of the Telerik Platform, which is focused on
mobile app development in addition to Web development. The most recent release added
three new components: Screen Builder, AppManager LiveSync and enhanced Telerik Analytics.
The Telerik Platform supports hybrid Web app development based on leveraging the open-
source Apache Cordova container. The company has a verified plug-in marketplace for tested
Cordova plug-ins. Telerik also supports native UI libraries and the new NativeScript native
virtual machine runtime that gives JavaScript access to native APIs in apps developed with the
platform.
Telerik's go-to-market strategy has been altered for the better by Progress Software, which has
a significant enterprise sales organization. This complements the historical bottom-up approach
of selling directly to developers (per-seat licenses) and better positions the enterprise-oriented
offering of the Telerik Platform. Typical costs for an initial mobile development project, in terms
of direct licensing fees and related payments to the vendor, are at the low end of the spectrum
(less than $25,000 per year), while enterprise-level pricing is more than $100,000 per year.
STRENGTHS
The acquisition of Telerik by Progress Software enhances the Telerik Platform with additional
integration capabilities and improved enterprise support capabilities.
The platform offers an integrated modular collection of components, frameworks and tools
that support development for different platforms with a variety of approaches.
The platform leverages de facto open standards, such as jQuery, Bootstrap, AngularJS and
Apache Cordova; also, the Telerik Kendo UI Core framework and the NativeScript runtime are
open source.
CAUTIONS
Although there is a unified Web interface, Telerik Platform has been built through acquisitions
and internal development products. This will be further complicated by the integration of the
Progress Software DataDirect integration tools. Not unlike other MADPs, this makes the Telerik
toolchain a modular set of tools that is being integrated to ensure compatibility of the
components.
4
Cross-Platform Mobile Development Tools
The platform lacks some capabilities for full SDLC support, such as full-featured app
management, and some capabilities are relatively new and unproven, such as Screen Builder
and AppManager LiveSync.
Historically, Telerik has had a Web rather than a mobile app focus, but this is changing as the
company has shifted resources to mobile app development tools. Additionally, the company
has invested in additional analytics capability that is a must for mobile app development. The
addition of the DataDirect offering from Progress has the potential to significantly improve the
company's integration capabilities, but this is still unproven.
Adobe PhoneGap
PhoneGap is probably the most well-known cross-platform development brand within the
development community. The now Adobe-owned tool is based on the open source Apache
Cordova project and is completely free to use, which goes some way to explaining its
popularity. Adobe is also working on an enterprise version of PhoneGap, which is currently
undergoing a beta trial – and you can sign-up for it here. The enterprise version boasts
marketing features via Adobe’s Marketing Cloud, so when it launches it will probably be
monetised.
PhoneGap is a mobile application development framework based on an open source project
(Apache Cordova). Using PhoneGap developers can write apps a single time in HTML, CSS and
JavaScript and deploy it across different mobile devices without losing the features of a native
app. PhoneGap is the cloud-based developer tool built on top of the framework, which offers
cloud-based mobile app development without the need for SDKs, compilers and hardware.
Because of PhoneGap’s open web standards developers with existing web skills, frameworks
and tools can easily grasp the tool’s functionality. It also offers cross-platform development
with the freedom for customized development. Because it is a cloud-based service, all apps will
be built with the most current SDK for the targeted platforms. PhoneGap Build supports
multiple platforms including Android, iOS, Windows Phone and webOS with a single codebase.
Upload existing HTML5, CSS and JavaScript asset for easy compilation
Hydration feature offers faster debugs and build cycles
Cloud-based mobile development service with free and paid plans
Kony
Kony offers a range of tools as part of its enterprise Mobility Platform to help business create
apps from a single codebase. The Studio platform uses JavaScript and features simple drag and
5
Cross-Platform Mobile Development Tools
drop reusable widgets and the ability to import existing or third party libraries. Furthermore,
Kony recently launched its Mobile Fabric platform, which it claims is the first enterprise app
development solution to bring together multiple cloud service and middleware tools. Pricing for
Mobile Fabric starts at $15 per user, per month. A free trial is available.
Alpha Anywhere
Alpha Anywhere’s enterprise-focused solution lets you build apps for the major mobile
platforms, as well as for PCs and Macs. The tool uses JavaScript and HTML5 and helps
companies manage the complete end-to-end app development process. The company recently
launched built-in support for offline apps, which allows mobile workers to use enterprise apps
without an internet connection, ensuring that they properly synchronize when back online and
resolve any conflicts in an intuitive manner. Alpha Anywhere starts at $1,999 for a one-year
contract. Businesses can also purchase a one-month trial version for $199.
FeedHenry
FeedHenry made headlines recently after it was acquired by software company RedHat last
month for around 63.5 million euros. The company offers a mobile backend-as-a-service
platform and cross-app development platform, letting enterprise users build and deploy iOS,
Android and Windows Phone apps via public clouds and on-premises. FeedHenry uses Node.js
and a MongoDB-backed database for fast scalable network apps. The company also works with
some big clients, such as airline Aer Lingus, and partners with tech innovators such as AWS and
Rackspace.
Testing Tools
Beta testing is an integral part of the software development cycle, and there are many cross-
platform applications offering to streamline this process such as HockeyApp, Applause, and, of
course, Google Play’s Native App Beta Testing for Android apps. In this document, we will focus
on Apple’s TestFlight.
TestFlight is Apple’s beta testing service for iOS apps and is accessible only through iTunes
Connect. It is currently available for iOS 8.0 apps and above. TestFlight allows for beta testing
with both internal and external users, and due to a Beta app review for the latter, ensures a
much easier process in your final review when publishing to the App Store.
6
Cross-Platform Mobile Development Tools
Debugging Tools
Telerik Test Studio Mobile features:
Run automated tests on real devices as well as emulators without writing a single line of
code. Create test once and run it on multiple devices.
Test elements are stored in a shared Element repository on a project level and the same
element can be used across multiple tests by referencing it from the element repository.
Connect your device(s) to Test Studio’s built-in remote proxy to quickly capture
scenarios for load testing.
Integration with Source Control systems and build servers like Jenkins, Team city etc., to
facilitate collaboration between QA and developers by enabling them to check-in at the
same time and independently.
Visual C+++ features:
7
Cross-Platform Mobile Development Tools
GapDebug features:
bridges the gap left by other debugging options. Operating on both the Windows and
Mac platforms, GapDebug allows debugging of hybrid mobile apps, such as PhoneGap
and Cordova, on modern iOS and Android devices.
UX Measurement Tools
Fuse
Fuse is a toolkit that developers and designers use to create native, cross-platform mobile apps
for iOS and Android.
User interfaces are expressed in markup (which called "UX") which makes it easy to make
animated and responsive UIs. App logic is written in JavaScript which is interpreted, and all
rendering is compiled to native code for optimal performance. A developer can choose
between real native UI elements and customizable cross-platform elements. Fuse is not a "black
box", but a flexible toolkit and can be extended using Uno (a C#-dialect). Fuse does not
generate HTML5/hybrid apps, it exports fully native mobile apps.
The primary way of working in Fuse is by editing UX Markup - an XML-based file format that's
tailor-made for app development. Layout, interaction and animation are written in a clear,
declarative syntax. The main benefits of working in UX Markup is that it opens up for much
deeper and faster development, and offers a better way for designers and developers to work
together and more easily share code and designs.
UX Markup is used for building components, UI views, designs, prototypes and full apps in Fuse
and is compiled down to C++ native code. UX Markup is complemented by business logic
written in JavaScript, which runs on its own thread, leaving the UI and animation nice and
smooth.
8
Cross-Platform Mobile Development Tools
If you want to distribute your Android app only to a limited number of end users, you need to
build the app for publishing and send out the application package to your users.
If you want to distribute your iOS app only to a limited number of end users, you need to build
it with an Ad Hoc code-signing identity and send out the application package, the QR code or
the download link for the app to your users.
Google Play
You can create apps using Java for Android by downloading its free software
development kit. The kit comes with samples, source code, developer tools and
emulators for testing your app. Android even provides how-to videos, technical articles
and instructions on how to develop apps, just in case you're feeling overwhelmed. A
one-time $25 developer registration fee is needed to distribute apps in the Android
marketplace, known as Google Play.
Google Play is the premier store for distributing Android apps. When you publish on
Google Play, you put your apps in front of over 1 billion active Android users, in more
than 190 countries and territories across the world
Start publishing on Google Play in minutes by:
iOS
If you want to deploy in-house apps to iOS users, Apple requires that your
company register for the iOS Developer Enterprise Program. During the
development and testing stage, Apple provides the registered developer
9
Cross-Platform Mobile Development Tools
Ad Hoc Distribution
iOS
Ad-hoc distribution is a distribution provisioning profile that allows an
app to be installed on designated devices and enables usage of the app
services without the assistance of Xcode. Below are some of the
important working steps in Ad Hoc distribution.
- Purchase Developer License: An Apple Developer Company Program
license is the first requirement. The license costs around $99 per year
and grants access to the Member Center that helps manage all
aspects of the App Distribution
- Create an App ID: Every app requires a unique identifier called the
App ID (or bundle identifier). This can be created in the Member
Center
- App Store set up: With this, you will also be able to configure your
app on iTunes Connect which is referred to as the App Store
- Define Entitlements: If an app is meant to use specific app services
like iCloud, Push Notifications, In-App Purchases etc. these services
need to be enabled against the relevant App ID. Ensure that this ID
matches the one created on the Developer Portal. These
‘entitlements’ as they are referred to in the Apple ecosystem are a set
of permissions for the app to perform certain operations.
- Generate Code Signing: By code signing, Apple verifies that the app
has the required permissions to use certain services and allows
installation only on designated devices. For this, create an ad hoc
distribution provisioning profile linked with a distribution certificate
10
Cross-Platform Mobile Development Tools
When an iOS application is created in iTunes Connect (either for sale or free release
from the iTunes App Store), the developer can specify information such as the
application's genre, sub-genre, copyright notice, supported iOS devices and required
device capabilities. For iOS applications that are delivered either to testers or Enterprise
user via ad hoc distribution, this information is missing.
To supply the missing information to an Ad Hoc distribution, an optional
iTunesMetadata.plist file can be created and included in the applications IPA file. This
plist file is a specially formatted XML file (see Apple's Property List Programming Guide
for more information) that contains key/value pairs defining information about a given
iOS application.
IPA Support
In addition to releasing an application for sale through the iTunes App Store, it can be
deployed for the following uses:
- Ad Hoc Testing — An iOS application can be deployed to up to 100 users (identified
by specific iOS device UUIDs) for Alpha and Beta testing purposes.
- Enterprise Deployment — An iOS application can be deployed internally, within a
company, which requires membership of Apple's Developer Enterprise program.
11
Cross-Platform Mobile Development Tools
In either case, an IPA package (a special type of zip file) must be created and digitally
signed with the correct Distribution Provisioning Profile.
Once the provisioning profile has been created and selected, the optional
iTunesMetadata.plist file has been created and the iTunes Artwork set in Visual Studio,
you can build an IPA for Ad Hoc distribution.
The resulting IPA Package can be delivered to your test users for installing on their iOS
devices or shipped for Enterprise deployment. The end user will install the package in
their iTunes application on their Mac or Windows PC by double-clicking the IPA file (or
dragging it onto the open iTunes window).
The new iOS application will be shown in the My Apps section, where you can right-click
on it and get information about the application:
Conclusion
The mobile market is huge and diverse. Although operating systems are largely restricted to iOS
and Android, with around two percent in the hands of Microsoft, it has a huge number of
variants developed by the many competitive brands in the marketplace.
Developing mobile apps is a potentially lucrative business which is why there are so many
companies trying to get their share of the pie.
The old tagline Java used in the 90’s, “Build Once, Run Anywhere” no longer applies. Today
developers need to find tools which will build software for the ever-increasing number of
platforms and device types.
The current development market has access to many tools which seek to simplify the
development process by offering you cross-platform tools which will assist the developer to
build an app once which can be run (almost) anywhere.
The cross-platform tools offer development teams the possibility of building solutions which
can be used on nearly all mobile devices. Using a single tool has the advantage of keeping
development costs down and speeding up the process of bringing a product to market (which is
a very important consideration these days).
12