This is the first blog in a series of four blog posts about building a mobile app with Mendix. Part one will discuss how to prepare your software, devices, and accounts for mobile application development. In part two I will dive into building the mobile application and review each of the steps it takes to create a mobile app with Mendix. Part three will dig into the structure and technicality of building hybrid mobile apps in more detail. To wrap up, part four will explain how you can build your mobile app locally and how you can debug it.
Before we dive into how to prepare your organization for building mobile apps with Mendix, let’s understand the Mendix platform in more detail.
What is Mendix Mobile?
Mendix is a low-code platform that enables enterprises to build mobile apps once and deploy them anywhere, easily employ native device features, deliver rich native user experiences and leverage the latest mobile technologies, such as Beacons and Touch ID.
The platform supports the whole application lifecycle from ideate to develop, and from deploy to monitor. With Mendix, developers can quickly build rich mobile apps with no code, from a single model, and with a single platform. This allows companies to create mobile apps without extensive technical knowledge.
PhoneGap and Cordova
Mendix also leverages PhoneGap Build, a cloud-based service built on top of the PhoneGap framework. PhoneGap Build allows you to easily build those same mobile apps in the cloud without the need to install development tools locally. It also allows you to share and download the app easily.
How to Prepare for Building a Mobile App with Mendix
When you want to build a mobile app and publish it, there are a couple of things you need to prepare for and be aware of. We’ll go through the preparations one by one.
In theory, the app should behave and look the same on every device. However, in real life, behavior can vary because of the different device characteristics, like operating system version, screen size, and hardware. Mendix tests on various devices, but project specific styling and implementations can change the behavior.
This all makes it important to test your app on different devices, and the absolute minimum is to have an iOS and Android device. Match the types of devices with your users, test with different screen sizes, platforms and operation system versions.
- App permissions changed on Android 6. Without testing and checking the permissions, some plugins would work incorrectly.
- New iOS dimensions for icons and splash screen were introduced, causing the default Cordova splash screen to show instead of the app’s splash screen.
To publish your mobile app to an app store, you need to have a developer or publisher account for each of the app stores. If the app’s company does not have such an account, you need to create one. See the following links for more information:
- Apple: https://developer.apple.com/programs/enroll/
- Google: https://developer.android.com/distribute/googleplay/start.html
Mac for iOS Apps
With Mendix and PhoneGap Build, it is possible to test on iOS devices without the need for a Mac/MacBook. However, if you want to publish iOS apps you’ll need a Mac/MacBook. Apps can only be published via Xcode or Application Loader, both of which require OSX, so make sure there is a Mac available. For testing and debugging on IOS devices, it is also useful to have a Mac.
Every mobile app has a name and a unique identifier. It is wise to think about this early on because once your app is published you cannot change the identifier. Also, changing the name can lead to complications. Be aware that when you publish your app to the app store you need to provide several screenshots and content about the app, so make sure this is available.
Tip: there is a nice free tool that lets you create screenshots for app store content.
Mobile apps need to have an icon and a splash screen. Since there are different devices with different resolutions and ratios, you need to provide different sizes of these images. Make sure the right people are involved on time to create the images. It is also good to test with the images on actual devices because on a device it can look different than on a desktop.
You can find out which images and resolutions are needed at the publish tab in the Mendix Developer Portal. Here you can easily upload these images so that they are stored in your project and used when your hybrid app is developed.
Tip: There are several free tools available that can generate splash screens and icons in the right sizes, like http://pgicons.abiro.com/ and http://apetools.webprofusion.com/tools/imagegorilla. There are also integrations with popular software like Adobe CS.
If your app requires a login, Apple requires credentials during the submission process so that they can test your app. In some cases, this is difficult because the app uses production data and Apple is not a customer of the company. Think about this scenario early on and possibly implement some functionality to handle this. For example, create a separate role that has stubbed data instead of actual customer data.
Start publishing to the app stores early
One of the most important tips is to start publishing your app early. This is because the several dependencies when publishing an app to the app store can result in a relatively long lead time. In practice, Android apps are accepted in a couple of hours and IOS apps in a couple of days. When there is something wrong, it usually takes one day to get the app checked again.
You probably do not want this at the end of your project, so make sure you start early and get your app accepted in the app stores on time. Note that when you upload your app to the app store and it gets accepted, you can select the date that it should be visible for other users.
Now you are ready to build an app with Mendix
While this blog only dealt with preparations, it is the most important part of the application lifecycle. Proper preparation ensures a good foundation for your app development, deployment, and operating phases. Good luck preparing your mobile app for development! And keep an eye out for part two, which will be published next week. In part two I’ll go into the details of building a mobile app, using the Mendix World app as an example.
Read Part Two of Building a Mobile App with Mendix.