СоХабр закрыт.
С 13.05.2019 изменения постов больше не отслеживаются, и новые посты не сохраняются.
Привет, Хабр! Хочу поделиться результатами сравнения популярных DB-библиотек, используемых на Android. Необходимость выбрать одну из таких библиотек есть у каждого Android-разработчика, так как писать на чистом Android API крайне неудобно, приходится каждый раз делать слишком много работы — необходимо в каждом новом проекте заново создавать наследников классов ContentProvider и SQLiteOpenHelper, писать SQLite-скрипт для создания базы данных, писать перевод объектов моделей на язык запросов и обратно и много другое. На основе этого появилось несколько библиотек, они имеют разные подходы и особенности, но явного лидера среди них нет. Поэтому я и решил сделать сравнительный анализ данных библиотек.
Результаты сравнения приведены в документе на Google Drive. В сравнении участвовали следующие библиотеки:
Для сравнения я использовал следующие критерии:
Для себя я выделил следующих лидеров: GreenDao, Realm и DBFlow. Такой выбор был осуществлен из-за хорошей поддержки библиотек со стороны авторов, далее идет критерий "Усилия на первую настройку и поддержку" (после чего отметается Firebase) и далее "Производительность" (после чего отметается Requery). На основе этих же критериев (а может быть и ещё каких-то), вы можете выбрать совсем других лидеров списка, хотелось бы услышать ваше мнение, почему именно.
В данном сравнении мне бы очень хотелось также ориентироваться на критерий "Стабильность работы", но, к сожалению, у меня нет необходимой информации, чтобы сказать о наличии в библиотеках критичных или не критичных багов, а также о подводных камнях, не позволяющих использовать данные библиотеки в серьезных production-проектах. Прошу в комментариях поделиться своим опытом для заполнения пробелов.
Хочу сразу указать, что данное сравнение основывается целиком на моём мнении, которое со временем может быть изменено, в том числе и на основе ваших комментариев к данному посту. В данной публикации я хотел поделиться своими наработками с сообществом, услышать ваше мнение, а также дополнить пустые пункты сравнения для упрощения процесса выбора DB-библиотеки для следующего pet-project.
комментарии (4)