Building Business Apps for Mobile (part 3) | LANSA Blog
Low-Code Mobile App Development and Data Integration - LANSA Skip to content

App Development & Modernization Tools for Complex Projects

Low-Code Platform

LANSA's low-code development platform accelerates and simplifies the creation of enterprise apps while making your development team more productive. LANSA puts you back in control.

Learn more
Mobile Development

LANSA makes it easier than ever to take your apps mobile. Build mobile-first apps as easily as web apps using a single platform.

Learn more
Enterprise Integration

LANSA offers powerful integration choices for your web and mobile apps. We support a range of options to make integration fast and easy.

Learn more
IBM i Modernization

LANSA is the only low-code development platform to natively support IBM i. You can build new apps and modernize existing ones - with native web and mobile support

Learn more

Trusted by thousands of organizations worldwide

The Low-Code Platform That Benefits Every Technical Role

Visual LANSA impacts every area of the business, delivering company-wide innovation, productivity and control.
For IT Managers

LANSA lets your team create apps up to 10x faster than usual, reducing the time- to- market for new apps and helping clear your application backlog.

Learn more
For CxOs

LANSA equips your IT team to innovate and deliver new apps in the time frame the business needs. Your team becomes more productive and responsive.

Learn more
For Developers

LANSA’s low-code platform allows you to become a full-stack developer delivering web and mobile apps faster and easier than ever before.

Learn more
For ISVs/SIs

LANSA’s low-code platform helps build easy-to-maintain apps for your customers, reduces time-to-market, and makes your team more productive.

Learn more
Noun Quote

“With LANSA we can help our customers be more agile and responsive to new business requirements. That's extremely important in the transportation industry. Enhancements and customization are now simple and fast, meaning that we can respond quicker to customer requests.”

“With LANSA we can help our customers be more agile and responsive to new business requirements. That's extremely important in the transportation industry. Enhancements and customization are now simple and fast, meaning that we can respond quicker to customer requests.”

“With LANSA we can help our customers be more agile and responsive to new business requirements. That's extremely important in the transportation industry. Enhancements and customization are now simple and fast, meaning that we can respond quicker to customer requests.”

Glenn Gundermann, Application Development Manager, Nulogx

“Our ERP system happens to run on IBM i, which is often and mistakenly earmarked as a legacy platform. Using LANSA and with a renewed focus on our existing ERP system, we have proven to be more flexible and productive than a packaged ERP like SAP ever could be.”

“Our ERP system happens to run on IBM i, which is often and mistakenly earmarked as a legacy platform. Using LANSA and with a renewed focus on our existing ERP system, we have proven to be more flexible and productive than a packaged ERP like SAP ever could be.”

“Our ERP system happens to run on IBM i, which is often and mistakenly earmarked as a legacy platform. Using LANSA and with a renewed focus on our existing ERP system, we have proven to be more flexible and productive than a packaged ERP like SAP ever could be.”

Arnold Hendriks, Application Development Manager, Bidfood

“The LANSA portal is a crucial part of our digital strategy and plays an important role in remaining competitive. It offers a new way to add value to our services, above and beyond just selling a product.”

Michael Hall, Head of Digital, Elders Rural

previous arrow
next arrow
Slider
X

FREE WHITEPAPER

The Power of Coding in a Low-Code Solution

Free Virtual Event, October 2020

A full day of Low-Code sessions for Devs, CxOs & everyone in between

FREE eLearning Site

Enroll in free courses for every stage of the Low-Code journey
Mobile should be easy part 3

Building business apps for mobile devices should be easy (part 3)

This is the third blog of series of three. The first blog covers how Native, Hybrid and HTML Mobile App Types Compare and the second blog covers a variety of criteria you need to analyze before you can decide on the Development Tools.  This blog series is based on an article by Richard Lancaster, published by MC Press at https://www.mcpressonline.com/mobile/development-tools-utilities/you-want-to-build-business-apps-for-mobile-devices

This third blog covers the topic of Development tools for Mobile apps.  It provides an overview of

  • Available development tools for native, hybrid and web mobile apps
  • Mobile app development/delivery options, considerations and consequences

Development Tools for Mobile Apps

There are many development tools from which to choose when you plan to build native or hybrid apps. If you’ve built HTML applications for desktop or laptop browsers, you already have the tools to build HTML apps for mobile devices.

Native Apps

Native app development uses programming languages, tools, and SDKs built for a mobile platform, including these:

  • Apple iOS, Objective-C/Swift using Xcode
  • Android, Java using Google’s Android Development tools, or Eclipse with an Android plug-in
  • Microsoft Windows Phone, C# using Visual Studio

Developers build apps using a language appropriate for the mobile platform, compile the apps, and deploy them to mobile devices. A compiled and deployed native app is a binary that runs on a specific mobile platform. The tools and development process are similar to building RPG or COBOL applications to run on IBM i servers.

To build an app that will run on iOS, Android, and Windows Phone requires three instances of the app, one for each mobile platform, built using different programming languages that compile binaries that are not interchangeable.

Using C/C++ to develop native apps provides a level of cross-platform code. The APIs differ on each platform, so there’s work to do for each platform.

Supporting native apps on multiple platforms requires a significant development effort when compared with hybrid apps that offer the ability to develop once and achieve cross-platform flexibility.

Hybrid

Hybrid apps use HTML5, CSS, and JavaScript, SDKs and tools built to support multiple mobile platforms. The development tools include whatever tools you use to build web applications plus an app packaging tool. Apache Cordova, Adobe PhoneGap, and Appcelerator Titanium are examples of hybrid app tools.

