본문 바로가기
반응형

전체 글91

Flutter - Localization(현지화) 패키지, easy_localization 앱을 개발할 때, 한 국가만 대상으로 개발하여 출시하는 경우는 드물다. 한국, 미국, 일본 등 글로벌하게 출시하게 된다. 이럴때 고려해야 될 부분 중 하나는 앱 내 텍스트 등의 현지화다. 한국이라면 한국어로, 미국같은 영어권 국가라면 영어로 보여지게 한다는지 등. 안드로이드는 strings.xml 리소스를 분리하고, iOS는 국가별 문자열 키값 쌍을 만들고 String Extension에서 이를 읽어들여 런타임에 알맞게 보여지도록 구현했었다. Flutter는 어떻게 할 수 있을까? https://pub.dev/packages/easy_localization easy_localization | Flutter Package Easy and Fast internationalizing and localizati.. 2023. 1. 28.
Flutter - Open Source License 패키지 어떤 분야에서든지 개발을 해 보았다면 수 많은 오픈소스 라이브러리를 활용하고 있을 것이다. 오픈소스 라이브러리를 활용하는 것은 생산성을 높일 수 있을 뿐만 아니라, 개발 생태계에 있어 굉장히 좋은 문화라고 생각한다. 그러나 오픈소르 라이브러리를 활용하는데에 주의할 점이 있다. 바로 오픈소스 라이센스이다. 오픈소스 라이센스는 말 그대로 오픈소스에 대한 저작권 표시다. 오픈소스 라이브러리의 Github 저장소에서 Apache License 2.0이라던가, MIT License 같은 것을 본 적이 있을 것이다. 이것이 예인데, 각 라이센스 마다 수정 가능 여부, 상업적인 사용 가능 여부 등이 다르다. 라이센스에 대해 얘기하자면 끝이 없으니 여기선 넘어가겠다. 대부분의 오픈소스 라이브러리는 수정 및 상업적 이용.. 2023. 1. 24.
Android - Deep dive into LiveData - 2. setValue vs postValue LiveData를 사용할 때, 데이터의 변경은 어떻게 할 수 있을까? 제목에도 나와있듯이, setValue와 postValue가 있다. 왜 두 가지 방법이 있을까? 무슨 차이가 있는지 알아보자. public abstract class LiveData { ... /** * Sets the value. If there are active observers, the value will be dispatched to them. * * This method must be called from the main thread. If you need set a value from a background * thread, you can use {@link #postValue(Object)} * * @param value .. 2023. 1. 21.
Android - Deep dive into LiveData - 1. LiveData가 무엇인가요? 안드로이드 앱 개발에 가장 많이 활용되는 Jetpack Component를 꼽으라고 한다면 LiveData는 손에 꼽힐 것이다. 앱 규모가 커지고 복잡해지면서 상태관리가 중요해졌다. 그러다보니 자연스레 MVVM도 표준 아키텍처로 자리잡혔고, 이를 충분히 활용하기 위해 ViewModel과 LiveData가 사용된다. 이번 포스팅 주제로, 안드로이드 프레임워크에서 상태관리를 하기위해 안성맞춤인 LiveData에 대해 자세히 알아본다. LiveData? 공식 문서에서 소개하는 LiveData를 꼭 읽어보길 바란다. https://developer.android.com/topic/libraries/architecture/livedata?hl=ko LiveData 개요 | Android 개발자 | Android .. 2023. 1. 21.
Android - LifecycleOwner vs ViewLifecycleOwner Android 앱을 개발하면서 가장 기본적이고 중요한 것 중 하나는 앱의 생명주기라고 생각한다. 생명주기, Lifecycle은 Activity, Fragment, Service 와 같은 앱의 구성요소에 따라 다르다. 흐름은 어느정도 비슷하지만, 호출되는 함수가 다른 등의 차이가 있다. 현재 Android앱을 개발하면 Jetpack을 너무나도 당연히 사용하게 되고, LiveData와 ViewModel 또한 활용하고 있을 것이다. 그러다보면 자연스럽게 LifecycleOnwer, ViewLifecycleOwner에 대해 알게 된다. 그렇다면 이 둘의 차이는 무엇인지 정리해보자. LifecycleOwner가 뭐야? 먼저, LifecycleOwer에 대해 알아보자. https://developer.android.. 2023. 1. 15.
Flutter - 화려한 애니메이션이 앱을 감싸네! Lottie 모바일 앱을 더욱 아름답게 만들어주는 것이 애니메이션이다. 화면전환, UI가 보여지고 가려지고, 사이즈 변경 등 많은 부분에 애니메이션을 녹일 수 있다. 그렇지만 아이콘이나 이미지라던가, 화려한 애니메이션은 어려운 부분이 많다. 그래서 주로 Lottie를 사용하곤 한다. https://lottiefiles.com/what-is-lottie What is a Lottie animation? - LottieFiles Lottie is a JSON-based animation file format that works on any device and platform. LottieFiles lets you create, edit, test, collaborate on and ship a Lottie animati.. 2023. 1. 15.