모바일 앱 개발에 대하여
- MAC & iOS
- 2022. 8. 28.
하이브리드앱으로는 다음과 같은 것들이 유명하다.
React Native
Ionic (Capacitor, Cordova)
PWA with Cordova
Flutter
이 중 Flutter 와 Ionic 을 추천한다. 아니다 막상 해보면 난 리액트 네이티브가 가장 좋아보인다.
Ionic 을 사용한다면 React 를 사용할 것이고 Typescript 를 사용할 것인데
웹을 함께 고려하여 만든다면 React Ionic 으로 기술을 통일하여 생산성을 증가 시키는 것도 좋을 것이다.
하지만 기본적으로 Typescript 는 Javascript 에 타입을 만들어 사용하는 것이기에 그러한 부분을 고려하지 않는다면
애초에 타입이 있는 dart 를 사용하는 Flutter 가 나을 수 있다. UI 와 네이티브와 연결하는 메소드 채널 등의 성능이 Flutter 가 뛰어나기도 하다.
Flutter 로 데스크탑 개발도 가능하다고 한다.
그 외 그냥 네이티브 개발이 있다.
xcode 로 개발하는 iOS 개발.
android studio 로 개발하는 Android 개발.
Protocol 기반, MVC 구조 그리고 MVVM 구조 및 Designed by Contract 등 전통적인 OOP 및 UML 방식의 개발과 언어의 모던함이 기술적으로 완벽하게 구현되었고 안정적인 Swift 를 사용한 iOS 개발이 매력이 있어 보인다.
이러한 모바일 개발은 결국 User Interface 의 개발이라 볼 수 있다.
단순히 User Interface 가 아니라 모바일 기기 단 위에서 돌아가는 애플리케이션 수준의 개발도 이루어질 수 있다.
단순히 서버의 데이터를 받아서 보여주는 User Inteface 역할로서의 모바일 개발에는 기본적인 공통 부분이 있어보인다.
여러 하이브리드 개발을 경험하고 아이폰 개발에도 관심을 가지고 있는 상태에서 그러한 경험들을 바탕으로 볼 때 대표적인 부분들을 도출해 볼 수 있다.
UI 에서 리스트 보여주기, 탭 보여주기, 네비게이션, 사용자의 폼 입력, 이벤트 처리, 서버 요청 응답 (데이터 말아주기), 간단한 로컬 디비나 전역 스토어, 애니메이션, 푸시 및 노티피케이션, 이미지 다루기, 웹뷰, 지도, ...
단순한 User Interface 를 넘어서면 각 모바일 개발의 프레임워크의 여러 다양한 API 들을 이용하여 블루투스, 비컨, 보안, 인공지능, 3D AR, ... 와 같이 고도화된 앱 자체로서도 유용한 기능을 가지는 것을 만들 수 있다.
그리고.... iOS 의 네이티브 개발을 시작하며 기본적인 User Interface 기능 부터 시작하여 고수준의 API 까지 UML, OOP 를 적용해가며 Swift, iOS 의 철학에 따라 학습을 하고자 한다.