You probably have been looking forward to this post as we skipped the September release blog post. The good news: we are back. The better news: let me tell you how!
The October release is all about mobile apps and I truly believe that we delivered a frictionless experience that is exactly in the spirit of our vision at Mendix. A vision to change the way enterprise applications are delivered. Through a platform that covers the whole application delivery process from the initial idea to long-term innovation. And now, in addition to web apps, the Mendix App Platform supports the creation of beautiful mobile apps with a native experience.
Enterprise mobile apps will be hybrid
Our vision for mobile app development is that enterprises can greatly benefit from a single platform that supports the various styles of mobile app development (web, native and hybrid) for multiple devices and provides common mobile back-end services.
We are not the only ones saying this. Analyst firm Gartner predicts that by 2015 90% of mobile apps in the B2B space will be using hybrid (60%) or mobile web (30%) technologies. So from that perspective, hybrid is becoming the “new native.”
The Mendix App Platform supports the entire lifecycle of hybrid mobile apps, from design and development, to testing, deploying, and publishing them. Let’s explore these steps in more detail:
Developing hybrid mobile apps
Mendix supports hybrid app development through the integration of Cordova / PhoneGap with the Mendix App Platform. Our unique approach to app development is to enable business engineers to build and deploy sophisticated multi-channel apps using our signature model-driven development capabilities. This approach also applies to hybrid mobile apps.
We allow business engineers to create an optimal user experience through pre-defined Layouts for smartphone, tablets and desktop User Interfaces. Business engineers can then drag and drop UI components (called widgets) on their pages to define a rich user experience.
As part of the October release, we have extended our widget framework in such a way that widgets can be identified as using the PhoneGap / Cordova APIs to access native device APIs. Widgets are visualized with an additional “hybrid mobile” icon and the advanced search option can be used to search for the use of these widgets in your project.
To help the development of hybrid mobile apps, we have included four out-of-the box widgets in this release that utilize native device APIs: camera, geo location, contacts, and barcode scanner. All widgets are open source as an example for our community to build their own widgets that utilize native device APIs. The GitHub repositories are linked to from the widgets’ App Store pages. On top of that, we also updated our example apps (Company Expenses and Employee Directory) with hybrid mobile capabilities to showcase some of the possibilities.
To further improve the ability to create interactive user interfaces, we have also added these new capabilities to our Business Modeler:
- DataView widgets can now “listen” to ListViews. A ListView is a list widget that is optimized for use on touch devices. Now, if you use them in a tablet interface, for example, you can update DataViews instantly when selecting an item in a ListView. This allows for easily creating the rich experience end users are used to.
- For DataView widgets that listen to other widgets for updates, you can now also specify the text that needs to be shown when no selection is available. So instead of showing a DataView with empty widgets in it, you can specify a helpful text.
- As of this release, every widget can be conditionally visible. This means that you can build highly interactive UIs that show and hide information and controls based on the data and rules in your system.
I hope you will enjoy all the improvements for developing multi-device apps with native capabilities! But let’s not stop here, as there is a lot more involved in bringing your awesome apps to users…
Testing hybrid mobile apps
While developing a hybrid mobile app, you cannot simply test it in your mobile browser because the native widgets will not work. Some of these widgets will offer an alternative implementation for when they are running in an ordinary browser; others will not work at all. To see what your application will look like including the native capabilities, you can use the Mendix Developer App.
Via ‘View app’ in the toolbar or through the ‘Run’ menu, you can reach the hybrid mobile app dialog. It tells you where you can download the Mendix Developer app. More importantly, it shows a QR code that can be scanned with that app. This is a quick way to load your app into a PhoneGap / Cordova compatible environment.
To make the experience even more frictionless, we also introduced “demo users.” Demo users can be specified as part of your application model and can have any combination of roles. As you can see in the image above, you can select a demo user, which will then be encoded in the QR code so that a scan of the code with the Mendix Developer App will directly sign you in into the app. No more cumbersome typing of usernames and passwords every time you test a change in your mobile app! The number of steps needed to test a hybrid mobile application has been reduced to two:
- 1-click deploy.
- Scan QR code.
If demo users are enabled, your desktop applications will also contain a user switcher that allow you to 1-click switch between demo users to test or demo your application. Note that demo users are only enabled in development environments (local or sandbox deployment).
Publishing hybrid mobile apps
Once you are ready to distribute your app to beta or end users via your enterprise mobile device management solution or via one of the public App Stores from Apple, Google, or Microsoft, you need to package the application in the proper way. PhoneGap offers tooling to do this, but you will need to install and configure a lot of software and for building iOS apps, you are forced to use a Mac. This introduces a lot of friction in the app delivery process.
When we started our journey for hybrid mobile apps, our goal was to make all steps in the lifecycle frictionless. Hence we also solved the “publishing” issue by completely integrating the Adobe PhoneGap Build service into our platform.
With the Publish functionality in the Mendix App Platform, you can select the environment (sandbox, test, acceptance, or production) in which your app is running and we automatically package your Mendix app as an Adobe PhoneGap Build package and upload it for you to the PhoneGap Build service. The resulting hybrid mobile apps for Apple’s iOS, Android and Windows Phone are then available for you to download from within the Mendix platform.
The October release is all about a frictionless developer experience during the creation of multi-channel enterprise applications with a native experience. I’m happy and proud to present this release to you. Please let us know what you think!
As always, the features are available to all our users automatically, except for the development features. To use them, you need to download the new version of our Business Modeler.
For more details about our mobile development capabilities, visit our product page www.Mendix.com/mobile.