This is the first blog in a series of four blog posts about building a mobile app with Mendix. This blog discusses what you need for mobile development with Mendix, highlights the different aspects, and provides practical tips and information. It is not a how-to but more a practical guide.
For general information about mobile development with Mendix, see our white paper: Mendix for Mobile App Development.
Mendix is the low code collaborative delivery platform for multi-channel smart apps in the enterprise. The platform supports the whole application lifecycle from ideate to develop, and from deploy to monitor. With Mendix, business engineers can quickly build rich mobile apps as a separate channel from a single model with a single platform. This allows companies to create mobile apps without technical knowledge.
What is Mendix Mobile?
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.
When you want to create and publish a mobile app there are a couple of things you need to prepare 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. Depending on your audience, match the types of devices, test with different screen sizes, platforms and operation system versions.
- App permissions changed on Android 6, causing some plugins to work incorrectly if there were no checks for the permissions.
- 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 https://theapplaunchpad.com/
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 created.
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 relative 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.
All Ready to Build an App
While this blog only dealt with preparations, it is the most important part of the application life cycle. 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.