React Native의 Offline Local Database는 뭐가 짱일까?
열심히 앱을 개발하던 중 React Native에서 Local Database를 뭘 쓸지 도저히 결정을 하기가 힘들었다.
Watermelon DB는 Bridgeless Mode를 Deprecated(Removed) API를 쓰고 있어서 지원을 제대로 못하는 것 같고, Realm은 자살골을 넣는 행위같고(써본 사람들은 뭔말인지 알 것임, 그냥 Docs 생김새 보면 감이 옴) 이름도 이상하게 Mongo Atlas Device SDK어쩌구로 변경하더니 2025-09에 Deprecation도 될 것이라고 해서(Sync기능만, Offline DB(Realm)은 커뮤니티화) 그냥 좋은 선택지가 아닌 것 같다.
결론적으로 Sqlite를 그냥 쓰기로 했고 따로 ORM 라이브러리를 붙이지 않기로 했다. ORM을 붙이는게 잘 구축해놓으면 편할 수 있지만 결론적으로 유지보수 비용을 늘리고 내 프로젝트와 적합하지 않다는 결론이 났다.
그런데 Sqlite Raw SQL을 쓰려고 해도 선택지가 여러개가 있었는데,
expo-sqlite를 쓸까 고민하던 와중 op-sqliate라는 따끈따끈한 라이브러리를 발견했다.
46 Release에 8.0.1에 3시간전의 릴리즈, 이 얼마나 폭력적인 조합인가?
코드를 좀 살펴보니 JSI 를 활용하여 직접 sqlite.c
를 가져와서 구축한 패키지이고 아직 안써봤지만 이걸 쓰려고 한다.
그와중에 JSI로 패키지를 만드는게 좀 재밌어보이기도하고 알면 좋겠다 싶어서 Tutorial 도 조금 기웃거리고 있다.
Comments