2014 GUIDE TO MOBILE DEVELOPMENT
D ZON E
RESEARCH
PRES ENTS
2 0 1 4 GUIDE TO
MOBILE DEVELOPMENT TOOLS, STRATEGIES, AND INSIGHTS FOR ACCELERATING MOBILE DEVELOPMENT
B R O U G H T T O Y O U I N PA R T N E R S H I P W I T H
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
1
dzone.com/research/mobile
WELCOME
TABLE TAB LE OF CO CONT NTEN ENTS TS SUMMARY & KEY TAKEAW TAKEAWAYS AYS
3
Dear Reader,
KEY RESEARCH FINDINGS
4
This is the third guide we've produced in the DZone
THE MOBILE LANDSCAPE: CROSS-PLATFORM
Research series this year and we've been excited by
PROBLEMS AND SOLUTIONS BY ALEC NOLLER
your response to the the first two. two. It is clear that that many of you are anxious for for resources to help help create highhigh-
THE STATE OF NATIVE VS. WEB VS. HYBRID BY MITCH PRONSCHINSKE
6 10
quality products and services, and your feedback thus far has been immensely helpful in shaping the direction of these guides. For this guide, we heard from over 1,000 of
BACK-END INTEGRATION: A MAJOR HEADACHE FOR ENTERPRISE MOBILITY BY SUHAS ULIYAR
14
GAME OF PHONES INFOGRAPHIC
18
you and learned a ton about the ways ways you are
MOBILE UX: REFINING PERCEIVED
developing for mobile. With your insights, we
PERFORMANCE BY ANDREW TRICE
were able to put together a strong portrait of the mobile development landscape and unveil many
THE STEP- BY BY-STEP -STEP MOBILE DEVELOPMENT CHECKLIST
24
SOLUTIONS DIRECTORY SOLUTIONS DIRECTORY
25
GLOSSARY
35
perspectives. As you read this guide, we hope that you will discover discover some new things things that will help accelerate your development, from best-practices to
22
new tools. As always, thanks to everybody who played a part
CREDITS
in the creation of this guide, including those of you who took the time to complete complete our survey, survey, the experts who shared their knowledge, the vendors who helped us understand their products, as well as our research partners. Enjoy the guide and happy ha ppy developing!
Jayashree Gopalakrishnan
DZONE RESEARCH
DZONE CORPORATE
JAYASHREE GOPALAKRISHNAN
RICK ROSS
DIRECTOR OF RESEARCH
CE O
MITCH PRONSCHINSKE
MATT SCHMIDT
SENIOR RES EARCH ANALYST,
PRESIDENT & CTO
AUTHOR
BRANDON NOKES
MATT WERNER
VP, OPERATIONS
MARKET RESEARCHER
ALEX CRAFTS
ALEC NOLLER
SENIOR ACCOUNT MANAGER
CONTENT CURATOR, AUTHOR
HERNÂNI CERQUEIRA LEAD SOFTWARE ENGINEER
BENJAMIN BALL RESEARCH ANALYST
KELLET ATKINSON DIRECTOR OF MARKETING
Director of Research
[email protected]
ASHLEY SLATE
Special thanks to our topic experts Alex
GRAPHIC DESIGNER
Curylo, Pieter De Rycke, Raymond Raymond Camden, Max Katz, Jose Roy Javelosa, and our trusted
CHRIS SMITH MARKETING ASSOCIATE
DZone Most Valuable Bloggers for all their help and feedback in making this guide.
DZone Research Guides are published by DZone, 150 Preston Executive, Cary, NC 27513. All contents © 2014 DZone. All rights reserved. REUSE PERMISSIONS AND REPRINTS: Email
[email protected] Phone +1 (919) 678-0300.Fax +1 (919) 443-1110. PRINTED IN USA.
2
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
SUMMA SU MMARRY & KEY TAKE AKEAAWAYS Entering today’s mobile space requires significant decisions about the development technology you want to use. Will your apps be native, web-based, or will you choose from a variety of cross-platform tools to make something in between? If you develop native apps, will you build for both Android and iOS? These decisions are often made without adequate knowledge of industry Guide to to Mobile Mobile Develop Development ment gives trends and relevant data. The DZone 2014 Guide gives readers a full picture of the various approaches to mobile development, enabling them to overcome its biggest obstacles. Exploring the data and content in this guide and on its
companion site dzone.com/research/mobile dzone.com/research/mobile will will help you understand: •
The challenges of cross-platform mobile development and strategies for overcoming them
•
The strengths and weaknesses of native, hybrid, and web-based approaches to mobile development
•
Mobile development trends and preferences from a survey of more than 1,000 mobile professi professionals onals
•
Feature comparisons between various Mobile Application Development Platforms (MADPs)
•
Strategies Strategie s for mobile user experience design and enterprise integration
KEY TAKEAWAYS A Web or Hybrid App is Becoming the Preferred Enterprise App As enterprises start to build more B2E apps, they are likely to turn to web and hybrid apps, or use MADPs that generate native apps from a common codebase. Our mobile development survey found that the organizations building web and hybrid apps are making more enterprise apps than the over overall all pool of respondents. The organizations that are excl exclusively usively focused on enterprise apps are also using web technologies 15% more than Java, which is the second most common language for that group. The lower lower cost of maintaining a single codebase is driving a surge of web and hybrid apps in the enterprise world.
Many Developers are Turning to Cross-Platform Tools Cross-platform tools are being used by 41% of the mobile developers surveyed, surveyed, and it is the most popular tooling group among a long list of common mobile utilities. This finding is further emphasized by the two most common pain points among the mobile developers surveyed: surveyed: testing efficiently on multiple devices (53%) and building native apps for multiple platforms (50%). MADPs are certainly not the only answer to these challenges, but the platforms compared in our solutions directory are worth investigating.
The Majority of Mobile Customers are Still External Among the mobile developers surveyed, surveyed, 60% said they are developing for consumers and 54% are developing for businesses outside their own. This indicates that customer experience should be the key concern for today’s mobile developers, developers, and that performance must feel native. The enterprise app space is growing, but only 30% of respondents said their organization is developing them.
Commissioned Apps and Marketing Through Apps are Primary Revenue Sources Most companies are making money by building commissioned apps or by marketing products through a mobile app. The expected revenue source for mobile apps is correlated to the size of the organization. The most common target revenue source for organizations larger than 99 employees is revenue from marketing and brand awareness for another product, while organizations under 100 employees cite commissioned apps as their most common revenue generator.
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
3
dzone.com/research/mobile
KEY RESEARCH FINDINGS DZone surveyed over 1,000 IT professionals with some involvement in mobile technology for the 2014 Guide to Mobile Development, providing key information on mobile monetization, tool usage, production levels, and
platform prioritization. The largest demographic segments are developers (39%) and development team leads (29%). 53% of respondents come from small organizations (under 100 employees) and 47% come from large organizations (100 or more employees). The majority of respondents are headquartered in the US (36%) or Europe (36%). MORE MOBILE HOBBYISTS AND EMPLOYEES THAN FREELANCERS Over half (51%) of those surveyed work in an organization that develops mobile apps and 48% of all respondents have participated in their organization’s mobile efforts. Outsourcing is relatively unpopular, with only 14% saying their organization outsources mobile development efforts. 37% of respondents have developed mobile apps as a freelancer, showing that fewer developers choose to strike out on their own when building mobile apps. However, 56% have built mobile applications as hobby projects, and 30% of the overall respondents don’t expect any return on investment from their apps.
ANDROID AND WEB SKILLS MORE COMMON THAN IOS SKILLS Android has the largest percentage of organizations and individual respondents targeting the platform with 84%. iOS is a close second with 70%. 56% of respondents say they are developing for web or hybrid, and Windows Phone has a strong showing with 24%. When respondents were asked which platforms they personally have helped build applications for, Android has a larger lead with 71% and web/hybrid takes second place with 50%. 47% of the respondents have built iOS apps and 17% have built Windows Phone apps. Android has a large set of developers in this survey most likely because its platform language, Java, is already ubiquitous in the software industry. Web skills, along with Java skills, are much more common than Objective-C skills, which are not often used outside of iOS development. One of the more interesting statistics is that, among large organizations, 14% more organizations are targeting iOS compared to small organizations.
THE LEADERS ARE BUSINESS AND UTILITY UTILITY APPS The top five types of apps that respondents and their organizations are working on include Productivity, Finance, and Business (63%), Tools and Utilities (39%), Social Networking and Communications (20%), Travel, Travel, Maps, and Navigation (17%), and News, Media, and Weath Weather er (16%). For hobbyists, Tools and Utilities is the most common type (55%), and for freelancers, it’s between Productivity, Finance, and Business (53%) and Tools and Utilities (46%). Hobbyists are also much more interested in developing games (27%) or entertainment apps (16%) than other developers.
4
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
CROSS-PLATFORM CROSS-PLA TFORM DEVELOPMENT AND TESTING ARE THE BIGGEST PAIN POINTS
WHAT ARE YOUR ORGANIZATION’S PAIN POINTS
The most common mobile development pain points for respondents centered centered around multi-platform development and testing. Testing efficiently on many different hardware sets and screen sizes is the biggest pain point for respondents (53%), while building native apps for multiple platforms (50%) is a close second. The third most common pain point is a lack of skilled mobile d evelopers (40%). Respondents from large organizations were 10% more likely than those from small organizations to experience pain points around integrating with existing in-house apps, lack of skilled mobile developers, and security. security.
FOR MOBILE APPLICATION DEVELOPMENT?
1 TESTING ON MULTIPLE DEVICES 2 BUILDING NATIVE APPS FOR MULTIPLE PLATFORMS 3 LACK OF SKILLED MOBILE DEVELOPERS
COMMON TIMELINE FOR MOBILE APP DEVELOPMENT IS 1-3 MONTHS App development time can vary widely based on a host of factors, but finding out how much time it generally takes organizations and individuals to develop apps is useful for discovering discov ering industry opinions about how long an app should take to complete or how large a project should be. The top three answers for organizations were 12 weeks (14%), 8 weeks (13%), and 4 weeks (10%). For individuals working by themselves, their timetables gravitate toward towar d 4 weeks (15%) with 12 and 8 weeks (both 12%) close behind. As for the number of apps completed per year, the chart to the left shows statistics for the number of apps organizations are churning out.
CROSS-PLATFORM CROSS-PLA TFORM TOOLS ARE USED BY NEARLY HALF OF MOBILE DEVS 41% of respondents say they or their organizations are using cross-platform tools such as Apache Cordova/PhoneGap. Cordova/PhoneGap. This is the most popular type of mobile tool, with IaaS/PaaS as the second most crucial development utility at 20% usage. For programming languages, Java is very popular in this group of enterprise developers (73%), but web languages appear to be the most common skillset (80%). Objective-C for iOS is third with 45%, and C#, the language of Windows Phone, is fourth with 25%. The mobile usage percentages for the rest of the programming languages can be seen in the chart to the right.
COMMISSIONED APPS AND PRODUCT MARKETING ARE THE MOBILE BREADWINNERS Commissioned apps (37%) are the number one overall source of expected mobile app monetization. Marketing and brand awareness for another product (26%) and app store purchases (25%) are the other two major sources. For small organizations, commissioned commissioned apps (43%) are still the most common expected revenue source, source, but app store purchases are in second place (31%) and product marketing is in third (21%). This is probably due to the small amount of employees needed to build an app-based business or a mobile development-for-hire shop. For large organizations, organizations, marketing for another product is the most common expected revenue source source (32%). Commissioned apps are second (28%) and app store purchases are third (18%). Many larger organizations come with larger products, so often their focus is on moving leads through a sales pipeline toward more valuable, non-mobile product purchases.
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
5
dzone.com/research/mobile
THE MOBILE LANDSCAPE: CROSS-PLATFORM CROSS-PLA TFORM PROBLEMS AND SOLUTIONS BY ALEC NOLLER
Mobile development has become a ubiquitous part of the sotware industry, and most developers understand the central dilemma organizations face when building a mobile app: cross-platform development. What options exist for deploying an app to multiple platforms simultaneously? What are the strengths and weaknesses of each platform?
must be skilled with the required language, IDE, and development tools for each targeted platform, and if developers with diverse skillsets are not available, additional developers must be hired. This can be a serious problem, given the increasing push to develop on multiple platforms. For example, according to DZone’s 2014 Mobi Mobile le Developer Survey , 62% of respondents targeted both Android
and iOS. The economic constraints constraints of native development are a major factor in the growing popularity of web apps, hybrid apps, code translators, and Mobile Application Development Platforms (MADPs), which allow developers developers to reach multiple platforms with just one tool tooling ing ecos ecosyst ystem. em.
The backbone of mobile development is the native application, but there are a growing number of alternatives: web apps provide a browser-based solution, hybrid apps lever leverage age web development skills in a native package, and code translators apply one platform’s native development skillset to the codebase of another. However, the differences can be subtle, and every option carries its own set of
WEB APPS The skillset for building a basic mobile web app ap p is more common than that of native development. Essentially, Essentially, mobile web apps are just regu regular lar webs websites ites optim optimized ized to look look good and funct function ion well well on mobile devices, and they can provide a quality app-like experience
drawbacks. if the developer is very skilled in web technologies. Widely understood front-end web development languages such as HTML,
NATIVE DEVELOPMENT
CSS, and JavaScript provide the logic behind a web app, and there
Native applications are built from the ground up for a specific
are plenty of tools and libraries out there to help web developers
platform and tailored to fit it. The precise, platform-centered platform-centered
direct their skills toward mobile devices. jQuery Mobile and Sencha
nature of native development means that these apps have no
Touch are two examples of mobile web frameworks that provide UI
limits in terms of access to APIs and device features, performance performance
components and logic for sliders, swipes, and other touch-activa touch-activated ted
optimization, and platform-specific best practices for user interface
controls that are common to native mobile applications.
design. Ideally, every every mobile app would be built this way: to suit its exact purpose while utilizing all of the available resources.
The community around open source web technologies is another key difference between native and web development. Web
NATIVE APPLICATION DEVELOPMENT ANDROID
IOS
WINDOWS PHONE
technologies like Node.js Node.js and and AngularJS are some of the most popular projects in the open source community according to GitHub statistics [1]. statistics [1]. This suggests that the community support and
Language: Java Language: Java
Language:Objective-C Language: Objective-C
Language:C# Language: C#
knowledge base around web technologies is broader than native
PrimaryIDE: Eclipse or Android Studio
PrimaryIDE: XCode
PrimaryIDE: Visual Studio
technologies. In addition to being a more common skill set, mobile web
One of the major benefits of native mobile development is the
development can also solve a fundamental issue with native
availability of resources. For example, developers targeting
application development. Aside from possible p ossible browser compatibility
Android have the Android Software Development Kit (SDK) at
issues, web apps present a near-universal cross-platform cross-platform option.
their disposal, which includes a suite of tools to streamline the
Most APIs and hardware features will not be accessible by web
development process: process: the SDK Manager condenses updates and
apps, and because they are not discrete applications in the same
tool installations into a single menu, the AVD Manager provides
way that native apps are, web apps cannot be distributed through
access to the Android Emulator and other virtual devices, and the
common means, such as Apple’s App Store and Google’s Android
Dalvik Debug Monitor Server (DDMS) is a powerful debugging tool,
Marketplace.. Web apps may be a particularly flexible option, but Marketplace
just to name name a few few.. iOS iOS and Win Window dows s Phone Phone deve developer lopers s have have simila similarr
they lack a presence p resence on fundamental mobile distribution channels.
toolsets available in their SDKs, covering everything from the UI and device feature tools of Cocoa Touch in the iOS SDK to the real world testing conditions of the Simulation Dashboard for Windows Phone 8. These toolsets make native SDKs invaluable and thorough resources.
HYBRID APPS Many of the drawbacks for web apps are alleviated by another cross-platform cross-platfo rm option built on the same core web development skillset: the hybrid app. Like web apps, hybrid apps app s require web development skills, but unlike web apps, they include some native
Unfortunately, the native SDKs are all robust toolsets that a native Unfortunately, developer has to learn for each platform. To develop native apps from scratch (rather than through an intermediate tool), developers developers
6
features to allow greater flexibility. It gets the name “hybrid” because it is built with web languages and technologies at its core.
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
skillsets. MADPs are most useful in scenarios where an application needs to work with many back-end data sources, many other mobile apps, or many operating systems [3]. A less comprehensive but more straightforward solution is to use code translators when building native apps for multiple operating systems. These tools take native code and translate it into another platform’s native code, or translate native code into a neutral lowlevel alternative, such as bytecode. One example is Google’s J2ObjC, which translates Java classes into their Objective-C equivalents, alleviating a lot the initial development of an iOS version of the app. Although it’s much more than a code translator, a product called Xamarin does something similar by allowing developers working with C# and .NET in Visual Studio to produce a native ARM executable. executable. They can then take advantage of ahead-of-time (AOT) (AO T) or just-in-time (JIT) compilation to run their apps on iOS and Android in addition to Window Windows s Phone [3].
Ideally, every mobile app would be built this
Inspired by Trigger.io Trigger.io [2] [2] With the help of a native packaging tool, it can be deployed just
way: to suit its exact purpose while utilizing all of the available resources.
like a native app and access more native device capabilities (device APIs) than a pure web application. A hybrid app is created by first coding the application to run in the device’s native webview, which is basically a stripped-down
As is the case with hybrid apps, the UI p resents a problem.
version of the browser. For iOS this view is called UIWebView, while
Because UI development cannot be translated between platforms,
on Android it’s called WebView. This view can present the HTML
code translators still require significant knowledge of the
and JavaScript files in a full-screen format, and pure web apps can
native platform to write the UI. In other words, code translators translators
achieve this full-screen view as well. WebKit is the most commonly
can provide substantial benefits in terms of cutting down
targeted browser browser rendering engine because it is used on iOS,
development time, but they’re not necessarily a “write once, run anywhere” solution.
Android, and Blackberry Blackberry.. Where a web app really starts to become a hybrid app is when
NO SILVER BULLETS
the app is placed inside of a native wrapper, which packages the
Between native apps, web apps, hybrid apps, and the growing
hybrid app as a discrete application and makes it viable for app
number of MADPs, there are a lot of options for mobile
store distribution. In addition to the native wrapper, wrapper, a native bridge
development.. It’s important to note that there is no one solution development
allows the app to communicate with device APIs, such as alarm
that does everything. Some sacrifice affordability and accessibi accessibility lity
settings, accelerometers, accelerometers, and cameras. The native bridge is an
for pure native performance, UI for easy cross-platform deployment,
abstraction layer that exposes the device APIs to the hybrid app as
or ease of development for native authenticity. Even the simplest tools come with some degree of a learning curve. If a method with
a JavaScript API. This is one feature that clearly separates hybrid and pure web apps, because web apps are unable to pass through
no trade-offs existed, the industry would adopt it en masse, and you
the security structures between the browser and native device
would know about it.
APIs. Access to many of the hardware features on mobile devices makes hybrid apps feel more like native apps than web apps from
Because there are trade-offs, developers and decision-makers will
the user perspective.
have to recognize recognize their needs, and the needs of their users, in order to determine the best way to approach mobile development.
MADPS AND CODE TRANSLA TR ANSLATORS TORS
[1]https://github.com [1] https://github.com/search?o=desc&q=sta /search?o=desc&q=stars%3a%3E1&s=f rs%3a%3E1&s=forks&type=Rep orks&type=Repositories ositories
Some tools can go even further in terms of taking a single
[2]http://trigger [2] http://trigger.io/cross-platform .io/cross-platform-application-developm -application-development-blog/wp-content/uploads/2 ent-blog/wp-content/uploads/2012/05/ 012/05/
codebase and deploying it on multiple mobile platforms. MADPs
slide03-v5.png
are development tools, sometimes including a mobile middleware
[3] http://www.k http://www.kony. ony.com/resources/glossary/mobile com/resources/glossary/mobile-application-development-platform-madp-0 -application-development-platform-madp-0
server,, that build hybrid or native apps for each platform server p latform using one codebase. Some MADPs, such as Appcelerator’s Titanium and Trigger.io,, can take advantage of native elements where native Trigger.io
WRITTEN BY
is necessary or higher performing. UI widgets may be native,
Alec Noller
for instance, while a more flexible JavaScript API condenses the
Alec Noller is the Senior Content Curator and leader of
universal parts of mobile development and maximizes code reuse. As more native elements are introduced, some of the drawbacks of native development reappear, reappear, such as the costly need for multiple
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
the Mobile Zone at DZone. When he's not creating and curating content for DZone, he spends his time writing and developing Java and Android applications.
7
ANYTIME, ANYWHERE ACCESS. Close the App Gap. Create powerful data-driven mobile & web apps with minimal coding.
Quickly build and deploy apps on any cloud or device with ®
™
Progress Pacific , Platform-as-a-Service (PaaS). Jumpstart your mobile or web app development, connect and leverage data, and deploy your app using the web, cloud, or hybrid environments – all from a single development code.
Visit www Visit www.progress.com/dzo .progress.com/dzonemobile nemobile and take a trial today.
© 2014 Progress Software Corporation and/or its subsidiaries or affi liates. All rights reserved.
2014 GUIDE TO MOBILE DEVELOPMENT
FUTURE PROOFING APPLICATION There is a critical need to deliver apps that are optimized for web and mobile devices. As a result, many d evelopers are living by the motto of “web is not enough” when
DEVELOPMENT and on-premise data, you can develop and
BENEFITS OF USING A SINGLE PLATFORM
deploy modern, high-performance business
While organizations are turning to
applications regardless of source – whether
Platform-as-a-Service (PaaS) to assemble,
you’re using RDBMS, SaaS apps, big data
deploy,, and manage applications – they deploy
developing enterprise applications. When
stores, or others. You need standards-based
need to carefully consider support for
developing applications that span web and
data connectivity built into your PaaS
mobile, you should think about designing
solution so that you can go from data to
apps specifically for each device, how you’ll connect and integrate backend data, and how you’ll deploy and manage the apps.
CONSIDERATIONS WHEN DEVELOPING CROSS-PLATFORM APPS
CREATE POWERFUL DAT DATAADRIVEN MOBILE AND WEB APPS WITH MINIMAL CODING.
application at lightning speed. Create powerful data-driven mobile and web apps with minimal coding. Visit www. progress.com/dzonemobile and take a trial today.
mobile. It is important to select a PaaS that
Do you standardize on a single platform or use different approaches for each device? One way to avoid this question is to choose a solution that allows you to build and
provides a rich mobile experience without custom code and also offers support for both private and public cloud deployment.
WRITTEN BY
Without these capabilities, you won’t reach
deploy apps on any environment, using a single development approach. To deliver
your goal of quickly building, deploying,
Mark Troester
and managing compelling apps.
Senior Director of Pacific Product Management
DRIVEN BY DATA What good is an application without data?
and Solution Marketing, Progress
apps fast and save crucial development resources, you need to build device-specific apps without writing device-specific code.
With a simple, fast connection to cloud
Progress Pacific BY PROGRESS SOFTWARE CATEGORY
TAGS JAVASCRIPT MOBILE -
-
STRENGTHS
-
MIDDLEWARE USAGE ANALYTICS -
•
-
PERFORMANCE ANALYTICS
-
•
--
REST + SOAP
-
PHONE 1-800-477-6473
Rapidly develop & deploy business apps using the t he mobile, data integration, self-service, and collaboration capabilities of Progress Pacific.
MADP
-
TWITTER @progresssw
DESCRIPTION
Easily meet the web and mobility requirements of your users Easily assemble, manage, and deploy web and mobile apps: powerful applications at low cost.
Progress Pacific Platform-as-a-Service Platform-as-a-Service (PaaS) can be used to build business apps fast, with simple point-and-clic pointand-click k wizardsand drag-and-dro drag-and-drop pfeatures. With Pacific you can also connect your app in real
-
•
TARGETS
Web Hybrid Native
Leverage multiple data sources with Progress data integration for web and mobile apps
•
Deliver powerful native apps without writing device specific code
•
Rich PaaS support for all your web/mobile or mobile-only apps
time a variety v ariety SaaS, relational, relational data, social,toCRM, andof ERP sources. Using, NoSQL, Progressbig Pacific you can deve develop lop,, deplo deploy, y, and manag managee apps apps for for iPhon iPhone, e, Android, web, or cloud. You can manage multi-tenant apps from the browser in the environment of your choice: public, private, or on-premise.
NOTABLE CUSTOMERS FREE TRIAL
30-day free trial
•
•
moTwin
•
Brixxs
•
Good Done Great Carego International
•
•
Explore Analytics FreshERP
USES •
CUSTOMER SUCCESS STORY
Enterprise Apps (for internal use)
Brixxs is already making an impact with Progress Rollbase, part of Progress Pacific, by helping registered taxi companies in the Netherlands Netherlan ds to quickly comply with new regulations and improve the quality of their services in large cities. by using Progress Pacific, Brixxs has developed and updated applications that have allowed taxi companies to comply with strict new regulations
FULL PROFILE LINK
introduced by the within just days of them comingweb intointerface. efect. Progress Pacific made this possible by allowing allowin g Brixxs to Dutch rapidlygovernment, build their apps using an3intuitive, easy-to-use
dzone.com/ r/ r/ xsYW Additional information Additional information in the the vendorprofile section on of the guide guide Additional Addition al information information in the the vendorprofile section on of the guide guide
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
9
dzone.com/research/mobile
THEE ST TH STAT ATEE OF
NATIVE VS . WEB VS . HYBRID BY MITCH PRONSCHINSKE
A continuing question in mobile development is whether it’s
CODE REUSABILITY/PORTABILITY
more beneficial to build applications that are written directly for
Perhaps the biggest weakness of native apps is their lack of
a native platform or to build applications on web languages and
portability to other platforms. The appeal of web apps is that you
technologies.. When tools like PhoneGap emerged, a third “hybrid” technologies
can have one codebase and run it on any major mobile platform.
option became available that could use native code in conjunction with web languages to gain a set of attributes that no native or web
The appeal of hybrid apps is similar, because you are able to reuse a large amount of code for each platform. However, web apps aren’t
apps have. Today, there are also Mobile Application Development
100% portable. Newer web standards aren’t always supported by
Platforms (MADPs) that can generate largely native apps from a
the browsers on every device, so even web developers have to
single original codebase, which does not have to be written in web
worry about compatibility issues [1]. issues [1]. It should also be noted that
languages.
native app webviews are not the same as device browsers, and therefore have their own fragmentation issues.
MADPs are compared on a tool-by-tool basis on DZone’s mobile research portal (http://dzone.com/research/mobile (http://dzone.com/research/mobile). ). For native,
DEVICE ACCESS
hybrid, and web applications, this article will serve as a comparison
Although web apps can access some basic mobile device APIs, like
between the three mobile app types. In addition to the comparison
the GPS for geolocation apps, they still have very limited hardware
information, you’ll you’ll also get a snapshot of the industry use cases and
access. They don’t have support for Digital Rights Management
current trends around native, web, and hybrid apps.
(DRM), which is needed for many multimedia services, they can’t harness background processing, processing, and they can’t use secure storage
COST
outside of applications. There are some new standards currently
Native apps often cost more to develop and distribute because of
being drafted by the W3C that will give web apps a few more
the distinct language and tooling ecosystems, ecosystems, which require more investment in developer skills if you need to develop for more than
capabilities for accessing device APIs, but for the next few years, hybrid apps and native apps will provide significantly more access access
one platform. However, cost is dependent on many other factors
to device APIs. Hybrid app frameworks have made a lot of progress
as well, so native apps won’t be the most expensive option in every
getting access to most of the low level features, like the gyroscope
case. Building an excellent excellent mobile web app also requires a high
and accelerometer.
degree of developer expertise, expertise, so no matter which type of app you build, quality will always be expensiv expensive. e.
UI CONSISTENCY Mobile web UI frameworks help web and hybrid apps build native-
TESTABILITY
looking UI components, but difference differences s still remain. The framewo frameworks rks
Mature and predictable native platforms with proven tools tend to
also have to stay up to date with major platform design updates
make testing easier than the framew frameworks orks that create hybrid apps
like iOS 7. In iOS, a web or hybrid UI is especially apparent, because
using JavaScript-to-native communication. communication. Web app testing can
when UIWebView UIWebView is used, the bitmap compositing does not happen
also be a struggle if the developer isn’t skilled and knowledgeable
in the hardware like it would for a native app. Subtle features
about the JavaScript ecosystem. Native app testing becomes
like the bouncing effect at the bottom of a page on iOS can’t be
increasingly difficult if you maintain multiple codebases and
completely recreated recreated in JavaScript. That’s why the developers who
support a large number of devices.
built forecast.io forecast.io (a (a web app that rivals native UX) recommend recommend that that
NATIVE VS . WEB
10
VS .
HYBRID: 7 HYBRID: 7 FACTORS OF COMPARISON
KEYY KE
CON
P RO
N E U T RA L
N ATIVE
H Y B R ID
W EB
COST
Commonly the highest of the three choices if developing for multiple platforms
Similar to pure web costs, but extra skills are required for hybrid tools
Lowest cost due to single codebase and common skillset
CODE REUSABILITY/ PORTABILITY
Code for one platform only works for that platform
Most hybrid tools will enable portability of a single codebase to the major mobile platforms
Browser compatibility and performance are the only concerns
DEVICE ACCESS
Platform SDK enables access to all device APIs
Many device APIs closed to web apps can be accessed, depending depending on the tool
Only a few device APIs like geolocation can be accessed, but the number is growing
UI CONSISTENCY
Platform comes with familiar, original UI components
UI fra frame mewor works ks canach achiev ieve e afai fairly rlynat native iveloo look k
UI fra frame mewor works ks canach achiev ieve e afai fairly rlynat native iveloo look k
DISTRIBUTION
App stores provide marketing benefits, but also haverequirements andrestrictions
App stores provide marketing benefits, but also haverequirements andrestrictions
No restrictions to launch, but there are no app store benefits
PERFORMANCE
Native code has direct access to platform functionality, resulting in better performance
For complex apps, the abstraction layers oten preventnative-like performance
Performance is based on browser and network connection
MONETIZATION
Moremonetizationopportunities,butstores take a percentage
Moremonetizationopportunities,butstores take a percentage
No store commissions or setup costs, but there are few monetization methods
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
you build an original UI for web apps, rather than trying to recreat recreate e
an app-like experience, whether it’s through native or hybrid code, is
the native UI and having your app look “wrong” to users [2].
the preferred mode of consumer interaction. interaction.
SEO
If that’s not enough evidence, you just need to look at the most
This may not be the fairest criterion for native applications, but if you
popular mobile apps right now and you’ll find that most of them are
want the textual and semantic content of your app to be found and
native. Facebook Facebook and and LinkedIn both tried to build hybrid apps for
ranked by search engines, your app has to have a web component. A
accessing their websites, but they found that the experience and
web component is required because apps are closed environments,
performance weren’t weren’t up to their standards, so they built native apps
and search engines cannot access that information.
for all of the major platforms [5]. However, those companies can certainly afford to have many developers developers with the skillsets to build on those platforms.
DISTRIBUTION With app stores, native and hybrid apps are able to harness marketing tools such as rankings and featured placement all in a well-maintaine well-maintained d
An area where
system. Web apps, by contrast, don’t have to fulfill any app store
web and hybrid
requirements, and they are accessible through any compatible browser. The disadvantages for native and hybrid apps are the app store requirements and content restrictions. For web apps, the
THE CHO CHOICE ICE BETW BETWEEN EEN NA NATIVE TIVE,,
app development
WEB, OR HYBRID IS DEPENDENT
common is in the
downsides are that you don’t get the marketing benefits of an app store. Web Web apps also have to be manually bookmarked if the user wants a shortcut on their homescreen.
enterprise. The need
ON A NUMBER OF FACTORS, INCLUDING BUSINESS
PERFORMANCE
NEEDS, APP REQUIREMENTS,
Native code will always be the most straightforward straightforward path to the snappiest performance. performance. Hybrid app performance can be strong, strong, but will sometimes suffer depending on how the tools build code to interface with the native OS. Web apps can have strong performance
is becoming more
for business-toemployee employe e apps (B2E) is expected to grow exponentially over the next few years, and
DEVELOPER SKILL, AND
most companies will
DEVELOPMENT TIMELINES.
maintain two or more
as well, if you have skilled web developers and use modern standards like appcache. Web and hybrid performance will also improve as
not want to build and codebases for every app. Another option for these enterprises is
mobile browsers get faster JavaScript engines. Other things that can help mobile web performance include using WebKit’s overflow overflow
using MADPs, which were described in the introduction. The expected
scrolling to create scrolling divs, using tools like FastClick FastClick to to speed up
growth of B2E apps has led some analysts to recommend recommend choosing choosing
hyperlinks, and only animating GPU-accelerated properties [3].
hybrid apps or MADPs for large scale internal app development, while building native apps for external customers with high performance
DEPLOYMENT/UPDATES
expectations [6]. Web Web apps tend to be recommended if the
If app updates aren’t automatic, they can be a real annoyance to
organization needs to circumvent app stores, build an e-commerce
the user. A huge advantage for web apps is that you can deploy
storefront storefro nt that is searchable on the web, or create a marketing site
them like any other desktop website. Hybrid apps can make some
that is also easily searchable and accessible through the web.
updates through the web without app store approval, but hybrid apps and native apps still have to jump through the hoops of app store
The point of this exploration is not to pick a winner, but to know the
approval, and they need to download any updates from the app store.
strengths and weakness of each application type. The choice between native, web, or hybrid is dependent on a number of factors, including
MONETIZATION
business needs, app requirements, developer developer skill, and developmen developmentt
For web apps, you can make money through advertisements,
timelines. All potential types should be explored and evaluated before
subscriptions, or an app store for web apps, though the vast majority
implementing a mobile strategy. strategy.
of app downloads still happen in the native platform stores. Native
[1] http://mobilehtml5.org/ [1] ttp://mobilehtml5.org/
and hybrid apps have more options for monetization, including in-app
[2] http://blog.forecast.io http://blog.forecast.ioitsnotawebappitsanappyouinstallfromtheweb/ itsnotawebappitsanappyouinstallfromtheweb/
purchases, platform-native ads, and the app purchase itself. However,
[3] https://github.com/tlabs/fastclick
to be in the high-profile native app stores, you need to hand over a
[4] http://blog.lurry.com/bid/109749/AppsSolidifyLeaders com/bid/109749/AppsSolidifyLeadershipSixY hipSixYearsintotheMobile earsintotheMobileRevolution Revolution
percentage of your app download revenue revenue to the company that owns
[5]https://www.fa [5] https://www.facebook.com/notes/f cebook.com/notes/facebookengineering/ acebookengineering/
the store (usually around 30%). There is also an initial fee to develop
underthehoodrebuildingfacebookforios/10151036091753920 [6]http://www.t [6] http://www.techtimetea.com/trendsent echtimetea.com/trendsenterprisemobility2014 erprisemobility2014//
for the platform and deploy on the app store.
NATIVE VS. WEB VS. HYBRID: THE TRENDS
WRITTEN BY
When looking at the trends in the native vs. web vs. hybrid
Mitch Pronschinske
conversation, convers ation, it can’t be denied that native apps are heavily favored by consumers. A recent survey by Flurry Flurry,, a mobile analytics company, company, found that mobile users in the US spend 86% of their time using native or hybrid apps [4]. That number is still 54% even if you filter out gaming apps. Comparatively, Comparatively, 14% of their time is spent in the browser using mobile websites. websites. This is a pretty good indication that
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
Mitch Pronschinske is the Head Analyst for DZone's Research division. He has been writing, curating, and editing content for an audience of IT professionals for over four years. In that time he has learned the complexity that sotware producers deal with on a daily basis, and he strives to make their world easier to understand and digest.
11
2014 GUIDE TO MOBILE DEVELOPMENT
PAINLESS MOVE TO MOBILE The forces pushing enterprises to mobile
These early wounds
are so well documented and talked about
developed into scar tissue
that they don’t really bear repeating.
that still leaves some IT
The business case has been made. The
shops hesitant to engage.
organization has spoken, and the response from IT is quite varied.
The many that are pushing (or being pushed) past that
fear are understandably
The early adopters listened to public
cautious and curious:
THEE STATE TH STATE-O -OFF-TH THEE-ART ART FO FORR MO MOBI BILE LE HA HASS ADV ADVAN AN CE CED D TO A PO POIN IN T WH WHER EREE EN TE TERP RPRI RISE SESS CA CAN N ME MEET ET HIG H DEMANDS ... WITH AMAZINGLY RICH UX THAT WEAVES WEAVES DATA, DAT A, PROCESS, AND PRACTICE COHESIVELY COHESIVELY.. UX that weaves data, process, and practice
examples, like Facebook, Facebook, and decided that
cohesively inside apps that run beautifully on
native was the way they had to go – even if
•
What are my options?
any form factor they are used on.
their app bore no resemblance to the public
•
Which path should I choose (pros and
cons)?
For more information, go to http://bit.ly/m-
What first app gives the biggest bang for
dzone
use case. What they unfortunately ran into was a big bag of hurt. The fundamentally
•
splintered approach of hand-coded, crossdevice native mobile app development
my buck? •
HOW DO I GET STARTED QUICKLY?
crushed many of these projects after the
WRITTEN BY
first test app.
Much has changed since the time of these
first painful forays, as is always the case
Others went down the path of trying to
with technology. technology. The state-of-the-art has
cram a desktop browser app onto a four-
advanced to a point where enterprises can
inch screen, often with disastrous results.
meet the high demands of their customers,
partners, and employe employees es with amazingly rich
OutSystems Platform BY OUTSYSTEMS CATEGORY
Director of Product Marketing, OutSystems
PHONE (404) 719-5100
OutSystems Platform empowers developers to create, deploy, and manage amazing mobile and web applications more eficiently with current skills.
MADP
STRENGTHS
TAGS JAVASCRIPT JAVA IDE -
-
-
-
-
-
•
VERSION MGMT USAGE ANALYTICS
-
--
-
REST + SOAP HOSTED --
TWITTER @outsystems
Sean Allen
-
-
•
-
•
TARGETS
Web Hybrid ○ Native
•
•
DESCRIPTION
Create once for all devices utilizing responsive web design True no lock-in: lock-in: customers can detach on to industry-standard application stacks with open Java or C# code; no proprietary runtime
OutSystems provides an open, high-productivity PaaS that allows users to create, deploy, and manage enterprise mobile and web apps with integration into existing systems. OutSystems includes Continuous
Can use lexible deployment deployment scenarios from on-premises to public, private , or hybrid cloud
Delivery facilities to deploy and manage those apps ater release, including including lifecycle governance and integrated UX monitoring.
Allows creation of more complex systems, including those using large volumes of data and non-trivial worklows Not just for building single-function apps
NOTABLE CUSTOMERS FREE TRIAL
Free version for individual users, no ALM or staging s taging capabilities
•
•
Liberty Insurance PlayRight
•
•
FICO Bacardi
•
•
Warner Brothers Charles River Laboratories
USES •
CUSTOMER SUCCESS STORY
Enterprise Apps (for internal use)
Liberty Seguros is a leading insurance insurance company and part of the Boston-based Liberty Mutual Group - a global insurer and sixth largest property and casualty company in the United States. Liberty's vision was to connect every single department department and external partner through an end-to-end solution that placed the customer at the core of operations and analytics. The
FULL PROFILE LINK
single informati system wouldofstreamline collaboratio collaboration with external partners such a s agents, as shops, customers, and more. information Liberty is aon great example what long-term use ofnOutSystems Platform can produce. Fastrepair forward 10 years and Liberty Connect is a mature collaborative platform with customers at its core. It allows every area of the company, including including external partners, to interact in real time, and that has made it possible for Libert y to completely sustain its business without losing the ability to ofer customer-centri cu stomer-centricc services.
dzone.com/ r/ r/ GMRL Additional Addition al information information in the the vendorprofile section on of the guide guide
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
13
dzone.com/research/mobile
BACK-E BACK -E ND IN TE GRA GRATI TI ON : A MAJOR HEADACHE FOR ENTERPRISE MOBILITY BY SUHAS ULIYAR
A few months back, I was asked to talk about my job
are finding it difficult to meet new expectations for project timelines.
in front of a class of 8th graders during a local school's career day event. To To simplify things, I told the class c lass
Additionally,, it is rare for customers to say that they need a Additionally
that I build mobile applications for companies. I
applications to be delivered in a few days or weeks. Customers
explained that the apps I create are like the apps that
mobile app in the next 12 to 18 m onths. Most customers expect and even development professionals often underestimate how difficult it is to build, connect, secure, deploy, and manage a
you yo u find find on on the the app st store ore,, exce except pt the theyy are are built built for
mobile app.
businesses. One of the students raised her hand and
The reason for this is because writing a standalone client
said that she had built an iPhone app in two weeks!
app and posting it to the app store isn’t the difficult part. The difficult part, especially for the enterprise, is making that application talk effectively to back-end enterprise systems. It is
That’s right, 8th graders are now building iPhone apps, and one of them was asking me what was so tough about my job? Upon reflection, I realized that over the last 15 years of building mobile apps, we have come a long way from the time when it used to take developers months or sometimes more than a
also about securing the data accessed by the app as it connects to the back-end systems. To do that, developers must devise ways to extract critical information from back-end applications and data repositories, while also delivering output optimized for mobile devices.
year to build one app. You would need highly skilled mobile application developers for Windows Mobile, Symbian, or Blackberry,, but now even kids can build iOS and Android apps. Blackberry There does seem to be an app for everything these days, but the one area over the last decade that remains a complex and costly endeavor is integrating the mobile facing client application with enterprise systems. Integration comes with challenges that include adherence to IT security policies for Single Sign-On (SSO), integrating with one or more back-end applications, complying with data encryption policies, and other obstacles that still exist after a decade of unprecedented technological progress. Today, there are many frameworks and tools that help mobile client developers build native, web, or hybrid mobile applications. However, there are fewer tools that make your life just as easy when integrating the client facing application with enterprise systems. I wonder what the 8th grader’s response would have been if I had asked her to authenticate her application via SSO and integrate it with an enterprise application for data?
ENTERPRISE INTEGRATION MAKES MOBILE HARDER Creating mobile applications continues to create new challenges for the IT team. Even talented programmers find that they might not have the specific expertise required for exposing back-end services so they can be readily and securely consumed by mobile applications. Not only is IT struggling
HARD DECISIONS Mobile development also forces hard decisions about what features to include from the backend. Mobile is not about putting wheels on the system of record (SOR) and calling it mobile. Mobile apps must be designed with context in mind and with the supporting data source(s) to deliver the context. In the past, mobile applications were mostly integrated to one onpremise back-end application. Today oday,, enterprises are beginning to deploy a distributed application environment with the core applications remaining on-premise and others being moved to the cloud (sales, HCM, etc.). In addition, there are other public cloud services, such as geolocation, payment, social networking, collaboration, and messaging, that drive additional context for the user when integrated with mobile applications. These “mashups” deliver a final challenge to IT, which is that these applications must scale reliably with enterprise-grade performance. Many enterprises have not faced this challenge because they have only dealt with the tactical deployment of one or two mobile apps. However, as the user volume grows from a predictable B2E volume to an unpredictable B2C volume, the ability of the infrastructure to scale and perform at an enterprise-grade becomes critical to providing an excellent quality of experience (QoE). A slow response for data from the backend will have end-users abandoning an application despite the best user interface, which will cripple the overall user experience.
to provide the required skill sets for a mobile world, they
14
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
SOA AND MOBILE
that can be consumed
Wasn’t the promise of Service-Oriented Architecture Architecture (SOA)
by multiple channels. In
to provide a high-performing and reliable services layer that
addition, this infrastructure
integrates the back-end applications and abstracts them from
must have built-in
the consumers of data (i.e. the multichannel clients)? So, why
reliability,, scalability, and reliability
do you need a mobile enterprise application platform (MEAP)
performance that can handle
or Mobile Application Development Platform (MADP) in order
a growing and potentially
to develop mobile enterprise applications?
unpredictable volume of
WASN’T THE PROMISE OF SERVICE-ORIENTED ARCHITECTURE (SOA) TO PROVIDE A HIGH-PERFORMING
traffic above your existing The truth is you don’t. MEAPs and MADPs came into existence to solve both the clientside development challenges as well
web traffic. This is what is going to make an enterprise
as the back-end integration challenges. They do this by
successful in delivering
providing a consistent way to integrate with back-end systems
effective multi-channel
and provide additional mobile services such as bidirectional
applications.
sync for offline applications, push notifications, application
With the move towards the
provisioning, and version control.
cloud, Mobile-Backend-asa-Service (MBaaS) provides
AND RELIABLE SERVICES LAYER THAT INTEGRATES THE BACK-END APPLICATIONS AND ABSTRACTS THEM FROM THE CONSUMERS OF DATA (I.E. THE MULTI-CHANNEL MULT I-CHANNEL CLIENTS)?
SOA vendors vendors were being used primarily for web applications
a standard approach to deal
or application-to-application integration. They were not
with complex server-side
focused on solving the mobile integration problems, such
programming. It provides a
as providing a lightweight protocol for delivering output
set of rich RESTFul interfaces for all the operations required
optimized for a mobile device. This led to fragmented,
by the mobile app and abstracts the backend from the mobile
duplicated, and siloed architectures, one for mobile and one for
developer.. MBaaS comes with built-in mobile-specific SDKs/ developer
the rest of the applications.
APIs and services, custom and third party APIs, containers to build and orchestrate services, integrated security, security, analytics,
FULFILLING THE PROMISE OF SOA
monitoring, and management. With all these features, client
The middleware infrastructure designed for web-based
developers can focus more on front-end applications by using
applications can now support mobile clients by exposing
their choice of mobile client development tools for native,
existing services or reshaping existing services as RESTful
web, or hybrid apps. This enables developers to simplify
APIs, which are the preferred mechanism to integrate services
development by integrating with mobile-ready APIs exposed in
for mobile applications. Those features, which used to be
the cloud.
unique to MADP vendor platforms (e.g. push messaging, sync, caching), are now often available as features of the middleware
The promise of SOA is being fulfilled, so now what? You might
technology stack.
not need a MEAP or MADP that solves a niche problem. Mobile is no longer tactical; i t is critical to business success. Businesses
MOBILE DEVELOPMENT FORCES HARD DECISIONS ABOUT WHA WHATT FEATURES TO INCLUDE
As data gets distributed
are looking for an enterprise-wide mobile-first strategy strategy for
and fragmented,
B2E and B2C applications that leverages and complies with
orchestrating data between
their back-end infrastructure for security and integration.
these back-end systems
Enterprises are looking to reduce cost of ownership and deliver
becomes a requirement.
to their business by reusing common components. They are
With user identity distributed, it becomes
always looking for ways to simplify enterprise mobility. After a decade of mainly front-end innovations, we’re finally starting to
a critical requirement to
see solutions that also simplify back-end concerns.
have a federated identity with integration to SSO
FROM THE BACKEND.
that supports different
WRITTEN BY
authentication protocols
Suhas Uliyar
(such as OAuth 2.0 and SAML) along with
MOBILE IS NOT ABOUT
traditional enterprise
PUTTING WHEELS ON THE
user stores (LDAP, AD).
SYSTEM OF RECORD AND
middleware architecture
It is critical to have a that brings together
CALLING IT MOBILE.
an integrated identity management solution and an integration a rchitecture that exposes services
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
Mr. Suhas Uliyar is a 19-year mobile industry veteran, Mr. known as a strategist and technology evangelist responsible for designing and developing enterprise mobile applications, middleware, and tools. Suhas is responsible for driving Oracle's mobile strategy and vision. He is a seasoned executive with years of technical and business management experience in enterprise sotware. He has a successful track record as both an e ntrepreneur in small start-ups and as an executive with major industry leaders. Suhas has held leadership positions with SAP, Motorola Solutions, Spring Wireless, Dexterra (Antenna Sotware), and Micromuse (IBM).
15
A Different Kind
of Hybrid HTML5 Development Access Acces s Native Native Features Cross-platform Support No Native Code No App Store Submissions No New Tools
www. www.bridgeit bridgeit.mobi .mobi
2014 GUIDE TO MOBILE DEVELOPMENT
BRIDGEIT:
NOT ALL HYBRIDS ARE CREA CRE ATED EQUAL
Hybrids deliver native features using
and the BridgeIt utility is automatically
utility augments the standard browser with
web-based development techniques.
installed when required.
native features and is automatically installed
Conventional Conventio nal hybrids bundle the web
when required.
app into a native app, but BridgeIt
DEVELOPMENT EASE
eliminates this requirement and opens new
Bundling conventional hybrids requires
SIMPLE DISTRIBUTION
additional tooling and reduces developer
Conventional Conventio nal hybrids are native apps
efficiency.. Furthermore, the capabilities of efficiency
and are typically published to platform-
embedded browsers have lagged behind
specific app stores. External approval and
possibilities.
HTML5: YES, BUT... Hybrids use HTML5/CSS3/
CONVENTIONAL HYBRIDS BUNDLE THEE WE TH WEB B AP APPP IN INTO TO A NATIVE APP, BUT BRIDGEIT ELIMINATES THIS REQUIREMENT AND OPENS NEW POSSIBILITIES.
JavaScript, but are typically bundled with an embedded browser into p latform-specific native apps. These apps are installed through app stores and run locally on the device. BridgeIt apps are pure web apps. The BridgeIt utility augments the standard mobile browser with native features accessible directly from the web app. Web deployment eliminates external approvals,
best-in-class mobile
publication processes are onerous and time
browsers like Safari and
consuming, which increases support costs.
Chrome. Developers
must use only the lowest
As web apps, BridgeIt hybrids lever leverage age
common capabilities of
server-based distribution. They are not
the embedded browsers,
subject to app store submission processes processes or
setting aside the
approvals,, and support costs are reduced. approvals
powerful new features of HTML5/CSS3.
web app leverages best-in-class browser capabilities. The BridgeIt
TWITTER @icefaces
STRENGTHS
TAGS JAVASCRIPT JAVA \ -
-
-
-
•
ON-PREMISE MOBILE MIDDLEWARE -
-
--
IDE
-
CTO, ICEsot Technologies
with BridgeIt, and the
PHONE (403) 663-3322
ICEmobile is an easy and cost-efective way to mobilize Java EE web applications. Go beyond HTML5.
MADP
-
Steve Maryka
No bundling is required
ICEmobile BY ICESOFT CATEGORY
WRITTEN BY
•
-
TARGETS
•
Web Hybrid ○ Native
DESCRIPTION
Automated device theming enables a single web application to adopt the look of the native mobile device it is viewed from Extends the ICEfaces Ajax Push capabilities with Cloud Push, leveraging native platform push capabilities to deliver notifications even when the application is not active
ICEmobile is a framework for developing ICEmobile cross-platform mobile web applications with Java EE and JSF. ICEmobile supports hybrid application development with the ICEmobile containers and integrates with the BridgeIt utility application.
Extends the ICEfaces framework with a suite of mobile controls for UI development
NOTABLE CUSTOMERS FREE TRIAL
Open source version
•
available •
Aetna
•
FedEx
•
U.S. Steel BNSF
•
•
Thermo Fisher Scientific US Government
USES •
CUSTOMER SUCCESS STORY
Enterprise Apps (for internal use)
A large parcel delivery company had a legacy application running on Java EE infrastructure, and was accessed by employees using desktop browsers. Evolving business demands required the functionality be extended to include external users/ customers accessing the application via tablets and smart phones. Development Development and support costs associated with native
FULL PROFILE LINK
mobile development were unacceptable, and app store publication was undesirable. them to leverage legacy so tware investments and easily extend their existing desktop application intoICEmobile the mobileenabled space. ICEmobile's suite of mobile JSF components simplified the application design, and minimized development and support costs. Additionally, ICEmobile's ICEmobil e's push and hybrid capabilities future proofed their product roadmap.
dzone.com/ r/ r/ hkyX Additional Addition al information information in the the vendorprofile section on of the guide guide
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
17
2014 GUIDE TO MOBILE DEVELOPMENT
MOBILITY A ND LE LEAAVING THE NEST Data is critical to an organization, but
question becomes, “how do I let my data
that’s not news to anybody. It’s not just
leave the nest, but make sure that it stays
a by-product of doing business, it is the
safe and protected?”
PAAS AND PRE-BUILT CONNECTIVITY The future of productivity in building “connected” “connect ed” mobile apps is not in creating
business. Being able to access and digest
more services and acquiring
that data is a competitive edge. For many years, it sat behind large CRT monitors and
THE TRADITIONAL SERVICES LAYER
enterprise grade firewalls. The data stayed
Services are the key
safe and sound in the data center. Laptops
to securely unlocking
were the first to challenge the system. VPN
enterprise data on
connections arose to answer the outcry and
mobile devices. We
help keep data safely at home.
used to call them “web
services” but now they
Then mobile showed up and knocked on the
are known as “APIs”.
door. Mobile devices with their silky smooth
One of the difficult
designs and futuristic form factors that let
things about services
you access your email, approve workflows,
is that they present
and close a sale.
architectural architectur al challenges that are not easily
HOW DO I LET MY DATA LEAVE THE NEST, BUT MAKE SURE THAT IT STAYS SAFE AND PROTECTED?
more technical debt. The future is in leveraging the productivity features that PaaS offers, such as pre-built connectors, to securely expose enterprise data, thereby allowing development teams to concentrate concentr ate on building worldclass applications. For more information, please visit: www.telerik.com/platform
WRITTEN BY
answered answere d until you implement them. While
KEEPING IT SAFE
the services layer is a necessary abstraction,
Burke Holland
Building mobile apps is not the same as
it’s also an added level of complexity and
Product Man ager,
developing desktop and web apps. Our standardized tools buy us little to nothing
maintenance.
Telerik
when it comes to mobile devices. So the
Telerik Platform BY TELERIK CATEGORY
STRENGTHS
TAGS HOSTED MOBILE -
-
-
•
MIDDLEWARE IDE VERSION MGMT -
PHONE (888) 365-2779
A modular platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native apps.
MADP
-
TWITTER @telerik
-
-
-
--
•
USAGE ANALYTICS -
•
TARGETS
•
Web Hybrid Native
•
DESCRIPTION
Includes a comprehensive mobile UI library Supports all three development approaches: approaches: web, hybrid, and native Integrates with Apache Cordova Addresses the entire lifecycle of the project (from design to deployment)
Telerik Platform is a cross-platform solution that includes UI libraries for web, hybrid, and native developmentt as well as developmen a s a suite of integrated cloud services. It addresses the entire lifecycle of the app, and integrates with any development environment.
Modular platform that can be integrated with other tools and services
NOTABLE CUSTOMERS FREE TRIAL
30-day free trial
•
•
Paylocity
•
Verizon
•
Ernst and Young Symantec
•
•
HP Microsot
USES •
•
CUSTOMER SUCCESS STORY
Consumer Apps Enterprise Apps (for internal use)
With a focus on technology and service, Paylocity is constantly striving to ofer the latest tools and solutions to make payroll and HR processes easier. With the shit to a mobile-focused world, the company recognized the need for a mobile app that would enable their ESS users to view and make changes to their accounts via any mobile device. With Telerik Platform, Paylocity was
FULL PROFILE LINK
able to create a secure cross-platform mobile app to serve its client client-base -base of over 7000 organizations org anizations in less than 6 months.
dzone.com/ r/ r/ PLMa Additional Addition al information information in the the vendorprofile section on of the guide guide
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
21
dzone.com/research/mobile
MOBILE UX
REFINING PERCEIVED PERFORMANCE BY ANDREW TRICE
Performance is critical when you are building apps for mobile devices. When using a device that is built for accomplishing tasks quickly and on the go, like a smartphone, performance is an even bigger concern than on desktops. Being users ourselves, we all understand this, but we also understand that users can't see an app's network timelines or latency scores. The user's perception of application performance depends upon aesthetic design, feedback to the user, speed of information, and much more. All they see is the user experience you have crated for them, so even if your performance metrics are great, your apps can still feel slow if you don't employ the right techniques in your code. In many ways, perceived performance is more important than actual performance. In this article, we're going to focus on the user's perception of performance.
interface that doesn’t acknowledge the user input, then there is no way for the user to know that the input has been received. Regardless of whether or not this app is actually slow, the user will perceive the app as being slow or buggy simply because there is nothing to let the user know that their input has been received and that the app is preparing a response.
LOADING ANIMATIONS After you’ve tapped a button, does your app let the user know that something is happening, or does the UI simply lock up until the next piece of data is ready? If it’s possible (and in most cases, it is), you should never lock up the user interface thread while you are requesting data from a remote source. This is a major red flag and users will immediately notice when the entire application locks up and becomes unresponsive. A better way of handling this would be to request data in a background thread (so it does not lock up the UI) and present the user with some sort of visual cue that an action is being performed. By handling data in a background thread, the app stays responsive and never feels like it’s freezing up. If you’re building a hybrid or mobile web app, don’t worry; the browser’s XMLHttpRequest won’t lock up your webview’s UI, so this is less
Let’s first examine two major use cases for mobile apps: accessing information on the go, and entertainment. If you are accessing information on the go, there is a good chance you are in a hurry or you’re on a limited-speed connection. You need the app to give you the information you need as fast as possible. In the case of entertainment, you just need the app to provide fluid interaction. In this case, performance is part of the entertainment factor. In both of these cases, the app’s performance is not simply characterized by how fast the app is processing information behind the scenes. Rather, this extends into the app’s design and system architecture.
of an issue. Rather than just making your user wait until data is available before changing views, you can change the user perception and trick them into feeling that the app is faster by providing some sort of feedback. It could be as simple as a spinner or a progress bar, however, however, these have also a lso been known to draw the user’s attention to the fact that they are waiting. Alternatively, you could create a loading view animation that slowly removes the previous page’s data or shows pieces of the new data as it is loaded. Overall, you want to have some way of entertaining and distracting the user while they wait. By engaging the user with
INSTANT FEEDBACK
animation, you are changing the perceived performance and user
The most immediate factor of an app’s performance actually
experience of the application, even if the loading time does not
has nothing to do with raw processing power. User feedback, or
actually change.
some sort of response to user input, is probably the most critical factor to having an app that seems to perform well. If you touch a button, that button should immediately provide feedback to the user. If you swipe across the screen to drag an object, that object should follow the user’s touch immediately.
FAMILIAR NATIVE PHYSICS AND GESTURES Buttons and animations are great for any form factor, but the features that make mobile so convenient and elegant to use have always been the touch controls. There is a common set of interface physics and gestures that all popular mobile platforms
Most native components will handle user feedback (ie: button states) for you. However, if you are building a mobile web or
share, including momentum scrolling, side swipes, pull-to-refresh, and multi-touch zooming controls.
hybrid application, it is extremely important that you build in some sort of user feedback to inform your users that their input has been received and you are performing some sort of action. The button press case is extremely basic, but if you have a user
22
It’s important for app designers to harness these mobile-specific controls wherever they can, and they need to be snappy. Natively built Natively built apps don’t have too many issues with these built-in
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
controls, but web and hybrid apps can have issues recreating this
You start uploading that image before the user has actually said
functionality. Luckily, there are tools and CSS controls that can help.
they’d like to upload the image. The user then enters a name and description, and by the time the user hits the upload button the
For implementing momentum scrolling, you can use the overflow scrolling: scroll ing: touch touch property on the container and then write some
image is already uploaded. Then, when the user does hit upload, they will be amazed at how quickly the upload took place. This
JavaScript that only applies that class if the container is visible. The
is exactly what Instagram does in their app, and it is part of what
JavaScript is necessary because that CSS property disables the
set Instagram apart from their competition early on. Preemption
tap-the-top feature of mobile browsers that commonly sends you
doesn’t work in every scenario. You don’t want to aggressively load
back to the top of the page. For implementing gestures like pull-to-
data that may never be necessary, but it can work extremely well in
refresh and zooming controls, there are plenty of great JavaScript
the cases where it does fit.
libraries that can help, such as Hook.js Hook.js and and Hammer.js.
ALL DECISIONS MUST CONSIDER UX HARNESS THE GPU
In a nutshell, perceived performance is really all about
In many cases, you’ll use animations in your mobile apps, especially
understanding how the user experiences UI performance, not the
in the loading instances mentioned above, but how do you make
actual performance metrics. You need to consider how the end
sure those animations are fluid and snappy? Obviously, stuttering
user is going to be impacted by every technical and architectural
or choppy animations can be very problematic. They give the
decision that you make. If there is ever a situation where the user
user the feeling that the app is slow and buggy. This is one of the
needs to wait, then give them feedback to let them know that the
major issues that people often complain about with HTML-based
app is still working. Request data during an animation sequence,
applications. In native applications, this is less of an issue unless
or play animations while the app is doing something else in the
you are doing something extremely complicated. Generally, native
background. Preempt data loading if you can. If you can’t, then
animations are fast and smooth.
you might want to consider lazy-loading your data. If you’re
Another technique that you can use to make your application feel extremely fast is to preempt user actions before the user performs them. This is exactly what Instagram does in their app, and it is part of what set Instagram apart from their competition early on. In HTML applications there are ways to make the app feel faster and
building a web app, let the GPU handle the UI in any way possible.
make animations smoother. Avoiding computationally-expensive
Regardless of the interaction, it is critical to develop your apps in a
browser reflow operations is critical for making fluid animations.
fashion that tailors the experience to the user’s delight.transitions delight.transitions
Browser reflow operations occur when your content’s size changes,
or animations with the transform:translate3d (x,y (x,y,z) ,z) style. This style
or the position of your content changes, causing it to impact the
forces rendering of your DOM content on the GPU and can also
layout of neighboring DOM elements. If you change width, height,
be used to move or animate your content without triggering those
or top/bottom/left/right styles of a DOM element, this will trigger
expensive browser reflow operations. This technique can be used
browser reflow operations.
to achieve solid 5060 frames per second animations in mobile web experiences. However, it is also important to make sure that the
If you want to animate your content in HTML, you can use CSS
DOM elements you are animating don’t exceed the GPU maximum
transitions or animations with the transform:translate3d (x,y (x,y,z) ,z)
texture size. Otherwise, you could end up with an annoying flicker in
style. This style forces rendering of your DOM content on the GPU
your animations, which completely ruins the user experience.
and can also be used to move or animate your content without triggering those expensive browser reflow operations. This technique can be used to achieve solid 50-60 frames per second animations in mobile web experiences. However, it is also important to make sure that the DOM elements you are animating don’t exceed the GPU maximum texture size. Otherwise, you could end up with an annoying flicker in your animations, which completely ruins the user experience.
PREEMPTIVE PERFORMANCE Another technique that you can use to make your application feel extremely fast is to preempt user actions before the user performs them. For example, let’s say you capture an image with your app.
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
WRITTEN BY
Andrew Trice Andrew Trice is a Technical Evangelist with Adobe Systems. Systems. He has more than a decade of experience designing, implementing, and delivering rich applications for the web, desktop, desktop, and mobile devices. He is an experienced architect, team leader, accomplished speaker, and published author, specializing in object-oriented principles, mobile development, real-time data systems, GIS, and data visualization.
23
dzone.com/research/mobile
TH T HE STEP-BY-STEP
MOBILE APPLICATION DEVELOPMENT CHECKLIST GENERAL APP PLANNING F Write a statement of purpose or “elevator pitch” for your application.
F Gather expected user requirements (a survey of potential users could be helpful).
F Gather business requirements for the application.
F Reduce screen elements down to the bare essentials. F Build wireframes for each screen in the app along with a navigation map.
F Build a functioning prototype with MVP features. F Do usability tests on the prototype, covering every item on your user and business requirements lists.
F Examine the potential competition for your app (business model, strengths, weaknesses).
F Determine the IT resources required to support this application. F Create a list of the core functionality for version 1.0 (Minimum Viable Product).
F Make a whiteboard drawing of the architecture.
SECURITY F Decide if your app will use custom tokens or security standards (e.g. SAML, OAuth).
F Determine if your app needs SSO for logging into multiple apps.
F Decide if your app will be a native, web, or hybrid app (or if you will build multiple types).
F If your app is native or hybrid, determine the platforms for distribution.
F Determine if you will build a diferent app for diferent form factors (phone, tablet, TV, etc.).
F Decide on the development sourcing strategy (insourcing, outsourcing, or co-sourcing).
F Identify the team members and stakeholders for this project along with their responsibilities.
F Determine who will support the app when it's finished. F Collaborate with team members to build a structured and repeatable project calendar.
F Construct a marketing strategy in parallel with app development. Execute pre-release marketing.
TE ST IN G F Prepare an appropriate on-device, real-time testing and debugging strategy.
F Determine which devices you need to acquire, then integrate them into the team's testing worklow.
F Have a plan for reacting quickly to issues on untested devices. F Harness user simulation scripts and load testing tools to test user and business requirements in high trafic conditions.
F Log and visualize all appropriate data for easy pinpointing of problematic code.
F Ensure that your app meets the requirements for any target app stores.
F Conduct private beta testing with all of your employees (not just IT). F Conduct beta tests with real-world users. Try giving out git cards at a cofee shop to recruit testers.
ENTERPRISE APP PLANNING F Ask employees what they would like to have in a mobile app. F Identify processes that could be handled more eficiently with a mobile app.
F Identify data that could be monitored more oten with a mobile app.
F Find out which systems mobile workers need to access frequently (e.g. internal web portals).
F Ensure your enterprise mobile systems have fast data access using authorized methods.
LAUNCH F Determine a build and deployment process that lets you deploy updates early and oten.
F Complete the tasks necessary for deployment to your target app stores.
F For non-app store distribution, prepare an app server for wireless distribution.
F Follow any platform requirements for non-app store distribution. F Execute your marketing plans for launch. F Monitor app performance and track new sotware bugs.
DESIGN AND DEVELOPMENT F Harness design and development tools that will make your team as eficient and efective as possible.
F Compile a list of objects and actions for the application and their
F Collect data on real-world usage and monitor feedback from customers.
F Continue to improve the app according to a roadmap based on customer behavior.
relation to each other.
24
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
MADP
TH T H E S O LU LUTT I O N S D I R E C TO TORY RY In this section of the guide you will find profiles of the most
Adobe Phonegap BY ADOBE PhoneGap lets you create native n ative apps using HTML, CSS, and JavaScript for iOS, Android, Windows Phone, and more.
TAGS JAVASCRIPT JAVA OBJECTIVE-C C# MOBILEMIDDLEWARE -
-
-
-
-
-
-
--
-
-
promising mobile development platforms and frameworks TARGE TS
to help you develop mobile apps more eficiently.
STRENGTHS •
Web
Hybrid
To view an extended profile of any product, you can use
•
Native
•
the short-code link found at the bottom of each profile, or simply go to dzone.com/research/mobile dzone.com/research/mobile and and enter in the
• •
shortcode at the end of the link.
•
SYSTEMS
• • •
Cordova/Phonegap Android iOS WindowsPhone BlackBerry
•
Can instantly update apps without recompiling Features an App Store for building apps without installing separate SDKs Hundreds of plugins are available for accessing native device APIs
CATEGORY MADP
USES •
Allows developers to remotely build apps in the cloud using PhoneGap Build
TWITTER @phonegap
FREE TRIAL Open source solution
Consumer Apps Enterprise Apps (for internal use)
FULL PROFILE LINK dzone.com/ r/ r/ vQ6x
Get easy access to full product profiles with this URL
Alpha Anywhere BY ALPHA SOFTWARE
Appcelerator Titanium BY APPCELERATOR
Alpha Anywhere is a prototype-to-production environment to develop and deploy enterprise-level, cross-platform mobile and web business apps.
Build, test, package, and publish mobile apps using JavaScript and a single code base, without managing multiple toolkits or languages.
TAGS JAVASCRIPT ON-PREMISE HOSTED MOBILEMIDDLEWARE IDE
TAGS JAVASCRIPT MOBILEMIDDLEWARE REST + SOAP IDE OAUTH2
TARGE TS
TARGE TS
-
-
-
-
Web
•
Native
SYSTEMS •
-
-
--
-
-
-
STRENGTHS •
Hybrid ○
-
•
Cordova/Phonegap •
Focus on front-end to back-end and prototype-to-production development for online and oline o line enterprise applications applications
○
Ofers a coding-optional approach approach to improve developer productivity Responsive application design for both mobile and desktop
•
Enterprise Apps (for internaluse)
TWITTER @alphaSWcorp
CATEGORY MADP FREE TRIAL 30-day free trial
dzone.com dzone.com
|
[email protected]
Web Native
SYSTEMS • • •
•
•
FULL PROFILE LINK
|
-
-
-
-
--
-
-
STRENGTHS
Android iOS WindowsPhone Blackberry
USES
dzone.com/ r/ r/ xkYW
dzone.com/research/mobile
-
•
○ Hybrid
Uses a single code base across all platforms, and integrates with several existing databases and web services
•
USES
-
•
•
•
Create rich native iOS, Android, hybrid, and mobile web apps from a single JavaScript-based JavaScript -based SDK Integrates with other Appcelerator tools such as Studio, Alloy, and Cloud Services to simplify the development process Eficient code modules to reduce development time by allowing users to write less code Built to create apps that scale with business bu siness needs
CATEGORY MADP
TWITTER @appcelerator
Consumer Apps
FREE TRIAL Open source solution
Enterprise Apps (for internal use)
FULL PROFILE LINK
dzone.com/ r/ r/ ysX9
|
(919) 678-0300
25
dzone.com/research/mobile
MADP
Appery.io BY EXADEL
AppMachine BY APPMACHINE
Accelerate enterprise mobile app development with Appery Appery.io, .io, the cloud-based platform with visual development tools and integrated mBaaS.
AppMachine ofers Apps-as-a-Service, a new code-free or code-lite way to create custom mobile apps, both native and an d web.
TAGS JAVASCRIPT HOSTED ON-PREMISE MOBILEMIDDLEWARE IDE -
-
-
-
-
-
-
--
-
-
TAGS JAVASCRIPT HOSTED MOBILEMIDDLEWARE IDE -
-
Web
Hybrid ○
•
Native •
SYSTEMS • • • •
•
Cordova/Phonegap Android iOS Windows Phone
○
Connect to 3rd party APIs with visual data binding editor
TWITTER @apperyio
CATEGORY MADP
FREE TRIAL Full-featured free version
B2B Enterprise Apps
-
-
--
STRENGTHS •
Web
○ Hybrid
Integrated backend services (database, push, server code)
•
Native •
SYSTEMS • •
USES •
Visual, drag-and-drop UI builder for creating HTML5, jQuery Mobile, and PhoneGap apps
Integration with enterprise data via APIs, Web Services, LDAP, or other custom data sources
-
-
TARGE TS
STRENGTHS •
-
USAGE ANALYTICS
-
TARGE TS
-
•
Android iOS
•
•
FULL PROFILE LINK dzone.com/ r/ r/ 7Quh
BlackBerry Webworks BY BLACKBERRY
Web design efort results in completely native code output Extensible via JavaScript and custom web service integration Built in CMS, analytics, and push notifications Web crawler allows users to use existing materials and plugins from their site in their AppMachine app
TWITTER @appmachine
CATEGORY MADP
USES •
Designer uses a drag-and-dro drag-and-drop p “building block” paradigm
FREE TRIAL Free to use, but cannot publish apps without a license
Consumer Apps Enterprise Apps (for internaluse)
FULL PROFILE LINK dzone.com/ r/ r/ jPGR jPG R
BridgeIt BY ICESOFT
Build cross-platform web apps with the BlackBerry 10 Webworks SDK, now powered by Apache Cordova.
BridgeIt is a simple way to develop hybrid HTML5 apps that run on cross-platform mobile devices. Write once, run everywhere for mobile apps.
TAGS JAVASCRIPT ON-PREMISE OAUTH2 DRAG-N-DROP
TAGS JAVASCRIPT JAVA BUG TRACKING HOSTED ON-PREMISE
TARGE TS
TARGE TS
-
-
-
Web
•
•
Native •
SYSTEMS • •
-
-
-
--
STRENGTHS
○ Hybrid ○
-
Cordova/Phonegap Blackberry
•
-
Built on open source Apache Cordova to providecross-platformcapabilities
Allows developers developers to reuse many existing web assets when porting to systems such as iOS and Android
○
CATEGORY MADP
•
•
TWITTER @BlackBerryDev
Consumer Apps
FREE TRIAL Open source solution
Enterprise Apps (for internal use)
FULL PROFILE LINK
dzone.com/ r/ r/ rCNp
26
-
-
-
Web Native
•
•
• • •
Android iOS WindowsPhone Blackberry
USES •
•
-
--
-
-
STRENGTHS •
SYSTEMS
•
USES
-
Hybrid
Allows developers developers to reuse current JavaScript libraries or any public javascript libraries Large network of supported developer tools, making it easier for developers to migrate to developing native BlackBerry apps
-
•
Allows native mobile browsers to access hardware features such as the camera, microphone, and contacts No native application packaging or app store submissions required to publish apps Automatic installation installation triggers when a web app uses BridgeIt BridgeIt's Javascript API is open source and available on GitHub
CATEGORY MADP
TWITTER @bridgeitmobi
Consumer Apps
FREE TRIAL Open source solution
Enterprise Apps (for internaluse)
FULL PROFILE LINK
dzone.com/ r/ r/ NLpH
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
MADP
ClickMobile BY CLICK SOFTWARE
ComponentOne Studio BY COMPONENTONE
ClickMobile provides visual tools that enable drag-and-drop creation of forms, fields, worklows, and functionality to cover business scenarios.
Studio for Windows Phone includes 30+ UI controls with unique functionality for building enterprise apps.
TAGS JAVASCRIPT JAVA C# IDE VERSION MGMT
TAGS C# ON-PREMISE DRAG-N-DROP
TARGE TS
TARGE TS
-
-
-
-
-
-
-
•
Web
•
Native
•
•
SYSTEMS •
-
-
-
STRENGTHS
Hybrid ○
--
Cordova/Phonegap
-
-
-
-
STRENGTHS
HTML5 and native mobile and Windows desktopapplications
○
Dynamic forms based on work type or role
○ Hybrid
A growing community enables downloads of ready-to-use apps from the ClickAppStore
Inherited integration with backend ERP, CRM, and asset management tools
SYSTEMS
•
Web
•
Native •
• •
-
•
WindowsPhone
Predictive intelligence built into apps •
•
TWITTER @ClickSotware
CATEGORY MADP
USES
•
•
FULL PROFILE LINK dzone.com/ r/ r/ MLaA
Appmethod BY EMBARCADERO
Data visualization controls include charts, maps, and gauges Allows for reporting with a PDF library and viewer Display and edit RTF and HTML natively in XAML Manage Microsot Excel files with FlexGrid and XLSX library
TWITTER @componentone
CATEGORY MADP
USES
FREE TRIAL No free trial
Enterprise Apps (for internaluse)
Share code with Windows Store and WPF controls to target multiple platforms
FREE TRIAL 30-day free trial
Consumer Apps Enterprise Apps (for internal use)
FULL PROFILE LINK dzone.com/ r/ r/ HvQ4
IBM Worklight BY IBM
Appmethod is an app development platform for building natively compiled, multi-device apps with a single source codebase.
IBM Worklight Studio is designed to provide an enterprise environment for cross-platform mobile app development.
TAGS C/C++ ON-PREMISE MOBILEMIDDLEWARE IDE USAGE ANALYTICS
TAGS HOSTED ON-PREMISE MOBILEMIDDLEWARE REST + SOAP
TARGE TS
TARGE TS
-
○
-
-
-
-
-
Web
•
Native •
SYSTEMS • •
--
-
-
STRENGTHS •
○ Hybrid
-
Android iOS
•
-
Appmethod compiled apps run directly on the CPU to improve speed and responsiveness
○
•
•
•
•
TWITTER @appmethod
Consumer Apps
FREE TRIAL 30-day free trial, no commercial deployment
Enterprise Apps (for internaluse)
FULL PROFILE LINK
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
-
• • •
-
--
STRENGTHS
Web
•
•
Native
Cordova/Phonegap Android iOS WindowsPhone Blackberry
USES
dzone.com/ r/ r/ GNRL
B2B Enterprise Apps
-
SYSTEMS
Appmethod's enterprise mobility mobility services ser vices provide point-and-click point-and-click connectivity to RESTful cloud services and enterprise databases
CATEGORY MADP
-
•
•
USES
-
Hybrid
AppMethod uses high-performance high-performance,, natively compiled, object-oriented object-oriented languages such as as C++ and Object Pascal Includes an IDE with code editors, project management, visual design, and integrated debuggers
-
•
Integrates native, HTML5, and third-party code in the same app Command Line Interface allows the customer to use familiar native and web tooling Mobile middleware capabilities for native applications, application s, with device storage, advanced analytics, security, and integration for SOAP-based and SAP enterprise back-ends Includes application development lifecycle tools for design, testing, integration, security, analytics, and user engagement
CATEGORY MADP
TWITTER @IBMMobile
•
Enterprise Apps (for
FREE TRIAL Open source, but requires a license for commercial use
•
internal use) B2B Enterprise Apps
FULL PROFILE LINK
dzone.com/ r/ r/ u4hy
|
(919) 678-0300
27
dzone.com/research/mobile
MADP
ICEmobile BY ICESOFT
iFactr Enterprise Platform BY IFACTR
ICEmobile is an easy and cost-efective way to mobilize Java EE web applications. Go beyond HTML5.
iFactr specializes in bringing legacy mobility to modern consumer grade devices.
TAGS JAVASCRIPT JAVA ON-PREMISE MOBILEMIDDLEWARE IDE
TAGS C# HOSTED ON-PREMISE REST OAUTH2
TARGE TS
TARGE TS
-
-
-
-
-
-
•
Web
•
Native
SYSTEMS • • • •
•
Android iOS Windows Phone Blackberry
-
-
-
Automated device theming enables a single web application to adopt the look of the native mobile device it is viewed from Extends the ICEfaces Ajax Push capabilities with Cloud Push, leveraging native platform push capabilities to deliver notifications even when the application is not active Extends the ICEfaces framework with a suite of mobile controls for UI development
TWITTER @icefaces
CATEGORY MADP
FREE TRIAL Open source version available
Enterprise Apps (for internal use)
-
-
-
-
Web
•
Native
SYSTEMS • •
•
Android iOS WindowsPhone
•
An enterprise ready toolset for hybrid and native apps running on desktop, mobile, or the web.
--
-
-
Designed to support the latest native and HTML5 technologies technologies so applications can easily be updated for new devices Keeps mission-critical data in sync without proprietary middleware, either online or oline Includes a coding-optional UI prototyping tool Supports hosted and on-premise environments
TWITTER @iFactr
CATEGORY MADP
USES •
-
STRENGTHS •
FREE TRIAL Open source solution available
Enterprise Apps (for internaluse)
FULL PROFILE LINK dzone.com/ r/ r/ hkyX
Infragistics Ultimate BY INFRAGISTICS
-
Hybrid
•
USES •
--
STRENGTHS
Hybrid ○
-
FULL PROFILE LINK dzone.com/ r/ r/ Qh4k
Intel XDK BY INTEL The Intel XDK includes built-in tools that let you design HTML5 responsive apps, as well as app performance tools.
TAGS JAVASCRIPT JAVA OBJECTIVE-C C# IDE
TAGS JAVASCRIPT ON-PREMISE IDE REST SOAP
TARGE TS
TARGE TS
-
-
-
-
-
-
Web Native
SYSTEMS • • •
Android iOS Windows Phone
•
-
-
-
•
•
•
Full-featureddata visualizationcontrols Full-featured including charts, maps, and gauges which are used to create any type of interactive dashboard and analytics apps
Responsive web design built into data grids, charts, and other controls Native UI controls with the same data visualization feature-set in Objective-C, Android, and C#
Consumer Apps
FREE TRIAL Unlimited free trial
Enterprise Apps (for internal use)
FULL PROFILE LINK
TWITTER @infragistics
dzone.com/ r/ r/ HuQ4
28
-
○
-
-
Web
•
•
Native •
SYSTEMS • • •
Android iOS WindowsPhone
USES •
•
-
-
-
--
-
-
STRENGTHS
Hybrid
Automatic adaptive CSS styling on mobile devices
CATEGORY MADP
USES •
--
STRENGTHS •
Hybrid
-
•
•
XDK's interface is built on HTML, CSS, JavaScript, and a Node-Webkit back-end Integrated with design, test, and build tools to improve productivity Includes theme templates and a UI designer Able to deploy apps across a variety of app stores and form factors Includes an emulator debugger, JS debugger, and JS remote debugger for Android devices
CATEGORY MADP
Consumer Apps
FREE TRIAL Freesolution
Enterprise Apps (for internaluse)
FULL PROFILE LINK
TWITTER @intel
dzone.com/ r/ r/ X39z
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
MADP
Kofax Mobile Capture BY KOFAX
Kony Development Cloud BY KONY
With the Kofax Mobile SDK, apps can be enhanced with functionality for processes such as mobile deposit, mobile bill pay, and more.
An integrated platform that helps users define, design, develop, deploy, and manage multi-channel cloud-connected app experiences.
TAGS JAVASCRIPT JAVA OBJECTIVE-C REST + SOAP
TAGS JAVASCRIPT HOSTED ON-PREMISE MOBILE MIDDLEWARE IDE
TARGE TS
TARGE TS
-
-
-
-
-
-
•
Web
•
Native
SYSTEMS • • •
--
-
STRENGTHS
Hybrid
-
•
Cordova/Phonegap Android iOS
•
Delivers many mobile capture and engagement use cases from a single open platform under full customer control
Captures and improves image lighting, blur, jitter, optics, background, and document size
• •
Automatic correction of data
•
TWITTER @kofax
Enterprise Apps (for internaluse)
-
•
-
--
-
-
STRENGTHS
Web Native
•
•
Android iOS WindowsPhone Blackberry
•
Open and standards-based platform Customer has several choices for the deployment model Connect with any enterprise or third-party system to mobilize and orchestrate your data Transition from design to development and back using the bi-directional integration with Kony Development Cloud Choose from hundreds of cloud-based APIs spanning UX/UI, device features, utilities, security, and i18n TWITTER @kony
CATEGORY MADP
USES
FREE TRIAL Requires the approval of an Eval License
Consumer Apps
-
•
SYSTEMS
•
•
-
•
Real-time dataextraction, validation validation,, and entry, eliminating the need for tedious manual entry
CATEGORY MADP
-
Hybrid
•
USES
-
FREE TRIAL 90-day free trial
Enterprise Apps (for internal use)
FULL PROFILE LINK dzone.com/ r/ r/ v46x
FULL PROFILE LINK dzone.com/ r/ r/ kWs3
LiveCode Commercial BY RUNREV
Mendix App Platform BY MENDIX
Always on coding. No compile step. Iterative and cross platform, with natural language programming for desktop and mobile.
Mobile isn't an island. Build once, use anywhere with Mendix - a platform to build, integrate, and deploy multi-channel enterprise apps.
TAGS ON-PREMISE MOBILE MIDDLEWARE IDE VERSION MGMT
TAGS JAVASCRIPT JAVA MOBILE MIDDLEWARE IDE VERSION MGMT
TARGE TS
TARGE TS
-
○
-
-
-
Web
•
Native •
SYSTEMS • •
-
-
--
-
STRENGTHS •
Hybrid
-
•
Android iOS •
Ofers unique “always on” coding which which has no compile step, leading to an iterative process
-
○
Code in natural language without arcane symbols
-
-
-
Web
•
•
Native •
Self documenting, documenting, making it easy to read and remember the meaning of written code
SYSTEMS •
•
Cordova/Phonegap
Uses a drag-and-d drag-and-drop rop development paradigm •
USES •
•
TWITTER @runrev
CATEGORY MADP
Consumer Apps
FREE TRIAL Free community edition available
Enterprise Apps (for internaluse)
FULL PROFILE LINK
USES •
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
Enterprise Apps (for internal use)
dzone.com/ r/ r/ 9jzr
-
--
-
-
STRENGTHS
Hybrid
Run the same code on Mac, Windows, Linux, iOS, Android, and servers
-
Models are interpreted at run-time, which supports rapid change cycles Unique approach to business and IT collaboration for full app delivery cycle Single-click deployment of apps in the cloud or on-premise Launchpad for unified end user access to apps connected to the Mendix App Store or corporate app store No-strings Community Edition to build and deploy apps for up to 10 users for free
CATEGORY MADP
TWITTER @MendixSocial
FREE TRIAL Community edition available - free up to 10 users
FULL PROFILE LINK
dzone.com/ r/ r/ W3wd
|
(919) 678-0300
29
dzone.com/research/mobile
MADP
MicroStrategy Mobile BY MICROSTRA MICROSTRATEGY TEGY
Oracle Mobile Platform BY ORACLE
MicroStrategy's code-free app platform helps enterprises create iOS and Android apps that make your workforce mobile.
Oracle Mobile Platform is a lexible product for building a variety of apps securely for multiple devices with a variety of data integrations.
TAGS JAVA OBJECTIVE-C PERFORMANCE ANALYTICS VERSION MGMT -
-
-
-
-
-
-
-
--
USAGE ANALYTICS
TAGS JAVASCRIPT JAVA MOBILEMIDDLEWARE IDE REST + SOAP -
-
-
-
-
-
-
--
-
-
-
TARGE TS
•
Web
○
•
○ Hybrid
Native
•
•
SYSTEMS • • •
Android iOS Blackberry
Enterprise Apps (for internal use)
○
Integration with Sharepoint and WebDAV environments Pre-built infrastructure with security, scalability,,and performance scalability
•
TWITTER @MicroStrategy
-
--
-
-
-
-
Web
•
•
Native •
SYSTEMS •
Cordova/Phonegap
•
USES Enterprise Apps (for internal use)
Integrated security with full mobile app management
TWITTER @OracleMiddle
FREE TRIAL No limits to free trial, license required to deploy apps
Consumer Apps Enterprise Apps (for internal use)
FULL PROFILE LINK dzone.com/ r/ r/ uUhy
TAGS JAVASCRIPT JAVA OBJECTIVE-C MOBILEMIDDLEWARE IDE -
TARGE TS
Create once for all devices utilizing responsive web design
-
-
-
-
-
--
-
-
Can use lexible deployment deployment scenarios from on-premises to public, private , or hybrid cloud Allows creation of more complex systems, including those using large volumes of data and non-trivial worklows Not just for building single-function apps
CATEGORY MADP
TWITTER @outsystems
FREE TRIAL Free version for individual users, no ALM or stagingcapabilities
FULL PROFILE LINK
STRENGTHS
Web
Hybrid
True no lock-in: customers can detach onto industry-standard application stacks with open Java or C# code; no proprietary runtime
dzone.com/ r/ r/ GMRL
30
Modular and reusable
Antenna Sotware enables enterprises to build, run, and manage mobile apps to optimize crucial business processes from the field to the front ofice.
•
•
Native •
SYSTEMS • • • •
•
•
HTML5, JavaScript, and Java MVC framework for cross-platform mobile client application development
CATEGORY MADP
-
STRENGTHS
Hybrid ○
Supports native, hybrid, and mobile web architectures
-
TARGE TS
Completeend-to-end multichann multichannel-support el-support for mobile and traditional web, as well as social
Pega AMP BY PEGASYSTEMS
HOSTED REST + SOAP
-
•
USES •
TAGS JAVASCRIPT JAVA IDE VERSION MGMT USAGE ANALYTICS -
Android iOS
Provides a wide array of app performance and usage analytics
OutSystems Platform empowers developers to create, deploy, and manage amazing mobile and web applications more eficiently with current skills -
Native
•
•
-
•
SYSTEMS
FULL PROFILE LINK dzone.com/ r/ r/ fzVb
-
Web
•
OutSystems Platform BY OUTSYSTEMS
-
STRENGTHS •
Hybrid
Enables pre-caching, transactions, and multimedia
FREE TRIAL 10 named user licenses
Consumer Apps
-
Build once and deploy across iOS and Android devices
CATEGORY MADP
USES •
Code free, click-to-configure development
• •
•
•
TARGE TS
STRENGTHS
•
Cordova/Phonegap Android iOS WindowsPhone Blackberry
USES •
Enterprise Apps (for internal use)
•
O line functionality functionality via store-and-forward messaging and data synchronization Comprehensive app and device management through an integrated, centralized dashboard Enterprise integration streamlined through a mobile middleware layer with preconfigured adapters for most enterprise backends Integrated with the BPM, case management, and decisioning decisioning systems from Pegasystems, providing the choice of model-driven or code-based developmen developmentt
CATEGORY MADP
TWITTER @AntennaSotware
FREE TRIAL No free trial
FULL PROFILE LINK
dzone.com/ r/ r/ TQv6 TQv6
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
MADP
PhoneJS BY DEVEXPRESS
Progress Pacific BY PROGRESS SOFTWARE
PhoneJS, part of DevExtreme, allows developers to create native applications using HTML5 and JS with a single codebase from within Visual Studio.
Rapidly develop & deploy business apps using the mobile, data integration, self-service, and collaboration capabilities of Progress Pacific.
TAGS JAVASCRIPT MOBILEMIDDLEWARE USAGE ANALYTICS
TAGS JAVASCRIPT ON-PREMISE REST -
-
-
-
-
-
-
-
TARGE TS
Web
○
Native
SYSTEMS •
Cordova/Phonegap
--
Provides a native UX through hybrid apps
•
Device-optimizedkineticscroller
•
SPA view management
•
View caching and state management
•
Provides data access layers
Easily meet the web and mobility requirements r equirements of your users Easily assemble, manage, and deploy web and mobile apps: powerful applications at low cost
•
Native
Leverage multiple data sources with Progress data integration for web and mobile apps
•
SYSTEMS
Deliver powerful native apps without writing device specific code
•
Android iOS
•
Supports jQuery and optionally supports Knockout.js for MVVM user interface development
Rich PaaS support for all your web/mobile or mobile-onlyapps
•
TWITTER @DXPhoneJS
CATEGORY MADP
FREE TRIAL 30-day free trial
Enterprise Apps (for internaluse)
•
TWITTER @progresssw
CATEGORY MADP
USES
FREE TRIAL 30-day free trial
Enterprise Apps (for internaluse)
-
-
Web
•
•
USES
-
STRENGTHS
Hybrid
•
-
•
Comprehensive set of touch-optimized Comprehensive widgets
•
Hybrid
-
TARGE TS
STRENGTHS •
-
PERFORMANCE ANALYTICS REST + SOAP
-
FULL PROFILE LINK dzone.com/ r/ r/ dCPM
FULL PROFILE LINK dzone.com/ r/ r/ xsYW
Salesforce1 Platform BY SALESFORCE
SAP Mobile Platform BY SAP
Salesforce1 Platform combines its popular PaaS with a declarative app builder that allows users to visually create mobile apps.
SAP provides an integrated platform to help developers build any-device apps that can run on-premise and in the cloud.
TAGS HOSTED IDE VERSION MGMT IDE REST + SOAP SSO
TAGS HOSTED ON-PREMISE MOBILEMIDDLEWARE IDE SSO
TARGE TS
TARGE TS
-
-
-
-
-
-
Web
•
Native •
SYSTEMS • •
--
-
-
-
-
STRENGTHS •
Hybrid
-
Android iOS
•
Over 2K third-party apps built on the Salesforce1Platform
USES •
○
•
•
Salesforce1 Mobile app container makes it easy to distribute enterprise apps securely TWITTER @salesforce
FREE TRIAL 30-day free trial and free dev accounts
Enterprise Apps (for internaluse)
FULL PROFILE LINK
|
dzone.com dzone.com
|
[email protected]
Web Native
•
Android iOS WindowsPhone Blackberry
USES •
•
dzone.com/ r/ r/ Y3Ww Y3W w
dzone.com/research/mobile
-
-
•
|
(919) 678-0300
-
--
-
-
STRENGTHS
SYSTEMS •
Integrated JavaScript framework support, including Angular, Backbone, and Polymer.
Consumer Apps
-
•
•
AppExchange Accelerate Program fuels the AppExchange next wave of enterprise ISVs on the Salesforce1 Platform
CATEGORY MADP
-
Hybrid
Private AppExchange allows companies to build a customized corporate app store
• •
-
•
•
•
Open OSGi architecture Uses Apache Cordova and its standard (but extended) plug-in architecture Uses SAP-provided SDKs and IDEs or the technology of your choice (XCode, jQuery, Sencha, Xamarin) No more proprietary hybrid web container Replaces several proprietary technologies with open source technologies
CATEGORY MADP
TWITTER @SAPMobile
Consumer Apps
FREE TRIAL 30 days, unless using SAP HANA or if the user runs an on-premise version through their AWS account
Enterprise Apps (for internal use)
FULL PROFILE LINK
Partner Apps (B2B)
dzone.com/ r/ r/ wbdP
31
dzone.com/research/mobile
MADP
Sencha Architect BY SENCHA
Smartface App Studio BY BY SMARTFACE.IO
Sencha Architect, a visual app builder, provides a way for devs to build cross-platform, HTML5 apps for the web and mobile.
A sotware solution that enables users to develop iOS and Android native applications that can be published to their marketplaces.
TAGS JAVASCRIPT ON-PREMISE SSO REST + SOAP DRAG-N-DROP
TAGS JAVASCRIPT ON-PREMISE IDE REST + SOAP DRAG-N-DROP
TARGE TS
TARGE TS
-
-
-
•
Web
•
Native
•
SYSTEMS •
•
Cordova/Phonegap •
•
•
-
-
--
-
-
-
Large selection of out-of out-of-the-box -the-box UI widgets and data sources
Enterprise Apps (for internal use)
• •
Integrated solutions for native packaging and device features
TWITTER @sencha
•
-
-
-
-
--
•
•
Hybrid
Native
•
•
SYSTEMS • • • •
Cordova/Phonegap Android iOS Windows Phone
•
•
•
--
-
-
Design editor lets users see what they are building as they build it Provides native outputs for iOS and Android Integrates with Sencha Cmd and Touch to package for the web or native mobile apps On-device debugging allows allows users to plug in devices via usb to test and debug in real time
TWITTER @smartface_io
CATEGORY MADP
FREE TRIAL Free community edition available
Enterprise Apps (for internaluse)
FULL PROFILE LINK dzone.com/ r/ r/ zCrN
Verivo Akula is an enterprise-grade platform for building mobile Verivo apps that helps IT to ensure proper corporate governance across all their apps.
TAGS HOSTED ON-PREMISE MOBILE MIDDLEWARE REST + SOAP -
-
-
-
-
-
-
--
•
-
TARGE TS
Supports all three developmen developmentt approaches: web, hybrid, and native
Addresses the entire lifecycle of the project (from design to deployment) Modular platform that can be integrated with other tools and services
Enterprise Apps (for internal use)
FULL PROFILE LINK
dzone.com/ r/ r/ PLMa
•
•
SYSTEMS • •
•
FREE TRIAL 30-day free trial
Web
•
Native
•
TWITTER @telerik
STRENGTHS
Hybrid
Integrates with Apache Cordova
Consumer Apps
32
•
Consumer Apps
Includes a comprehensive mobile UI library
CATEGORY MADP
USES
Native
Android iOS
-
STRENGTHS
Web
-
OAUTH2
-
-
Verivo Akula BY VERIVO
USAGE ANALYTICS
TARGE TS
•
USES •
TAGS HOSTED MOBILEMIDDLEWARE IDE VERSION MGMT -
-
Integrates with Sencha Cmd to provide deployment and development tools
FULL PROFILE LINK dzone.com/ r/ r/ 9bzr
-
•
Web
SYSTEMS
History, back button, and deep linking capabilities
A modular platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native apps
-
-
STRENGTHS
Utilizes hardware acceleration to improve app performance
Telerik Platform BY TELERIK
-
-
○ Hybrid
FREE TRIAL 30-day free trial
Consumer Apps
-
○
UI Themes for iOS, Android, Windows Phone, BlackBerry, and Tizen
CATEGORY MADP
USES •
-
STRENGTHS
Hybrid ○
-
Cordova/Phonegap Android iOS WindowsPhone
USES •
Enterprise Apps (for internaluse)
•
•
Works with any device-side IDE, framework, or app architecture Comprehensive oline capabilities, including incremental data sync and online authentication Authentication,authorization,and encryption Authentication, are used to secure apps Open architecture integrates with top tools and frameworks Enables code reuse across multiple projects
CATEGORY MADP
TWITTER @verivosotware
FREE TRIAL No-costevaluation
FULL PROFILE LINK
dzone.com/ r/ r/ H6Q4
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
MADP & FRAMEWORKS
Wijmo BY COMPONENTONE
WSO2 App Factory BY WSO
Wijmo is a suite of UI Controls for mobile and web application development. It ofers enterprise charts and grids powered by HTML5.
An open source mobile application lifecycle management tool that manages the creation and delivery of the app to the device.
TAGS JAVASCRIPT HOSTED ON-PREMISE REST
TAGS HOSTED ON-PREMISE IDE REST + SOAP OAUTH2
TARGE TS
TARGE TS
-
-
-
-
-
-
•
Web
Hybrid •
Native
○
•
SYSTEMS Cordova/Phonegap
•
•
•
-
The Adaptive Widget Framework allows the widgets to work in a desktop or mobile environment
○
A high performance DataGrid that supports UI virtualization
Enterprise Apps (for internaluse)
•
Data visualization controls that ofer touch interaction on mobile devices
TWITTER @wijmo
-
-
-
•
Web
-
Web
•
Native
•
•
•
Android iOS Windows Phone
USES
-
•
Cordova/Phonegap
Self-service provisioning provisioning of workspaces including source repository, issue tracker, and buildconfiguration Automate and integrate continuous build, continuous test, and continuous deployment activities Perform one-click actions for code branching, versioning, and promotion Dashboards display application status, health, service assets, activity, and lifecycle stage
TWITTER @WSO2
CATEGORY MADP
FREE TRIAL Open source solution
Enterprise Apps (for internal use)
A large open source jQuery library, featuring over 24 UI controls, a complete mobile solution, and professional grade widgets.
TAGS RESPONSIVE LAYOUT ADAPTIVE LAYOUT CORDOVA MVC -
•
-
-
-
-
BROWSER SUPPORT
Enables fully native iOS, Android, and Windows mobile apps with a shared codebase
•
•
WebKit Firefox
Allows developers to build native apps in Visual Studio
STRENGTHS
Complete set of HTML5 widgets and features
•
UI tools for ASP.NET, ASP.NET, PHP PHP,, and JSP available
•
Component store ofers hundreds of libraries, cloud services, and UI controls
IDEs SUPPORTED •
•
Xamarin Test Cloud tests apps using object-levell user interface testing object-leve
TWITTER @xamarinhq
•
Eclipse
LAYOUT STYLE
Provides a high-performance MVVM framework that uses declarative bindings and two-way syncing between web and mobile views and models Lightweight, built-in templating library Animations take advantage of CSS3 hardware acceleration
CATEGORY Mobile Web Framework
FREE TRIAL 30-day free trial, but cannot ship apps
App-centric (navigation, layouts,
FREE TRIAL Open source solution
Enterprise Apps (for internaluse)
FULL PROFILE LINK
worklow, trying to be like a native app)
FULL PROFILE LINK
dzone.com/ r/ r/ UWJf
--
•
.NET mobility scanner scans code to determine how much can be mobilized
CATEGORY MADP
|
-
-
Consumer Apps
dzone.com/research/mobile
-
OPEN SOURCE
STRENGTHS •
SYSTEMS
•
-
FULL PROFILE LINK dzone.com/ r/ r/ Qx4k
--
•
•
--
KendoUI BY TELERIK
○ Hybrid
•
•
Native
FULL PROFILE LINK dzone.com/ r/ r/ thUJ
TARGE TS
-
STRENGTHS
-
○
-
•
USES
TAGS C# F# IDE REST + SOAP -
-
An Event Calendar Control that ofers full scheduling capability out-of-the-box
Reuse your favorite .NET libraries, and still incorporate platform-specific libraries and frameworks when you want to.
-
-
•
Xamarin BY XAMARIN
-
-
SYSTEMS
FREE TRIAL 30-day free trial
Consumer Apps
-
○ Hybrid
Seamless integration with popular frameworks like AngularJS, Knockout.js, AngularJS, Knockout.js, Breeze, Breeze, and more
CATEGORY MADP
USES •
--
STRENGTHS
•
-
dzone.com dzone.com
|
[email protected]
TWITTER @kendoui
dzone.com/ r/ r/ 9Gzr
|
(919) 678-0300
33
dzone.com/research/mobile
FRAMEWORKS
Sencha Touch BY SENCHA
Dojo Toolkit BY DOJO FOUNDA FOUNDATION TION
Sencha Touch is an HTML5 mobile application framework f ramework that enables devs to build cross-platform user experiences.
Dojo is a JavaScript and HTML5 toolkit for building high quality, standards-based desktop and mobile web apps.
TAGS CORDOVA MVC ADAPTIVE LAYOUT
TAGS ADAPTIVE LAYOUT NATIVE PACKAGER MVC EXT JS -
-
-
-
-
-
-
-
-
-
-
-
BROWSER SUPPORT •
•
•
-
--
-
-
BROWSER SUPPORT
WebKit Windows Phone Firefox
STRENGTHS Integrates with Sencha Space, Architect, and
•
•
IDEs SUPPORTED Eclipse
•
App-centric (navigation, layouts, worklow, trying to be like a native app)
•
•
STRENGTHS Ofers a UI widget collection, Dijit, Dijit, and 2D
WebKit Windows Phone Blackberry
•
graphics framework GFX •
Utilizes hardware acceleration to improve performance of apps
•
History, back button, and deep linking capabilities
IDEs SUPPORTED •
UI Themes for iOS, Android, Windows Phone, BlackBerry, and Tizen
CATEGORY Mobile Web Framework
LAYOUT STYLE
•
Cmd to provide deployment, development, and native packaging tools •
•
-
RESPONSIVE LAYOUT OPEN SOURCE
--
•
•
Eclipse WebStorm •
TWITTER @senchatouch
App-centric (navigation, layouts, worklow, trying to be like a native app)
FULL PROFILE LINK
FULL PROFILE LINK
Ionic is an open source HTML5 mobile app dev framework based on AngularJS that lets web developers build native-quality mobile apps.
TAGS CORDOVA ADAPTIVE LAYOUT RESPONSIVE LAYOUT OPEN SOURCE -
-
-
-
--
TAGS ANGULARJS CORDOVA OPEN SOURCE -
•
•
•
•
•
WebKit Windows Phone Firefox Opera Mobile Amazon Silk
IDEs SUPPORTED • • • •
Eclipse Visual Studio NetBeans IntelliJ IDEA
LAYOUT STYLE Content-centric (lat content, interactive elements)
•
Includes ThemeRoll ThemeRoller er sot ware for users to create device-agnostic custom themes for their apps
Platform and screen-agnostic UI widgets
•
Graded browser support (mobile and desktop)
•
•
TWITTER @jquerymobile
FREE TRIAL Open source solution
-
-
WebKit Firefox
-
-
STRENGTHS •
•
IDEs SUPPORTED
•
None
Flexibility to choose between autoFlexibility enhancementt via data attributes or write enhancemen markup to reduce DOM manipulation and improve performance
CATEGORY Mobile Web Framework
-
•
•
FULL PROFILE LINK dzone.com/ r/ r/ 3zjG
34
--
Ajax navigation with many diferent page transitions
•
•
-
BROWSER SUPPORT
STRENGTHS •
-
ADAPTIVE LAYOUT RESPONSIVE LAYOUT
-
BROWSER SUPPORT
TWITTER @dojo
Ionic Framework BY DRIFTY
jQuery Mobile is a cross-platform framework, built on jQuery and the jQuery UI foundation.
-
Highly optimized events, DOM, and HTTP requests/WebSockets
dzone.com/ r/ r/ JWfV
jQuery Mobile BY JQUERY FOUNDA FOUNDATION TION
-
No compiling step necessary for web and mobile webapplications
FREE TRIAL Open source solution
dzone.com/ r/ r/ YsWw YsWw
-
Object stores for easy binding of data between UI widgets and data sources
CATEGORY Mobile Web Framework
LAYOUT STYLE
FREE TRIAL 30-day free trial
Has an extensive collection of UI components for mobile devices
•
LAYOUT STYLE App-centric (navigation, layouts, worklow, trying to be like a native app)
Extensive library of simple, native-style UI components and layouts Support for a wide array of touch gestures Complex navigation capabilities, allowing for non-linear navigation instead of linear browser history Utilizes hardware acceleration and minimal DOM manipulation to improve app performance Integrates with AngularJS to utilize more tools and frameworks for mobile development
CATEGORY Mobile Web Framework
TWITTER @ionicframework
FREE TRIAL Open source solution
FULL PROFILE LINK dzone.com/ r/ r/ jrGR jrG R
2 0 1 4 G U I D E T O M O B I L E D E V E L O P M E N T
2014 GUIDE TO MOBILE DEVELOPMENT
GLOSSARY OF TERMS A
HYBRID APP - A mobile application written
ACCELEROMETER - A sensor that measures
in HTML, CSS, and JavaScript that uses a web-to-native web-to-nativ e abstraction layer layer,, allowing the application to access mobile device APIs that pure web applications cannot access.
the acceleration (change in speed) of an object.
ADAPTIVE LAYOUT - A website layout
M
API (APPLICATION PROGRAMMING INTERFACE) - A specification for how various applications can interact with a set of software components. Applications can include APIs for external use by other software.
APPCACHE - An HTML5 standard that allows a web application to be cached and available offline.
PUSH NOTIFICATIONS - Short messages that mobile applications can send to users even if the application isn’t open.
R
that uses media queries to change the site’s design for specified devices or window sizes. This is a more manual strategy than responsive design.
P
MADP (MOBILE APPLICA APPLICATION TION DEVELOPMENT PLATFORM) - MADPs are
RESPONSIVE LAYOUT - A website layout
development tools, sometimes including a development mobile middleware server, server, that build hybrid or native apps for each platform using one codebase. Includes MEAPs and MCAPs.
based on a fluid grid, allowing the site to have hundreds of dynamically generated states with mostly minor difference differences s based on browser window size. A less manual strategy than adaptive layouts.
MBAAS (MOBILE BACK-END-AS-ASERVICE) - A service that connects mobile
S
applications to cloud databases while also providing user management, push notifications, and social integrations integrations..
MCAP (MOBILE CONSUMER APPLICATION PLATFORMS) PLATFOR MS) - A platform for developing
SAAS (SOFTWARE-AS-A-SERVICE) - An application provided over a network by the vendor with no installation required.
B
mobile consumer apps.
SAML (SECURITY ASSERTION MARKUP LANGUAGE) - A common XML-based open
BUSINESS-TO-CUSTOMER BUSINESSTO-CUSTOMER (B2C) - An
MEAP (MOBILE ENTERPRISE APPLICATION PLATFORMS) - A platform
SDK (SOFTWARE DEVELOPMENT KIT) - A
application built for the average consumer.
BUSINESS-TO-BUSINESS BUSINESSTO-BUSINESS (B2B) - An application built specifically for use within another business.
BUSINESS-TO-EMPLOYEE (B2E) - An application for internal business use (i.e. an enterprise app).
for developing mobile enterprise apps.
MOBILE MIDDLEWARE - Technology that provides application management functions that allow native and hybrid applications to communicate securely with on-premise and cloud-based enterprise applications.
MVP (MINIMUM VIABLE PRODUCT) A version of a product with only the features that are absolutely necessary to go to market.
D DEVICE API - A mobile platform-specific API that lets applications access specific mobile hardware functionality (e.g. accelerometer, gyroscope).
E
N
data format for authentication.
set of programming tools and resource resources s built specifically to aid software development development on a particular platform or technology technology..
SOA (SERVICE-ORIENTED ARCHITECTURE) - A software design pattern where pieces of software provide functionality to other applications as a service.
SSO (SINGLE SIGN-ON) - A feature for access control systems that allows users to log in to multiple, independent software systems using one set of credentials c redentials by internally storing and automating multiple login credentials.
NATIVE APP - A mobile application that is written in a programming language that is directly compatible with the target platform.
SMS (SIMPLE MESSAGE SERVICE) - A phone service using standardized communication protocols to send short text messages.
NATIVE BRIDGE - An abstraction layer that EMULATOR - An application that duplicates the functionality of hardware or operating systems for testing purposes.
F FEATURE PHONE - A mobile phone with internet access and music playback that lacks the full functionality of a smartphone.
G GYROSCOPE - An instrument that measures the orientation of a device.
gives a device non-native mobile APIs.application access to
U
NATIVE PACKAGER - A tool that builds a
USER EXPERIENCE (UX) - A term to describe
native wrapper and native bridge around a mobile application written in HTML, CSS, and JavaScript, creating a hybrid app.
V NATIVE WRAPPER - A component that packages a non-native app so that it is viable for native app store distribution.
NFC (NEAR-FIELD COMMUNICATIONS) - A feature, based on technical standards, that allows devices to establish radio communication with other nearby systems or mobile devices.
H HTML5 - A specification that defines the fifth major revision of HTML. It is often used as an adjective to describe web apps that use newer HTML, CSS, and JavaScript specifications (e.g. HTML5 apps).
all aspects of the end user’s interaction with an application.
VIEWPORT - An HTML meta tag that tells the browser how to behave when it renders the web page. The viewport is also a term for the section of the web page in view.
W W3C (WORLD WIDE WEB CONSORTIUM) -
O
The main international standards organization for the World Wide Web, developing
OAUTH - A common open standard for
common web language specifications such as HTML5 and XML.
authorization.
WEBVIEW - A view that displays web pages within an application.
dzone.com/research/mobile
|
dzone.com dzone.com
|
[email protected]
|
(919) 678-0300
35
Slow mobile apps can kill your business. New Relic Mobile is a SaaS performance tool that gives you code-level visibility into your mobile software so you can pinpoint problems and solve issues before they affect your users.
Speed up your app today
www.newrelic.com/mobile-monitoring
Apps using New Relic Mobile right now
©2008-14 New Relic, Inc. All rights reserved.