스마트폰 시대에서 많은 앱을 사용하면서 나 만의 앱을 만들어 보고 싶지 않으셨나요?
저는 회사의 업무도 개발파트는 아니지만 개발과 관련된 프로젝트관리 및 기획 업무를 하고 있습니다.
비전공자로서 개발 업무의 이해도를 높이기 위해 개인적으로 코딩을 배워보고자 해서 작년초부터 조금씩 언어를 익혀가고 있습니다.
회사의 데이터분석 역량 강화 요구에 따라 파이썬으로 시작해서 간단한 웹페이지 개발까지 해보았고,
궁극적으로는 나 만의 앱을 만들고 싶어서 어떻게 접근하면 좋을 지 몰라 유튜브, 웹 서핑 등 검색과 탐색을 해보았습니다.
요즘 앱 개발이 쉬운 다양한 솔루션이 나오고 있습니다.
테스트로 간단하게 만드는 것 부터 복잡한 기능에 이르기까지 목적에 따라 선택을 하면 좋을 것 같습니다.
우선 저의 수준과 하고자 하는 것 부터 파악하고 선택한 사항을 정리해 보았습니다.
1. 나의 기본 코딩 실력
- 파이썬으로 데이터 분석 하기 (jypyter notebook, VS code)
- 장고로 블로그 페이지 테스트로 만들기
- 웹페이지 개발의 가장 기본인 HTML, CSS, Javascript 로 여행정보 페이지 만들기
- 프론트엔드에서 가장 많이 사용하는 React 로 소개 홈페이지 만들기
2. 앱 코딩 방법 알아보기
- 정통적인 앱 개발
- Andriod : Kotlin (Java)
- iOS : Swift - Cross Platform
- React Native (Meta)
- Flutter (Google) - 노코드 앱 개발
전문적인 앱 개발로 보면 Kotilin, Swift 를 사용하여 Native App을 만들어야 겠지만
혼자 개발하기에는 양쪽 플랫폼을 공부해서 각각 만들기에는 상당한 어려움이 느껴졌습니다.
따라서 요즘 스타트업 이나 개인 개발용으로 많이 사용하는 Cross Platform에서 선택을 고민하게 되었습니다.
Flutter는 Dart 언어를 추가로 공부해야 하는 대신 구글의 전폭적인 관리의지를 고려하고 Native 기능 적용이
우수한 측면이 있습니다.
React Native는 Javascript기반인 React에서 출발하고 거의 90% 정도 유사함을 가지고 있어
React를 좀 알면 쉽게 적응할 수 있는 장점이 있는 반면에 개발 난이도는 Flutter보다 어렵다고 합니다.
이것은 React Native에서 지원하는 Component나 API는 기본적인 것만 있어서 다른 필요한 기능은
Third Party를 활용해야 하다보니 유지보수가 어려울 것으로 보입니다. 물론 혼자 개발하면 상관없겠지만...
그리고 노코드 앱 개발의 경우 우후죽순 처럼 많이 생겨나고 있는데 실제 상용 배포하려면 별도의 비용지불이
필요하기 때문에 다양한 앱을 개발하고 운영하는 측면에서 속도는 좀 빠르겠지만 그에 따른 운영비용 지출이
커지지 때문에 개인이 처음부터 접근하는데 부담이 커서 고려 대상에서 제외하였습니다.
3. 개발 플랫폼 선정
저의 미흡한 개발 경험을 토대로 하고 Javascript 기반의 백엔드 서버 개발까지 고려한다면
Javascript로 된 React Native를 선택하게 되었습니다.
앱 개발은 웹 개발과는 다르게 VS Code만으로 개발은 어렵고 Simulator와 핸드폰에서 직접 테스트가
필요함에 따라 개발 환경 셋팅과 앱출시 등 고려할 범위가 커서 다양한 교육프로그램을 활용하여
스터디중에 있습니다.
교육용 프로그램은 Udemy, Nomad Corders, 패스트캠퍼스, 인프런 등 너무 다양한데
직접 수강했던 프로그램 중심으로 다른 포스트에서 추가로 작성하도록 하겠습니다.
올해내 신규 앱 출시를 목표로 하고 있으니 앞으로 어떤 앱을 어떻게 만들게 되었는지도 추가 공유하도록 하겠습니다.