MobileUI on Linux and Windows
With version 0.5, we are bringing MobileUI app development to Linux and Windows.
So far: macOS support for Android and iOS apps
Up until now, developing MobileUI apps was only possible on macOS. The main reason was our distribution method for the MobileUI Framework, which came as a macOS installer package. MobileUI itself is a Java product and as such cross-platform enabled also in regards of development platform. The macOS installer did nothing more than run a bundled Maven installation script with the Java Runtime that was pre-installed with your instance of Android Studio.
During the first couple of weeks after publishing MobileUI, we saw that many of you came to our web site and sign-up page using a Windows or Linux machine. Some of you even tried to work with MobileUI on Windows. It was great to see the tremendous interest 👍. But it was a pity, that this did not work - so far. 😭
Additionally, developers on macOS reported, that there was some fraction installing the framework with the downloaded macOS installer package. Apple requires a complicated signing and notarization workflow for such installers, that was not 100% realizable with our payload. The result: Installing the package required several extra trust settings. Although most of you know how to get around with such problems, we found this a sub-optimal developer experience and searched for better options.
We took your valuable input to decide, that we needed a version of MobileUI that works on Linux and Windows and comes with an easier installation method.
But there was another caveat: To compile the iOS app, MobileUI relies on RoboVM. RoboVM does not support compilation and linking on platforms other than macOS. The reason is that RoboVM - like many other cross-platform tools - requires Xcode to build the final iOS app. Xcode is Apple's development environment and due to licensing terms is only available, if you are running macOS on Apple hardware.
But there is no reason NOT to build the Android part of the MobileUI app on your Windows or Linux machine! You can try MobileUI with this approach, build Android apps with it and possibly rent or acquire a Mac, as soon as you are ready to ship to iOS as well.
Merge Plugin and Installer
Therefore, we decided to get rid of the macOS-only installer. We moved the complete installation logic right into the MobileUI Plugin. Android Studio has the Java Runtime and the necessary components to install the MobileUI Framework into your Maven Local repository, just like the macOS installer did before.
To achieve this, we migrated the installation scripts from Maven to Gradle. The latter is part of Android Studio and can be run in embedded mode. The plugin now automatically installs the MobileUI Framework via Gradle when first started. It updates the framework automatically on plugin updates, keeping existing versions as well.
So, with version 0.5 you will get the MobileUI Android Studio Plugin for download only. It is coming in two different flavors, depending on the edition of the framework (FREE / PURPLE) that is bundled with it.
When preparing everything for Windows and Linux, we did a lot of testing. It was amazing that we only needed to change two lines of code to make everything fully working.
Better Live for Android development
And because bringing MobileUI development to Linux and Windows was so easy, we had some time left. We decided to make "Live easier"!
One of our favorite features is Live Preview. It allows you to edit the layout of you app while it is actually running. So far, it was quite cumbersome to set this up for Android. You needed to have ADB on your path to set up TCP forwarding. You had to fiddle around with ports and tools to eventually get the preview working. This is now history.
With version 0.5, the MobileUI Plugin is fully integrated with Android tooling and recognizes Android emulators and Android devices connected with ADB automatically. TCP forwarding is an automatic process and fully transparent to you as developer. For Android development, you just need to start the Live Preview with a single button click. In the Live Preview window, you see all Android devices that are available for your preview. Just launch your app and start creating!
In the coming months, we will extend the functionality of the MobileUI Plugin further. There will be additional options for users of the PURPLE edition to generate projects that come with dependency injection and plugins pre-configured. We have also planned to bring more templates to the tool and possibly find a way to enable plugin distribution via IntelliJ's official Plugin Marketplace.
So, stay tuned to learn about these future developments. And let us know, how you find the recent additions to MobileUI.