개발을 하다보면 여러 라이브러리를 사용하기 마련이다.
라이브러리를 사용하면 코드 단축과 여러 기능들을 일일이 만들지 않고 라이브러리 추가로 기능(뷰페이저, 플로팅버튼 등)들을 쉽게 사용할 수 있는 장점이 있다.
물론 장점이 있으면 단점도 있는법인데, 잘 사용하고 있는 라이브러리들이 내일 당장에 업데이트가 안되거나 서비스 자체가 중단되버릴수도 있다.
물론 사용하고 있는 앱에 당장에는 영향이 없지만 유지보수를 하거나 업데이트를 할 때 변경사항이 크다면 불안하기 마련이다.
따라서 라이브러리를 사용하는게 마냥 좋다는 생각은 하지말도록 하자.
그러면 이제 코틀린을 사용할 때 유용한 라이브러리에 대해서 알아보자.
코틀린 언어가 나오가 나서 가장 유용하게 많이 쓰엿다고 하는 라이브러리가 Anko라고 한다.
코틀린 언어를 만든 jetbrains사가 만들었는데 지금은 아쉽게도 deprecated 되었다.
하지만 Anko에서 지원이 중단되면 대신에 무엇을 사용해야 할지 대안들을 제시해 주었다.
그중에서 동그라미친 유틸리티 전용 라이브러리인 Splitties에 대해서 알아보자.
Splitties을 보면,
Splitties is a collection of small Kotlin multiplatform libraries (with Android as first target).
로 되있는데, 라이브러리들을 최대한 작게 쪼개어 놓아서라고 한다.
예를 들어서 설명하자면, A라는 라이브러리(EX. Anko)에는 a기능, b기능 ,c기능 등 모든 기능들이 다 들어있는 라이브러리다.
그런데 Splitties를 보면 베이스가 되는 라이브러리를 필두로
implementation("com.louiscad.splitties:splitties-fun-pack-android-base:3.0.0-beta03")
각 라이브러리 별로 기능들이 따로 지원이 되서 필요한 라이브러리만 가져다가 쓰면 된다.
Toast가 필요하면,
implementation("com.louiscad.splitties:splitties-toast:$splitties_version")
activities가 필요하면,
implementation("com.louiscad.splitties:splitties-activities:$splitties_version")
이런식으로 필요한 것만 가져다가 쓰면 되니 라이브러리가 필요이상으로 커지지 않아 앱의 무게를 줄이는 효과를 볼 수가 있다.
그러면 Splitties에서 유용하게 사용하는 기능들을 살펴보자.
Kotlin :
startActivity(Intent(this, DemoActivity::class.java))
Kotlin with Splitties :
start<DemoActivity>()
Kotlin :
Toast.makeText(this@MainActivity, "Hi There! This is a Toast.", Toast.LENGTH_SHORT).show()
Kotlin with Splitties :
toast("Hi There! This is a Toast.")
이런식으로 사용하면 되고 Splitties 깃허브에 가면 다양한 기능들이 다 나와있다.