Change log for the MobileUI Framework.
- MobileUI comes with a Bill of Materials (BOM) now. This makes dependency management easier for you. Especially, if you are using one or more of the new plugins. Learn more about it in the Dependency Management Section.
- All plugins come with robovm.xml and proguard configurations. Classes that need to be kept are automatically configured.
- New Plugin 🔌 Retrofit brings the popular REST client to your app - in a compatible version and configuration.
- New Plugin 🔌 OkHttp brings the popular HTTP client to you - in a compatible version.
- New Plugin 🔌 Internationalization: Use Java's ResourceBundles to translate your app.
- New Plugin 🔌 Dark Mode: Darth Vader would love this.
- New Plugin 🔌 Preferences: A simple key-value store for app preferences.
- All plugin APIs have been optimized for usage via Kotlin.
- MobileUI APIs have been optimized for Kotlin as well. Please see the migration guide.
- The project wizards now contains an option to generate MobileUI Inject configurations to make dependency injection and plugin use super-easy.
- Update to Kotlin 1.3.72 for newly generated projects.
- Newly generated projects use the MobileUI BOM now (see above).
- New projects contain a workaround for RoboVM resources.
- We have a new update notification built into the plugin, so you never miss one of our frequently appearing stunning new features.
Version 0.5.0 eliminates the need for the MobileUI Framework installer. Everything comes bundled with the MobileUI Plugin for Android Studio.
- Linux and Windows support: The MobileUI Plugin now supports Linux and Windows. You can build the Android app from a MobileUI cross-platform project with MobileUI on these platforms. Read more about it in our blog article about Linux and Windows support
- Single Distribution: The MobileUI Plugin now contains the MobileUI Framework. The framework is installed on your system when the plugin is started for the first time. You don't need to run an installer anymore. Additionally, we have added a menu action that lets you re-install the framework into your Maven Local, if needed.
- Live Preview + Android Debug Bridge = ❤️: The Live Preview now detects and configures running Emulators and connected debuggable Android devices automatically. You just need to press Play to enable Live Preview mode. Read more in the Live Preview Section.
- Android Studio 4.0: With this plugin version, the recently released Android Studio 4.0 is automatically detected by the project generator. If you are running on 4.0, the template will use Android Gradle Plugin in version 4.0 and Gradle Wrapper 6.1.1 when generating your project. These versions are compatible with 4.0 (but not with 3.x). You won't get any additional warnings on upgrading your Android Gradle Plugin anymore.
- Custom Fonts can now be referenced with a numerical weight (100-900). To learn more, follow the Custom Fonts Guide.
- Bug: Custom Fonts sometimes did not work on iOS as documented. This is now fixed and the referencing process has changed. Please refer to the migration guide.
- Bug: There was a ClassCastException when binding attributes other than
hrefon the ImageView. Fixed.
- LifeCycleAware: The framework now executes the bindings after the
onCreate()method and before the
onStart()method. With this approach, you can initialize your controller and don't need to fire manually. Please refer to the migration guide.
- Bug: Micronaut configurations for different beans of MobileUI Core were not available on iOS. Fixed.
- Bug: A CardView within a ListView prevented the list item to be clickable. Fixed.
- MobileUILayout on Android now has an additional constructor for a Fragment in combination with a LayoutConfig.
- In preparation to the AnimationView being officially publicated as plugin, we have updated the dependencies to Lottie 3.4.0 (Android) and 3.1.8 (iOS).
- Bug on Android 5 and 6: The default methods of LifeCycleAware did not work. This was caused by an issue with the official Android Plugin. It has been fixed in the MobileUI Plugin's project wizard for new projects. Fore existing projects, please follow the migration guide to apply the fix.
- Minor Bug: Template generated SDWebImage link into robovm.xml, although we are distributing the binary as RoboPod now. Fixed.
- Minor Bug: New Purple Framework distribution did bundle the wrong version. Fixed.
- Compatibility with Xcode 11.5 and iOS 13.5 has been tested and confirmed.
- Compatibility with Android Studio 4.0 RC1 has been tested and confirmed.
- Please note: MobileUI and RoboVM plugins are currently not compatible with Android Studio 4.1 Canary Previews. This will come later this year.
<EditTextView>now fully supports
<CardView>now support the
touchEffectColorattribute. On Android, this controls the color of the ripple effect. On iOS, we have introduced a touch effect using this color. This gives your apps a great responsiveness in all situations.
With 0.4.0 we are introducing MobileUI PURPLE, which brings dependency-injection based on Micronaut and Plugins to the framework. Documentation for these features is coming up and will be marked throughout this doc with the PURPLE batch.
MobileUILayouts can now be instantiated with a
LayoutConfig. This config is cross-platform enabled, supports a builder-api and can use binding contexts from the newly-introduced dependency injection system (beans).
You can now add additional variables to MobileUI's layout template process via the
addTemplateExtVar(...)methods now. With this approach, you can adapt layouts to your custom variables. You can realize themes or other advanced UI stuff with this.
Bug Fix: The
<Switch>did not work on Android 5.0. This is fixed now.
Bug Fix: The LifecycleAware implementation on iOS did call
onStopduring orientation changes. This has been fixed, as the UIViewController does not actually stop.
Breaking Change: Buttons and CardViews on Android use the Material Theme to support the ripple effect. Please follow the migration guide.
- New projects now link to RoboVM 2.3.9.
- The Live Preview comes with http://localhost:4243 pre-configured to make previewing on a second device (e.g. Android) simpler to set up.
- New projects now link to the Android Gradle Plugin 3.6.3.
The MobileUI Gallery is a showcase-app for the MobileUI Framework. It is available from Play Store and App Store and can be used to look up components, try them and navigate to this documentation from within the app:
- New View:
- New View:
- New View:
- New View:
<CheckBox>has gotten the missing color attribute
- Template re-rendering on configuration changes is now supported.
- iOS: SDWebImage comes bundled with the JAR (RoboPod). No need to compile it anymore.
- Internal refactorings let us iterate faster for new Views and Layouts in the future. Yeah!
- Breaking Change: iOS MobileUILayout now needs a UIViewController as first parameter in every case. Please follow the migration guide
- Breaking Change: The template engine has its own variables object now. We have removed and deprecated some properties. Please follow the migration guide
- The project wizard adds the required resources for CheckBoxes on iOS to your project now.
- The project template generates more detailed logback configurations.
- Breaking Change: XML layout files have the root element
RemoteUILayoutnow. Please follow the migration guide if you have existing layouts from version 0.1.*.
- Accessing the native view for platform-specific UI code has been unified for Android and iOS.
- BindingObjects can have a lifecycle by implementing the
LifecycleAwareinterface. To use it, please take notice of the migration guide.
- We are providing API Docs.
- Android: New Bitmap cache fixes memory problems and increases performance.
- Full support for dynamic layout resizing
- Support for safeAreas has landed.
- Bugfix for Font-Loading on iOS 10 and below
- Kotlin support: Generate new projects with Kotlin settings now!
- Compatibility with Android Studio 4.0 has been realized.
- Updated Android Gradle plugin to version 3.6.1 and Gradle wrapper to version 5.6.4.
- Added the new logo and colors to all components (installer, IDEA plugin etc.)
- For new projects, the app-android module will now target the SDK 29.
- We provide a custom-build version of the RoboVM plugin that is compatible with XCode 11.3 and Android Studio for the first time.
- This is the initial release. Currently, we are not feature-complete, yet. So, not all Views and Layouts are available on both platforms. We will be working on the extension of the component list.