안녕하세요🙏 개발자 재민콩입니다.
이번글에서는 Flutter 앱 개발했던 내용을 포스팅하려고 합니다.
저희 회사에서 앱 개발자 분들은 Flutter를 사용하고 있지만 저는 Web 개발을 담당하고 있기 때문에 처음 들어보고 접했습니다.
일단 Flutter가 뭔지 Flutter에서 사용하는 dart가 뭔지 병아리 같은 저 이기에 먼저 Flutter가 뭔지부터 알아보고자 했습니다.
Flutter란 구글에서 출시한 오픈소스 프레임워크로 Android, IOS는 물론 Windows, MaxOS 등 다수의 플랫폼에 대한 애플리케이션을 모두 구현이 가능한 프레임워크입니다. 이 내용만 들었을 땐 오!?🤔 그럼 Flutter의 단일코드로 Android, IOS 개발이 가능하면 Native언어의 입지가 줄어들고 있지 않을까 생각이 들었습니다. 그래서 각각 장단점을 알아봤습니다.
장점
1. 개발 비용 절감
당연한 이야기겠지만, Flutter은 크로스 플랫폼이기 때문에 동시에 Android, IOS 개발이 가능하여 개발비용을 줄일 수 있습니다.
2. Hot Reload
APP개발을 한지 오래되었고, Web에서 Front 개발을 진행할 때 당연시 사용하던 기능이라 몰랐지만, APP은 보통 코드를 수정하고 변경사항을 적용하기 위해 comfile을 통해 변경된 UI를 확인하지만, Flutter의 dart는 comfile을 거치지 않고 빠르게 확인이 가능합니다.
단점
1. 복잡한 기능 구현이 어렵다
Native 대비 복잡한 기능 구현이 어렵고, 성능이 조금 떨어진다는 점이 있습니다. 하지만 저희 회사에서 복잡한 기능들을 사용할 일이 없기 때문에.. 큰 단점이라고 보긴 어려울 것 같습니다.
2. 레퍼런스 부족
점점 확장되고 있는 추세이긴 하나 2017년 5월에 처음 출시된 프레임워크이기 때문에 레퍼런스가 조금 부족한 부분이 있고, 같은 이유로 플러그인이 적습니다.
개발 비용 절감이라는 가장 큰 이유가 Flutter를 선택하는 이유가 될 것 같습니다. 이제 Flutter 병아리인 저에게 친절하게 알려줄 선생님이 필요했습니다. youtube를 찾아보던 중 코딩셰프님 강의를 보게 됐습니다. 차근차근 이해하기 쉽게 설명해주셔서 수월하게 진행됐던 것 같습니다. 개발환경은 기본적으로 Android Studio를 사용하나 저는 Visual Studio Code가 익숙하기 때문에 후자를 사용했습니다.
어느 정도 개념을 익히고, 디자인을 해보려고 했으나..😩 UI/UX 디자인이 정말 힘들더라고욥.. 사실 좀 대충.. 했던 것 같습니다.
대학생 때 Java를 사용하여 Android 개발을 진행했던 적이 있는데 느낌은 많이 달랐습니다. 하지만 새로운 걸 배울 땐 항상 즐거운 것 같습니다 😁 디자인 패턴은 MVC패턴을 사용하여 개발을 진행했습니다. 로그인은 Firebase를 활용하여 로그인, 회원가입, 소셜로그인을 구현하고 검색은 기존에 만들어둔 음식점 API를 사용 거기에 테스트로 admob 광고를 붙여서 간단하게 앱을 만들었습니다.
여기까지 개발을 완료했을 때, 고생을 하던 저희 앱개발파트에 인원이 충원되었습니다 🎊 정말 좋은 소식과 함께 이 정도면 일단 만들어진 소스를 보는 데엔 큰 어려움은 없겠다 싶었고, 혹시 Flutter보다 좀 더 개발 비용을 줄일 수 있는 방법이 있을까? 생각을 해보았습니다.
그러다 찾은 게 바로 PWA(Progressive Web Applications)입니다. 기존에 제가 개발하고 있는 반응형 웹을 앱으로 빌드하여 배포가 가능한 것을 보았습니다!! 당연히 평소 사용하는 언어인 Web 기반 언어, 프레임워크 들(HTML, CSS, Vue 등)을 사용하여 개발하기 때문에 새롭게 배울 언어는 없었습니다. 그래서 회사에서 가벼운 프로젝트는 PWA로 진행해도 좋을 것 같다는 생각이 들어 Front를 다시 개발하여 프로젝트를 진행하기로 마음을 먹었습니다!
다음은 PWA 개발로 찾아뵙겠습니다 👊
* 추후 앱개발자 지인과 술자리에서 Native, React Native, Flutter, PWA 등 지인 회사에선 어떤 것을 주력으로 사용하는지 혹은 어떤 것을 추천하는지 물어봤는데, 자기 회사에서는 프로젝트 규모에 따라 선택해서 개발을 진행한다고 합니다. 어느 하나를 추천하기보다 프로젝트의 규모를 확인하여 선택하여 개발하는 것이 좋다고 합니다. 개발자들은 보통 한 가지 언어로 개발을 시작하지만 한 가지 언어를 깊게 배우면 다른 언어를 배울 때에 습득력이 빠르기 때문에 여러 가지 언어를 배워 적시적소에 사용할 수 있는 만능 개발자가 되길 기원합니다!
Reference
'Project > 오늘은 무엇을 먹을까?' 카테고리의 다른 글
[오늘은 무엇을 먹을까?] 오무먹 커뮤니티 추가 (3) | 2023.02.06 |
---|---|
[오늘은 무엇을 먹을까?] Server 세팅 (12) | 2023.01.06 |
[오늘은 무엇을 먹을까?] PWA 개발 (12) | 2023.01.05 |
[오늘은 무엇을 먹을까?] 음식점 추천 API 개발 (4) | 2023.01.03 |
[오늘은 무엇을 먹을까?] 프로젝트 기획 (2) | 2023.01.02 |