목차
1. 개발에 대해서 잘 모른다면?
2. 개발자라면?
3. 결론
스마트폰을 개발하기 위해서는 우리는 두 가지를 생각합니다. 안드로이드와 아이폰이죠. 이 두 가지를 모두 개발 해야 했던 시절이 있었습니다. 물론 지금도 성능이 중요한 최적화 작업에는 각각의 개발팀을 두고 개발을 하지요. 그러나 그것을 개발하고 또 유지보수 하기 위해서는 많은 자원이 투입되어야 합니다.
개발 경험이 없거나 개발에 대해서 전혀 모르신다면 이 선택은 필수라고 해도 무방합니다. 바로 크로스 플랫폼이죠. 개발에 대해서 전혀 모르시거나 개발에 대해서 잘 알고 또 이제 시작하시려는 분들 모두에게 해당합니다. 어떤 점이 그런지 이제부터 설명해 드리겠습니다.
1. 개발에 대해서 잘 모른다면?
개발에 대해 잘 모르지만, 앱 개발이 필요하다면 많은 부분에 있어 혼란이 있을 수밖에 없습니다. "어떤 개발사를 통해서 개발해야 하는지?", "개발이 완료된 다음에는 어떻게 관리해야 하는지?" 같은 것이죠.
일단 개발사 선택이 중요합니다. 개발사를 선정하는 가장 중요한 부분은 개발 실력과 비용, 개발 기간 그리고 신뢰할만한 사후 관리 정도가 될 것입니다. 이러한 부분에 있어 개발사의 포트폴리오를 참고하거나 본인이 원하는 형태의 자료를 개발사에 요청 하실 수 있습니다. 그리고 포트폴리오에서 개발한 앱을 직접 사용해 보고 판단하시는 것이 좋습니다. 본인이 원하는 스타일의 UI, UX를 제공하는지 또 그러한 기능 구현이 되어 있는지를 확인하세요.
그리고 개발사가 어떠한 플랫폼을 활용해서 개발하는지도 확인하시면 좋습니다. 현재 가장 많이 사용하는 플랫폼은 React라는 플랫폼입니다. 한국은 물론 전 세계적으로도 가장 많은 개발자를 보유하고 있고 또 가장 많은 개발 자료들이 존재합니다.
내가 개발할 것도 아닌데 왜 가장 많이 사용하는 것을 선택해야 하는지 반문 하실 수도 있습니다. 그 이유를 말씀드리면 개발이 성공적으로 마무리 될 수도 있지만 그렇지 못한 경우도 많기 때문입니다. 또 개발이 완료되었다고 하더라도 이것을 유지보수 해줄 업체를 변경해야 할 수도 있습니다. 그러한 경우에는 가장 많이 사용하는 React가 상대적으로 유리합니다. 그리고 비용도 조금 더 저렴 할 수 있겠죠. 특별한 이유로 Flutter나 .NET MAUI를 사용해야 하는 경우가 아니라면 React로 개발할 수 있는 개발사를 추천해 드립니다.
2. 개발자라면?
HTML, CSS, 자바스크립트 같은 웹 기술을 사용해 본 경험이 있다면, React Native를 뒤도 돌아보지 말고 선택하세요. 웹 개발 경험이 있으시다면 빠르게 이 프레임워크에 적응하실 수 있습니다. 코드 재사용도 편리하고 따라서 유지 보수하기에도 유리합니다. 때에 따라서 서버사이드 렌더링을 사용한다면 간단한 업그레이드 작업을 사용자가 별도의 업그레이드 버전을 다운받지 않아도 가능합니다. 그리고 무엇보다 방대한 라이브러리가 축적되어 있어 우리가 필요한 기능을 웹 검색으로 쉽게 다운받아 약간의 수정만 해서 사용이 가능하다는 것입니다. 그리고 가장 많은 개발자를 보유한 만큼 우리가 개발 중 발생하는 문제를 가장 쉽게 찾을 수 있고, 질문에 대한 답변을 받을 확률이 가장 높습니다.
하지만 프로그래밍을 잘 모르는 상태에서 앱을 개발하려면, 무엇보다 배우기 쉽고 결과물이 빠르게 나오는 플랫폼이 유리한데요, 이러한 부분에 적합 한 것은 Flutter입니다. Flutter는 구글이 만든 프레임워크입니다. Dart라는 언어를 사용하기 때문에 새로운 언어를 배워야 한다는 부담이 있지만, 비교적 문법이 간단하고 직관적인 구조라서 빠르게 익힐 수 있습니다.
Flutter의 가장 큰 장점은 결과를 빠르게 확인하고 도출 해낼 수 있다는 것입니다. UI 위주의 앱을 만들고자 할 때 Flutter는 시각적인 요소를 코드로 구성하는 데 장점이 있으며, 개발에 재미를 느끼기에 좋습니다. 또한, 성능적인 부분에서도 유의미한 수준으로 React Native를 앞선다는 것이 큰 장점입니다. Flutter도 많은 커뮤니티와 라이브러리를 확보하고 있지만, React에 견줄 수 있는 수준은 아니라는 것이 단점이고, 개발자 수도 그에 미치지 못하는 것이 사실입니다.
마지막으로 C# 개발자이거나 .NET환경에서 개발해야 하시는 분이라면 .NET MAUI를 사용할 수있습니다 .NET MAUI는 Microsoft가 만든 크로스 플랫폼 프레임워크입니다. 안드로이드, iOS는 물론 데스크톱 환경(Windows, macOS)까지 동시에 개발 가능하다는 것이 최대 장점입니다.
.NET MAUI는 복잡한 비즈니스 로직이나 기업용 시스템과의 연동에 적합하며, 성능도 안정적입니다. 하지만 역사가 짧은 만큼 기능적인 한계가 존재하고 라이브러리나 커뮤니티의 도움을 받기가 쉽지 않습니다. 그만큼 사용자가 적기 때문인데요, 이러한 부분은 단기간에 해결될 문제가 아니므로 신중한 선택이 필요합니다. 내가 .NET 개발은 자신 있다고 생각하신다면 괜찮은 선택이 될 수 있습니다.
3. 결론
React Native, Flutter, .NET MAUI 외에도 Svelte 등 다양한 개발 플랫폼이 존재합니다. 중요한 것은 개발 핵심 요소가 어떤 것인지를 먼저 생각해야 한다는 것입니다. 개발에 있어 필수적이라서 변경 불가한 부분을 기준으로 어떠한 것이 이 프로젝트에 잘 어울리는 것인지 생각해보시면 답을 찾는 데 도움이 되리라 생각합니다. 일반적으로 React를 가장 많이 사용하고 개발 자료 및 커뮤니티가 가장 활성화되어 있어 React를 추천해 드리지만, 내가 사용하고 싶어도 그럴 수 없는 경우도 많으니까요.
어떤 상황에서도 항상 새로운 도전을 받아들이고 발전하는 여러분들이 되시길 빕니다.