최근 생성형 AI의 발달로 개발 생산성이 크게 향상되면서, 저 역시 컴퓨터공학 전공자로서 "이제는 직접 뭐라도 만들어봐야 하지 않을까?"라는 생각이 들었습니다.
하지만, 기존처럼 단순히 "~해줘", "~만들어줘", 나아가서 "어떻게 할까?", "~어떻게 해?"와 같이 생각하는 것부터 결과까지 모두 AI에게 의존하는 형식이 아닌, 처음부터 끝까지 스스로 설계하고 구현하며, 필요한 부분에만 AI를 도구처럼 활용하는 식의 개발을 해야겠다는 생각이 들었습니다.
요즘 스레드(Threads)에서 소규모 앱 개발을 통해 소액이지만 월 단위 수익을 얻는 개인 개발자들이 많이 보게 되었습니다.
이를 보며, 앱 개발에 관심이 생기게 되었고, "나도 할 수 있지 않을까?"라는 마음이 들어 모바일 애플리케이션 개발을 도전해보려고 합니다.
모바일 애플리케이션 개발을 위한 가장 첫 단계로 어떤 형태의 애플리케이션을 만들 건지가 고민이 되었습니다.
모바일 애플리케이션은 크게 '네이티브 앱', '웹 앱', '하이브리드 앱' 3가지로 나눌 수 있습니다.
네이티브 앱(Native App)
- 특정 모바일 운영체제(Android, iOS)에 최적화된 앱
- 장점
- 높은 성능 빠른 속도
- OS 기능(카메라, 센서, 알림 등)을 활용 가능
- 기기 최적화
- 우수한 사용자 경험(UX)
- 단점
- 특정 운영체제에 종속
- 운영체제별로 별도의 개발 필요
- 개발 비용과 시간이 많이 소요됨
웹 앱(Web App)
- 웹 브라우저를 기반으로 동작하는 앱
- HTML, CSS, JavaScript 기반으로 작성
- URL을 통해 접속 가능
- 장점
- 다양한 기기에서 동일한 경험을 제공
- 운영체제 제약 없이 사용 가능
- 설치하지 않고 사용
- 유지보수가 간편
- 단점
- 네이티브 앱과 비교하였을 때 성능이 떨어짐
- 기기의 기능 접근이 제한적
하이브리드 앱(Hybrid App)
- 네이티브 앱과 웹 앱의 장점을 결합한 형태의 앱
- 웹 기술(HTML, CSS JavaScript)을 기반으로 개발
- 네이티브 앱 형태로 패키징하여 배포 (React Native, Flutter 등)
- 네이티브 앱처럼 설치하여 사용
- 장점
- 운영체제 간 호환 가능
- 개발 속도↑
- 개발 비용↓
- 유지 보수가 용이함
- 사용자 경험 향상(다양한 기기에서 동일한 경험)
- 단점
- 네이티브 앱과 비교하였을 때 성능이 떨어짐
처음 만드는 앱이지만 더 높은 퀄리티와 사용자 경험을 주는 앱을 만들고 싶은 마음에 "네이티브 앱으로 만들어야겠다"라고 생각하였으나, 제 개발 환경은 MacOS인 반면, 같이 애플리케이션 개발을 하기로 한 동료의 환경이 윈도우인 점과
iOS 네이티브 앱을 만들기 위해서는 Swift라는 언어를 새로 배워야 한다는 현실적인 문제,
학교 생활과 다른 여러 프로젝트로 인해 많은 시간을 투자할 수 없다는 점,
또한 첫 프로젝트인 만큼 빠른 개발과 배포가 더욱 중요할 것 같다는 생각으로 '하이브리드 앱'으로 방향을 잡게 되었습니다.
앞으로 어떤 기술 스택을 사용할지, 어떻게 기획하고 배포할지에 대해 하나씩 정리해보겠습니다.
[Reference]
모바일 앱 종류와 특징 - 네이티브 앱, 크로스 플랫폼, 웹 앱, 하이브리드 앱
스마트폰 앱인데 웹사이트라고요? 애플리케이션을 만드는 방법에는 무엇이 있는지, 어떤 특징과 차이점을 가지고 있는지 알아봅니다. 그리고 애플리케이션 개발에 관련된 용어와 개념을 학습
hongong.hanbit.co.kr