플루터는 생산성뿐만 아니라 성능까지 뛰어나 앱 개발의 대세가(?) 되어가고 있다.
몇년전만 하더라도 생태계가 완벽히 갖춰있지 않아 채택하기 망설여 졌지만
지금은 다르다!
github에서 많은 start를 받거나 유용하다고 생각되는 라이브러리를 몇가지만 소개해 보겠다.
사실 이것때문에 글을 썻다.
get라고 불리우는 이녀석은 flutter의 생산성을 x2 해주는 치트키라 할 수 있겠다.
상태관, 라우터관리, 종속성 주입, http, socket 통신까지... 만능(?)이다. 또한 가볍다.!
라우터에 미들웨어까지 주입할수 있어서 심플하게 권한 관리까지 할 수 있다.
여기다 허접한 내가 주저리 주저리 써봐야 무슨 소용이 있겠는가.
https://github.com/jonataslaw/getx
github에서 직접 어떤녀석인지 살펴보자.
getx의 전체 기능을 사용하지 않더라도 일부만 잘 이용한다면
아주 빠르게 좋은 설계의 앱을 제작할 수 있을것이다.
https://pub.dev/packages/get_storage
getx와 결합해 간단한 key and value 값들을 아주 심플하게 저장하고 가져올 수 있다.
뿐만 아니라 메모리 기반으로 작동해서 속도 또한 엄청나다.
밴치마크 표를 공개 했는데 다른 저장소와는 속도면에서는 비교불가!
하지만 이것은 database가 아니다!
database용도가 아닌 단순한 값들을 저장 조회한다면 이걸쓰자.
이것은 no sql database이다.
key and value값뿐만 아니라
object를 저장/조회/삭제/갱신 할 수 있다.
보통 sqlite도 많이 사용하는데 편의성과 속도면에서 hive가 승자다.
물론 용도에 따라서 관계형 데이터 베이스인 sqlite를 꼭 사용해야 하는 상황도 있으므로
절대적인것은 아니다.
flutter sqlite 라이브러리
https://pub.dev/packages/sqflite
앱개발을 하다보면 gps, camera, contacts 등등에 접근해야하는 상황이 온다.
유저에게 권한을 받아야 하는 상황에서 쉽게 제어할 수 있도록 도와준다.