What is Android Room and what are its top alternatives?
Top Alternatives to Android Room
- SQLite
SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file. ...
- GreenDAO
It is an open source Android ORM making development for SQLite databases fun again. It relieves developers from dealing with low-level database requirements while saving development time. ...
- Realm
The Realm Mobile Platform is a next-generation data layer for applications. Realm is reactive, concurrent, and lightweight, allowing you to work with live, native objects. ...
- Firebase
Firebase is a cloud service designed to power real-time, collaborative applications. Simply add the Firebase library to your application to gain access to a shared data structure; any changes you make to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds. ...
- DBFlow
It is fast, efficient, and feature-rich Kotlin database library built on SQLite for Android. It utilizes annotation processing to generate SQLite boilerplate for you and provides a powerful SQLite query language that makes using SQLite a joy. ...
- Hibernate
Hibernate is a suite of open source projects around domain models. The flagship project is Hibernate ORM, the Object Relational Mapper. ...
- Slick
It is a modern database query and access library for Scala. It allows you to work with stored data almost as if you were using Scala collections while at the same time giving you full control over when a database access happens and which data is transferred. ...
- Spring Data
It makes it easy to use data access technologies, relational and non-relational databases, map-reduce frameworks, and cloud-based data services. This is an umbrella project which contains many subprojects that are specific to a given database. ...
Android Room alternatives & related posts
SQLite
- Lightweight161
- Portable135
- Simple121
- Sql80
- Preinstalled on iOS and Android28
- Tcl integration2
- Free1
- Portable A database on my USB 'love it'1
- Not for multi-process of multithreaded apps2
- Needs different binaries for each platform1
related SQLite posts
I need to add a DBMS to my stack, but I don't know which. I'm tempted to learn SQLite since it would be useful to me with its focus on local access without concurrency. However, doing so feels like I would be defeating the purpose of trying to expand my skill set since it seems like most enterprise applications have the opposite requirements.
To be able to apply what I learn to more projects, what should I try to learn? MySQL? PostgreSQL? Something else? Is there a comfortable middle ground between high applicability and ease of use?
Hi all. I want to rewrite my system. I was a complete newbie 4 years ago and have developed a comprehensive business / finance web application that has been running successfully for 3 years (I am a business person and not a developer primarily although it seems I have become a developer). Front-end is written in native PHP (no framework) and jQuery with backend and where many processes run in MySQL. Hosted on Linux and also sends emails with attachments etc. The system logic is great and the business has grown and the system is creaking and needs to be modernised. I feel I would stick with MySql as DB and update / use Django / Spring or Laravel (because its php which I understand). To me, PHP feels old fashioned. I don't mind learning new things and also I want to set the system up that it can be easily migrated to Android/iOS app with SQLite. I would probably employ an experienced developer while also doing some myself. Please provide advice -- from my research it seems Spring/Java is the way to go ... not sure. Thanks
related GreenDAO posts
Realm
- Good7
- Elegant API3
- Cloud Syncing3
- React Native Support2
- Strong Adoption Growth1
- No offline support for web till now1
related Realm posts
- Realtime backend made easy368
- Fast and responsive268
- Easy setup240
- Real-time212
- JSON188
- Free132
- Backed by google126
- Angular adaptor82
- Reliable67
- Great customer support35
- Great documentation30
- Real-time synchronization25
- Mobile friendly21
- Rapid prototyping18
- Great security14
- Automatic scaling12
- Freakingly awesome11
- Chat8
- Angularfire is an amazing addition!8
- Super fast development8
- Firebase hosting6
- Awesome next-gen backend6
- Ios adaptor6
- Built in user auth/oauth6
- Speed of light4
- Very easy to use4
- Great3
- Brilliant for startups3
- It's made development super fast3
- Push notification2
- Free hosting2
- Free authentication solution2
- Cloud functions2
- JS Offline and Sync suport2
- Low battery consumption2
- The concurrent updates create a great experience2
- I can quickly create static web apps with no backend2
- Great all-round functionality2
- Easy to use1
- Easy Reactjs integration1
- Free SSL1
- Faster workflow1
- Google's support1
- Simple and easy1
- CDN & cache out of the box1
- Large1
- .net1
- Serverless1
- Good Free Limits1
- Can become expensive31
- No open source, you depend on external company15
- Scalability is not infinite15
- Not Flexible Enough9
- Cant filter queries6
- No Relational Data3
- Very unstable server3
- Too many errors2
- No offline sync2
related Firebase posts
Hi Otensia! I'd definitely recommend using the skills you've already got and building with JavaScript is a smart way to go these days. Most platform services have JavaScript/Node SDKs or NPM packages, many serverless platforms support Node in case you need to write any backend logic, and JavaScript is incredibly popular - meaning it will be easy to hire for, should you ever need to.
My advice would be "don't reinvent the wheel". If you already have a skill set that will work well to solve the problem at hand, and you don't need it for any other projects, don't spend the time jumping into a new language. If you're looking for an excuse to learn something new, it would be better to invest that time in learning a new platform/tool that compliments your knowledge of JavaScript. For this project, I might recommend using Netlify, Vercel, or Google Firebase to quickly and easily deploy your web app. If you need to add user authentication, there are great examples out there for Firebase Authentication, Auth0, or even Magic (a newcomer on the Auth scene, but very user friendly). All of these services work very well with a JavaScript-based application.



























This is my stack in Application & Data
JavaScript PHP HTML5 jQuery Redis Amazon EC2 Ubuntu Sass Vue.js Firebase Laravel Lumen Amazon RDS GraphQL MariaDB
My Utilities Tools
Google Analytics Postman Elasticsearch
My Devops Tools
Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack
My Business Tools
Slack
- SQLite1
- Easy to use1
- Open Source1
- Doesn't support anything other than SQLite1
related DBFlow posts
- Easy ORM18
- Easy transaction definition7
- Is integrated with spring jpa1
- Can't control proxy associations when entity graph used3
related Hibernate posts
related Slick posts
Spring Data
related Spring Data posts








I need some advice to choose an engine for generation web pages from the Spring Boot app. Which technology is the best solution today? 1) JSP + JSTL 2) Apache FreeMarker 3) Thymeleaf Or you can suggest even other perspective tools. I am using Spring Boot, Spring Web, Spring Data, Spring Security, PostgreSQL, Apache Tomcat in my project. I have already tried to generate pages using jsp, jstl, and it went well. However, I had huge problems via carrying already created static pages, to jsp format, because of syntax. Thanks.