Столкнулся с проблемой выбора легковесного и быстрого ORM фрейморка на платформе Android. Долгое время использовал ORMLite. Столкнулся с проблемой скорости работы и быстроты разворачивания данного фреймворка в проектах. Для этого провел ресерч имеющихся и популярных библиотек для работы с базой данных в Android, но и тут все не так просто. За основу ставил себе определенный перечень задач: легковесность, поддержка sqlite, быстрая интеграция, высокая скорость работы.
ORMLite - взято за основу, ибо долгое время боялся дотронуться к чему-либо другому
Плюсы:- Быстрая интеграция
- Масштабируемость
- Гибкость в настройке
Минусы:- Работа в Runtime
- Скорость работы
- Избыточность и трудозатратность при написании DAO
DBFlow - заинтриговала простота в интеграции и больший чем в ORMLite перечень настроек
Плюсы:- Быстрая интеграция
- Гибкость в настройке
- Великий перечень настроек
- Работа в compile time
- Поддержка работы с MVVM
Минусы:- Скорость работы, ниже чем у ORM
- Очень низкая скорость работы(выборки) со вложенными коллекциями
Realm - купился на рекламу
Плюсы:- Быстрая интеграция
- Работа в compile time
- Очень быстрая скорость работы
- Поддержка RxJava
Минусы:- Гибкость в настройке
- Отсутсвие автоинкремента
- Потоконезащищенность(нельзя произвести выборку элементов из одного потока, для дальнейшего использования в другом, без использования RxJava)
- Невозможность переопределения equals и toString в элементе БД
- Недокументированные подводные камни и ограничения
- Избыточность при использовании кастомных полей в объекте БД
- Совместимость с SQLite( вроде как realm использует свой формат, обратной конверсии из формата realm в SQLite я так и не нашел)
Некоторые ORM детально даже не рассматривал( Sugar ORM - сложность в развертывании, а скорость работы желает лучшего, ActiveAndroid и GreenDAO - избыточность из-за DAO )
Исходя из этого перечня, хотелось бы спросить мнения других специалистов, есть ли какие фреймворки с функционалом работы как у DBFLow или ORMLite и скоростью работы как у Realm или нативного SQLite. Либо стоит пересмотреть выбор из вышеописанных ?