본문 바로가기

Android/Tips

안드로이드 개발시 유용한 필수? 라이브러리 추천 (Kotlin 업데이트)

대부분 알고 계시겠지만 앱개발하는데 있어서 유용한? 거의 꼭 필요한? 라이브러리를 소개합니다. 


1. Glide

 -이미지 로딩 라이브러리. 여러 이미지 로딩 라이브러리 들이 존재하지만 속도가 매우 빠르며, 모양의 변형 (원모양, 사각모양 등), 여러 부가기능을 제공해준다. 기타 여러 이미지 로딩 라이브러리는 많음. ( picasso, AUIL, Fresco 등 )

- (참고) https://github.com/bumptech/glide

- (참고 -  안드로이드에서 이미지 로딩 라이브러리 순위를 매겨놓은 사이트 )

https://ourcodeworld.com/articles/read/929/top-10-best-android-image-loading-and-caching-libraries


2. Retofit

- 서버와 데이터를 주고받기 위해 사용하는 라이브러리. 

- java beans를 이용해서 매우 편하게 서버와 Json 데이터 매핑이 가능하다.

- Interface 기반으로 각종 서버와 주고받을 API 들을 정의합으로써, 매우 코드상으로도 직관적이며 유지보수가 편함.

- 최근에는 Retrofit2 & RxAndroid 조합으로 코드 구조를 짜기도 함.

- (참고) http://square.github.io/retrofit/


3. RxAndroid, RxJava

- 코틀린 언어 도입 이후 자주 쓰이는 리액트 패러다임의 RxJava 입니다. 

- RxAndroid 라이브러리는 RxJava에 좀더 필요한 클래스를 추가하여 안드로이드내에서 리액티브 구성요소들을 편리하게 사용할 수 있게끔 한 라이브러리이다. 

- (참고) https://github.com/ReactiveX/RxAndroid


4. Stetho

- Facebook 에서 나온 디버깅 라이브러리 

- Chrome 브라우저를 이용해서 서버와 주고받는 프로토콜 상태 및 결과 데이터 를 바로바로 보기쉽게 정리하여 준다. 

- 또한 내부 자체 내에 내장된 DB 까지도 보기 편하게 정리해준다. 

- (참고) http://facebook.github.io/stetho/


5.  Otto

- 이벤트 버스 라이브러리. 옵저버 패턴을 이용해서 현재화면에서 작업한 것을 다른 화면에도 공지해서 변경을 줄수있는 라이브러리. 

- (참고) https://github.com/square/otto


6. Fabric

- Logging 라이브러리, 특히 실시간 Crash를 Logging하고 알람을 주기때문에 매우 유용.

- (참고) https://fabric.io


7. Firebase ( Fabric - Crashlytics 간 통합하여 사용 )

- Logging 라이브러리. google 에서 추천하는 로깅 라이브러리. Logging, Crashlytics, Database, Hosting, A/B Testing 등 정말 많은 기능을 제공한다. 

- 기본적인 로딩은 firebase에 하고 crash의 경우는 fabric으로 실시간 확인하면 좋을듯 하다. 

- (참고) https://firebase.google.com


8. Butterknife (Android DataBinding(라이브러리) 또는 Kotlin(언어) 사용시에는 큰 필요성 없어짐. 기존 JAVA 언어로 앱 개발시 유용. ) 

- UI 를 매번 java 코드상에서 findByViewId 를 써줄 필요가 없다. UI binding 라이브러리

- OnClick, OnLongClick 등 여러 annotation 기능을 제공하여 코드의 간결함을 준다.

- 요즘에는 DataBinding 또는 Kotlin 언어의 사용으로 인하여 사용성이 많이 떨어진 것 같음. 

- (참고) https://github.com/JakeWharton/butterknife

- Android & Kotlin 에서는 자동으로 VIEW를 바인딩 해주어 자연스럽게 사용할 필요가 없어졌다. 



 이정도면 기본적인 서버와 클라이언트가 있고 앱을 개발하는데있어서 큰 무리없이 가능합니다. 


그 밖에 정말 재밌고 신기한 수백 수천가지의 라이브러리들이 다양합니다. 웬만한 것은 Google 에 물어보시면 라이브러리가 많아요~ 

- circularimageView, photoView, email-input-view, crouton, pullToRefresh, etc..