시작하며

Info

본 포스팅은 글또 9기 활동 중 Udemy 로부터 강의 쿠폰을 지원받아 작성되었습니다.

이번 포스팅은 ‘글또 9기’ 활동 중 일부로, Udemy에서 지원해주신 쿠폰으로 수강한 기획부터 개발까지 한방에 도전하는 플러터(Flutter) 수익형 기초 앱 개발 강의에 대한 후기 글이다.

해당 강의는 Flutter를 통한 App 개발 시 필요한 가장 기초적인 내용을 담고 있다. android, ios, web이 한 번에 개발 가능하고, 적당한 UI 언어를 배울 필요성이 있었기에 Flutter 강의를 신청하게 되었다. 이번 강의를 통해 Flutter에 처음 입문하게 되었지만, 강의가 마무리될 즈음에는 기본적인 형태의 앱을 그리 어렵지 않게 만들 수 있었다.

Flutter란 무엇인가

Flutter는 구글이 개발하고 오픈소스로 제공하는 UI 소프트웨어 개발 키트(SDK)이다. Flutter를 사용하면 하나의 코드베이스로 iOS, Android, 웹, 그리고 데스크톱 애플리케이션을 포함한 다양한 플랫폼에서 실행될 수 있는 네이티브 애플리케이션을 개발할 수 있다.

Flutter가 가지는 특징은 다음과 같다.

  1. 크로스 플랫폼 개발: Flutter를 사용하면 단일 코드베이스로 여러 플랫폼에 대한 애플리케이션을 개발할 수 있어, 개발 시간과 비용을 절감할 수 있다.
  2. 빠른 개발과 높은 생산성: Flutter는 핫 리로드 기능을 제공하여, 코드 변경 사항을 즉시 앱에 반영할 수 있다.
  3. 풍부한 위젯 기반 UI: Flutter는 풍부한 위젯 컬렉션을 제공하며, 이 위젯들은 사용자 정의가 가능하고 확장성이 뛰어나다.
  4. 높은 성능: Flutter 앱은 네이티브 코드로 컴파일되기 때문에 높은 성능을 발휘한다. Dart 프로그래밍 언어를 사용하며, JIT(Just In Time)AOT(Ahead Of Time) 컴파일을 모두 지원한다.
  5. 네이티브 통합: Flutter는 플랫폼 네이티브 코드, 써드 파티 SDK, 네이티브 앱과의 연동을 지원한다.

배우는 내용

저는 Dart 문법의 경우 Java, Javascript와 유사하여 Future, await 부분만 확인하고 넘어갔다. 강의 자체가 프로그래밍에 처음 입문하는 분들을 위한 수준으로 맞추어져 있어, 타 플랫폼에서의 개발을 경험해 본 분이라면 1.5배속으로 들어도 충분히 무리없이 따라갈 수 있다. 강의에서 배우는 내용은 다음과 같다.

  1. 네이티브 앱 개발, 웹앱 개발, 크로스 플랫폼 앱 개발의 차이점과 각각의 장단점을 이해한다.
  2. Flutter 프레임워크의 기본적인 원리와 구조를 이해한다.
  3. Dart 프로그래밍 문법의 기초 지식을 학습한다.
  4. ChatGPT를 활용하여 반복적인 문제에 대한 오류 해결이나 코드 최적화를 직접 해볼 수 있다.
  5. Android Studio 앱 개발 프로그램을 활용할 수 있게 된다.
  6. 명함앱, 아이디어 노트앱, API 연동 실시간 뉴스 앱을 제작하며 나만의 앱을 만드는 방법을 배운다.

특히 3가지 간단한 앱을 만들어보는 단계에서 Flutter에 대한 감을 잡고, 이후 개인 프로젝트도 진행하면서 Firebase로의 CI/CD나 호스팅 방법 등 실질적인 서비스를 배포하기 위한 내용들을 추가 학습했다.

정리하며

백엔드 & 데이터 엔지니어링에만 관심을 가지다 보니, 데이터를 시각화하거나 실제 UI로 표현하는 법이 서툴다는 것을 느끼게 되었다. 머리도 식힐 겸 취미로 Flutter에 도전해보게 되었는데 생각보다 만드는 게 재미있다. 사실 Vue.js는 이전에 한 번 다뤄본 적이 있지만 React 같은 프레임워크는 워낙 양이 방대해 접근하기가 쉽지 않았는데, Flutter는 진입장벽도 낮고 무엇보다 하나의 코드로 android, ios, web 모두 개발이 가능해서 적은 노력으로 적당한 퍼포먼스를 보여주는 UI를 만들기에는 적절한 플랫폼이라는 생각이 든다.

참고문헌