Open Source libraries to make apps and app development fast and fun - less boilerplate and managing infrastructure code
Our open source libraries run on over a billion devices and are used by large companies with especially high performance requirements. Learn about our widely used, battle-tested, and performance-optimized open source libararies for mobile app development:
> 2.000.000.000 people rely on greenrobot libraries
Slim & fast - that is what we stand for and that is why thousands of mobile developers wordlwide use our solutions, leading to more than a billion mobile users relying on our code
Lean & light
Mobile News from greenrobot
Library updates, new releases, related developments in open source, mobile databases, and Android
Mobile databases: SQLite and SQLite alternatives for Android and iOS
UPDATED 2022. At Droidcon Berlin, we noticed a lot of questions around databases. Many people weren’t aware of SQLite alternatives and Object-Relational Mappers (ORMs). Therefore, we follow up with an overview of the mobile database landscape.
What is a mobile database?
While Wikipedia defines a mobile database as “either a stationary database that can be connected to by a mobile computing device […] over a mobile network, or a database which is actually stored by the mobile device,” we solely refer to databases that run on the mobile device itself.
Why use a mobile database?
There are some advantages associated with using a mobile database:
EventBus 3.2 with incremental annotation processing
EventBus 3.2.0 is now available on Maven Central. In 2020, seven years since version 1.0, EventBus is still one of the most used Android libraries. This update addresses advancements in the Gradle build system and supporting Android libraries.
EventBus 3.2 adds incremental processing to the EventBus annotation processor. This can greatly reduce build times – if all involved annotation processors play along (e.g. ObjectBox is getting there too).
The EventBus annotation processor is used when building EventBus with a subscriber index. This is now recommended for all Android apps. It improves run time performance and avoids crashes by looking up subscriber methods via reflection.
EventBus 3.2 also improves support for JetPack/AndroidX. When looking for @Subscribe methods, it now ignores all base classes from the androidx package and its subpackages, e.g. AppCompatActivity (from androidx.appcompat.app) or Fragment (from androidx.fragment.app). Before 3.2, those classes were scanned using reflection, regardless if a subscriber index was available or not.
Those two changes make EventBus faster and more resilient and we hope you consider making this update soon.
The EventBus library is free open source software. If you like it, we appreciate a star on GitHub, a tweet, or any feedback to us. If you use EventBus in a cool app that is a great showcase for its usefulness, we would love to share a case study with our community. Please get in touch.
EventBus 3.1 with plain Java support
With over 25% of the top Android apps using it, EventBus is more popular than ever before. So we’re very happy to announce EventBus 3.1 today. Starting with this release, EventBus works with plain Java (non-Android) projects. This has two major benefits: Firstly, it opens up EventBus for all Java developers and makes it usable for server and desktop applications. Secondly, it allows Android developers to use EventBus in local unit tests. Before, you had to use instrumentation tests which are slow and require a device. In contrast to this, plain Java unit tests are blazingly fast as they run directly on your desktop machine.
Introducing DaoCompat: greenDAO on ObjectBox
Earlier this month, we released ObjectBox 1.0, a new superfast object-oriented database. Now, with DaoCompat, you can easily use the power of ObjectBox in your Android apps while keeping the greenDAO APIs.