본문 바로가기

Mobile/Android Studio - Native

Android 프로그래밍에 관해

 

코틀린 기반의 안드로이드 앱 프로그래밍의 전반적인 그림을 정리해봤다. 하나하나의 기능을 구현하는데 집중하는 강의들이 많아서 전반적인 그림을 정리한다면 앱 프로그래밍의 숲을 볼 수 있을 것이라 생각했다.

 

Native 앱 개발 공부를 하다가 지금은 Flutter 기반의 크로스 플랫폼 개발에 초점을 두고 있는데, 실제로 Kotlin으로 앱을 간단히 구현해보다가, Flutter로 가보니 편의성이 이전과 확연히 다르다.

 

특히 두드러지는 부분은, 기존에는 XML로 UI를 구현하였는데, Flutter는 이와 달리 Dart라는 언어 하나로 모든 걸 구현하는것이 편리하였다. 또한 Dart로 만든 코드 자체도 Scaffold를 통해 '들여쓰기'로 직관적인 코드 작성이 가능해서 나와 같은 입문자에게는 더 편리하다는 생각이 들었다.

 

Kotlin, XML을 사용하는 경우와 달리, 아직 Flutter에는 확고한 디자인 패턴이 존재하지 않는다. 그래서 처음에 Flutter 튜토리얼을 진행할 때는, UI와 로직을 구분하지 않고, 하나의 코드에 모든 기능을 넣어서 작성하였다. 그러다 점차 복잡한 제품 구현에 초점을 맞추면서 UI와 비즈니스 로직을 구분해서 작성해야할 필요성을 느끼다가 발견한 것이 Bloc, Provider, GetX이다.

 

쉽게 이야기해서 안드로이드 개발에서 말하는 MVVM패턴이 곧 Flutter에서는 Bloc패턴, Provider 혹은 GetX 활용이다. 단 Bloc패턴, Provider, GetX를 사용하는 각각의 차이점이 존재한다. 이 부분은 해당 패턴/라이브러리를 사용해보며 체감해보는 것이 필요해 보인다.

 

개인적으로는 Python으로 프로그래밍을 시작하였기 때문에 Kotlin보다 Dart라는 언어가 더 쉽게 와닿는 것도 있는 것 같다.