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
In today’s AI-driven world, the importance of efficient data management cannot be overstated. Vector databases play a crucial role in providing the infrastructure for ML applications. In this article, we will explore the significance of vector databases in AI and examine the current top vector database options available in the market.Continue reading
Flutter databases are databases specifically designed to give Flutter / Dart apps fast data persistence. Other databases can be used depending on the database and use case, but in our experience Flutter databases are easier to use and faster in Flutter/Dart apps. Note: Because “Dart” is such an ambiguous term, “Flutter database” is the established terminology (even though from a tech perspective it is not a great name).
As a Flutter app developer, selecting the right local database is important. After a market overview and terminology, we’ll compare the most popular options (ObjectBox, sqflite, Drift, Floor, Isar, Sembast, Realm) in a matrix.Continue reading
Accelerated by the Corona pandemic, exploding numbers of connected devices and data volumes drive a shift towards decentralized Edge Computing and with it the need for embedded database management systems continues to grow rapidly. Analysts expect the Embedded Database market to grow by 60% annually (CAGR) from 2022-2029.
What is an Embedded Database?
What is a database vs. a DBMS?
A “database” is an organized collection of (structured or unstructured) data, typically stored electronically in a computer system. The most common database operations are Create, Read, Update, Delete (CRUD). “Database Management System” (or DBMS) refers to the piece of software for storing and managing that data. However, often the term “database” is also used loosely to refer to a DBMS, and you will find most DBMS only use the term database in their name and communication.
What does “embedded” mean in the database world?
The term “embedded” can mean two different things when used in the context of databases:
- “Database for embedded systems” is a database specifically designed to be used in embedded systems. Embedded systems are systems consisting of a deeply integrated hardware / software combination, e.g. electronic control units (ECUs), IoT devices. A database for such systems must have
- a small footprint and
- be optimised to run on highly restricted hardware
- thrifty with resource-use, e.g. CPU, Memory, Battery.
- “Embedded database”: this means that the database is deeply integrated in the software / application. Also referred to as an “embeddable database”, “embedded database management system” or “embedded DBMS (Database Management System)”.
C++ data persistence beginner tutorial – get started with ObjectBox
Are you a C++ beginner looking for a C++ database that is easy to use? In this tutorial, we’ll explain how you can install ObjectBox on Windows, even if you have never worked with an external library before. Your best option might be to set up a Linux subsystem (WSL2) first. After that, we will install the build tools and some useful development software such as CMake and Git. When this setup is ready, we can jump right into installing ObjectBox and running a simple example with it. We encourage you to explore its source code to get a grasp of ObjectBox in action.
Why use the ObjectBox C++ database as a C++ beginner?
Almost any program that stores some kind of data will benefit from incorporating a database into it. By storing data systematically, you will always be able to easily access, manipulate and search for different entries. Because of its flexibility, a NoSQL database will make a great fit for your first project and will serve you well further down the road. ObjectBox is not an ORM, so you do not need to learn another programming language, and can get started in minutes. ObjectBox uses native C++ APIs, which can be intuitively understood if you have any C++ experience. Furthermore, if you want high performance or your project is created with scalability in mind, a NoSQL database like ObjectBox might be the only viable option.