Building a Mobile App with Mendix – Part 1

on February 1, 2017

Share:

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.

Vision

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?

Mendix apps are traditionally web based apps where the front end is based on JavaScript, HTML and CSS. Via the popular framework PhoneGap, Mendix apps can be packaged and published as mobile apps. With this approach, existing widgets and styling can be reused, which increases the speed of development and lowers the costs. PhoneGap hybrid mobile apps can be generated for multiple platforms like Android and IOS, published to the app stores, and installed on phones and tablets. Mendix supports the two largest platforms, Android and IOS.

PhoneGap and Cordova

Mendix uses PhoneGap, which is a mobile application development framework, based upon the open source Apache Cordova project. It allows you to build apps based on HTML, CSS and JavaScript, and then deploy it to a wide range of mobile devices without losing the features of a native app.

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.

Preparation

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.

Test Devices

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.

Recent examples:

  • 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.

Developer Accounts

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:

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.

App Stores

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/

Media

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.

Test Account

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.

Can’t wait till next week? Read up on our Mobile How-To’s to get started right now!

Subscribe to Our Blog

Receive Mendix platform tips, tricks, and other resources straight to your inbox every two weeks.

RSS Feed of the Mendix Blog
Danny Roest

About Danny Roest

Danny Roest is a Senior Technical Consultant for the Expert Services team at Mendix. He works with customers to implement awesome Mendix apps, supports them in their challenges, and helps them achieve their goals.

| Community Profile
  • Ronald Catersels

    Nice one Danny, and it might be nice to add that when developing a company specific app you are not allowed to publish in the public IOS
    appstore. Your customer need to enroll in the Apple Volume PurchaseProgram for Business. Then you are able to publish in the B2B store of Apple.

  • Danny Roest

    @ronaldcatersels:disqus Thnx! Good point! I was doubting to include this. Here a useful link that also explains it: https://www.app-press.com/blog/options-for-publishing-apps

  • Ronald Catersels

    That is the problem Danny.. It does not explain it. The Apple Enterprise Developer Program is for apps for your own company. But when developing company specific apps for other companies you need the Apple Volume Purchase Program. That was exactly the mistake we made.

  • Danny Roest

    You are correct, I did not read your post correctly. Good tip!