Development frameworks such as PhoneGap and, more recently, React Native make it significantly easier for retail businesses to build and deploy mobile applications for consumers and internal teams.
Radio-frequency identification readers are a common tool in retail warehouses. Fulfillment and logistics workers use them daily to process incoming freight and take inventory. They may even use them as part of the order picking process.
But RFID readers can be relatively expensive. Some powerful new units can cost $3,000 or more. Which brings me to an example of how mobile application frameworks can impact a retail business.
Recently, a mid-market brick-and-click retailer in the Northwestern United States was faced with replacing a half-dozen RFID readers at once. Instead of spending roughly $20,000 for the new equipment, the company deployed a mobile app, using Adobe PhoneGap and several Apple iPods with radio frequency attachments that cost of few hundred dollars each.
The cost of the project, as one might imagine, came down significantly. The iPod-powered solutions were not as powerful as a regular RFID reader in many ways, but they did work for most tasks, and when combined with a few regular RFID readers the business could operate as usual. There were even some tasks specific to this particular retailer that the custom mobile app did better than the more expensive RFID readers.
3 Models for Mobile Application Development
An important part of this solution was the software — the mobile app — deployed on the Apple iPod.
PhoneGap was the key in this particular case, but there are other options. In fact, there are perhaps three ways a business might go about building a mobile application for iOS, Android, or Windows Mobile.
- Develop in a native language, like Swift, Objective-C, Java, or C++.
- Run an app in a browser — a “web view.”
- Compile to a native language.
Develop in Native Languages
The first approach to mobile application development is what one might describe as the normal way: Write a native application, from scratch, for an Apple (iOS) device in Swift or Objective-C.
This approach may give developers the most control and the application the best performance within a specific platform. But it has as a few challenges.
First, developing mobile apps in each platform’s native language means that you need to have a few development specialists: a Swift developer for iOS, a C++ developer for Windows Mobile, and a Java developer for Android.
Second, if your application is aimed at more than one platform, say Android and iOS, developers will need to write it twice — the Java code for Android won’t work for iOS, and the Objective-C code for iOS won’t work for Android.
Third, it can be relatively expensive to develop in native languages since one is paying multiple developers to write multiple apps in multiple languages.
In fact, this approach can price some retail businesses out of the mobile app market or force them to use one-size-fits all ecommerce application services rather than developing a custom application.
Develop with Hybrid, Web Views
This approach is sometimes called a hybrid mobile app. It can be a fast and easy way to develop, but may not have the same performance or capabilities as an application writing in the platform’s native language.
Compile to a Native Language
React Native, which Facebook developed for use in its own mobile applications, takes a third approach.
React Native employs native language components for its building blocks, meaning that a business can build a single application, using a single language, and deploy that application across all leading mobile platforms while enjoying the performance and capabilities of a typical native-language mobile application.
Another framework, Xamarin, takes this same approach, but uses the C++ language as its starting place, making it possible for developers accustomed to working with Microsoft applications to create a single application with all the capabilities of a native-language app, and deploy it across mobile operating systems.
Frameworks Simplify Mobile App Development
PhoneGap, React Native, and other frameworks make developing a custom mobile app more accessible and relatively less expensive than developing in a specific mobile operating system’s native coding language.
For a mid-market ecommerce business, staff developers that the company already employs could build a shopping application that accessed the company’s existing database, using languages they already know. Or those same in-house developers could build internal mobile apps to help the business operate without learning new programming languages or having to create different versions of the same application for each platform.