The hybrid app tools language support includes HTML, CSS, JavaScript, server/desktop languages, and proprietary scripting or macro languages.

The user interface is one point at which the tools offer differing methods for rendering the apps screens. One method uses the mobile device’s browser to render the user interface, and most of the hybrid tools support this method. Another method is to package the app with the native control APIs with the result that the app’s screens appear more like native apps than browser-rendered apps.

The tools include support for mobile device features (camera, location, sensors, etc.), but the support differs from one tool to another.

One class of hybrid app tools allows developers to write server applications using languages such as C/C++, C#, COBOL and RPG, and the tools vendor provides a mobile device app that interacts with the server programs. The app and its user interface are native to the device and the app exchanges data with the server. LANSA’s LongRange belongs in this category. LongRange comes in two versions. One version allows applications to be developed in RPG or COBOL (for deployment to IBM i servers)  and the other version allows you to develop in LANSA’s high level development language RDMLx (with a choice of Windows, Linux or IBM i server deployment). LongRange apps can operate offline and don’t require a network connection. In offline mode, the native apps access locally stored data and forms that allow users to view and edit that data. When a connection is available, the apps can send data to a server and receive data from a server.

An advantage of building hybrid mobile apps is the opportunity to code once and generate apps to run on multiple platforms. Developers can build the apps using a language of their choice and select a target platform at generation/packaging time.

HTML5

Apps built using HTML5, CSS, and JavaScript run on any device with a browser that supports HTML5 features. The development tools are the same as those developers use to create web applications that run on desktop and laptop computers. Building apps using web tools removes cross-platform limitations, provided the apps take account of the numerous different browser eccentricities.

Developers can design the apps to run on a server or copy the files to a mobile device and run the app from the device.

The HTML5 specification provides access to some of the device features, but developers rely on the browsers to support the features.

Evaluate the Options

What are the options for developing/delivering apps for mobile devices?  And what decisions do you face?

Purchase Apps from an App Store

To purchase apps from an app store requires a search for available apps. Set aside plenty of time to search the app stores. Reducing the list by searching for business apps still produces a long list of potential apps. Then you must examine each potential app to determine its suitability for your requirements. Good luck with sending change/enhancement requests.

This is an option only for companies that operate generic processes, where the processes offer no competitive advantage—e.g., small companies with unique products.

Decisions you must make:

  • Choose a mobile platform? The app you choose dictates the platform.
  • Choose app types? The app developer has made this decision.
  • Choose development tools? The app developer has made this decision.

Outsourcing Mobile App Development

Outsourcing mobile app development is a viable option for companies that don’t regard software development as a core business activity and whose IT infrastructure offers no competitive advantage. App development should be faster than using in-house developers with no mobile development skills.

All outsourced activities require diligent contract and project management. Your company won’t be the only customer of the outsourcing company, and your priorities will compete with those of the outsourcing company.

How do you choose a partner? A most important consideration is whether the partner company will be around when you need to update or rewrite the apps (and, believe me, you will).

Decisions you must make:

  • Choose a mobile platform? You should choose the platform(s).
  • Choose app types? The outsourcing company will help you decide or make the decision for you.
  • Choose development tools? The outsourcing company will decide.

Develop Your Own Mobile Apps

Developing your own apps for mobile devices provides more control and flexibility than the other options, but it opens up a complex set of decisions.

Decisions you must make:

  • Choose a mobile platform? You choose the platform. Do you select one or multiple platforms?
  • Choose app types? You choose the app type, and if you also choose multiple platforms the development tool choice becomes complicated.
  • Choose development tools? You can choose the development tools. If you choose multiple platforms and the app type is native, you require multiple development tools or C/C++. If the app type is hybrid, you require a development tool that will support your chosen platforms.

The decisions become more complex if you choose a development tool before the app type. The development tool may determine both the platform and the app type.

Do Nothing

Doing nothing is not a feasible option for most companies. Customers will come to expect to use their mobile devices to interact with companies, especially so for companies selling directly to consumers. Companies can improve productivity using mobile apps in their processes. Even industries that see no compelling reason for mobile apps today will face the problem tomorrow.

Decisions you must take:

  • Choose a mobile platform? No need to choose.
  • Choose app types? No need to choose.
  • Choose development tools? No need to choose.

The significant decision is avoiding or postponing the development of mobile apps.

Summing It Up

Upon reflection, it seems that developing business apps for mobile devices is not as easy as one might hope. The reality is that mobile devices and apps will become more pervasive, touching most aspects of life, and companies will be forced to provide their products and services via mobile apps.

So, what do you do?  Careful planning is the way to manage the situation. Gather information about customers. Examine your business processes to determine how to use them with mobile devices. Survey your developer skills. Prepare a strategy for going mobile. Build an app to test your strategy.

You could use the decisions discussed in this article to create a decision table or a weighted evaluation to help eliminate or confirm your options.

Author:

Richard Lancaster, Product Manager at LANSA's Product Center in Sydney, Australia Richard is LANSA's Technology Evangelist with a deep understanding of development and integration technologies on the IBM i, Windows, UNIX and IBM mainframe platforms. With over 30 years of experience in the technology industry, Richard previously worked as a solutions architect for systems integrators Aspect Computing and the KAZ Group – and held a range of roles from Computer Operator to Systems Development Manager at various banks and insurance companies.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.