[앱] 제작 방식 종류 - 네이티브, 웹 앱, 하이브리드, 크로스 플랫폼

0
post-thumbnail

내가 새로 맡게된 프로젝트는 .. 앱이다..
스펙을 무엇으로 가져갈지 고민을 되게 많이했다.
오늘은 알아본 내용에 대해 정리해보려고 한다.
이 내용은 회사 내 기획자, 디자이너, 대표를 모시고 세미나를 진행했다!

스펙 고민

1. 네이티브 앱

*요약 : 성능이 가장 좋지만 러닝커브가 높다.

iOS:Swift / Objective c
Android :Java / Kotlin

언어를 위와같이 새로 배워야했기에 스타트업에서 mvp를 빠르게 만드는데 적합하지 않다고 판단했다! 그리고 나 혼자 만들어야돼서 불가능,,은 아니지만 당장 만드는 앱에 많은 기능이 필요하지 않기도 해서 패스!
하지만 나중에 서비스 커지고 살 붙고 자금적 여유가 생기면 바로 네이티브로 전환할 예정이다!

2. 웹 앱

*요약: 기기 자체 기능(카메라, 생체 인증 등) 구현이 어렵지만 가장 간편함
웹 앱은 말 그대로 웹 앱이다,, 반응형 웹을 앱처럼 쓰는것! 여기서 또 모바일 웹 앱, 그냥 웹 앱으로 나눌 수 있는데 UI/UX측면에서 조금 더 앱처럼 만들것을 모바일 웹 앱이라고 한다! 다운로드 없이 어디서든 다운없이 볼 수 있다는 것이 가장 큰 장점이고, 요즘 유행인 PWA로 쓸 수 도 있다. 웹의 장점을 살린 대신 브라우저 의존성이 높은것과, 기기에 접근해야하는 기능을 써야할때 기능을 다 쓰지 못할 수 있다는 점이 있다! 대신 모든 기기에서 거의 같은 화면을 볼 수 있음.. 우리가 지정해준 브라우저로 보여지기 때문에! (내가 민감한 부분이라 큰 메리트로 느껴짐)

3. 하이브리드 웹 앱

*요약: 네이티브 언어 + 웹 뷰
웹과 앱이 합쳐진 것이다! 이 하이브리드 웹 앱을 나눠놓은 기준이 말하는 사람마다 다르던데, 내가 정리한 바로는 '네이티브'언어에 웹 뷰를 혼합한 방식이다. 요즘 거의 모든 앱이 웹 뷰를 필수적으로 가져가고 있다. 조금 더 유저에게 매끄럽고 부드러운 사용성을 제공해줄 수 있고, 유지보수에 조금 더 편리하고, 운영체제마다 업데이트를 해주지 않아도 되며 (일부), 브라우저를 박아놓는 것이기 때문에 사용자가 보는 화면이 거의 동일해진다! 가장 이상적인 방식이라 생각하는데, 도대체 어느 정도의 비중으로 가져가는게 좋을까?에 대한 의문점이 있다.

4. 크로스 플랫폼

요약: 한 가지 언어로 두 가지 운영체제에 적용할 수 있는 간이 방식

사실 크로스 플랫폼은 앱 제작 방식의 한 종류라고 볼 순 없겠지만, 같이 비교해보면 좋을 것 같아서 4번으로 넣었다.

크로스 플랫폼(영어: cross-platform) 또는 멀티 플랫폼(영어: multi-platform)은 컴퓨터 프로그램, 운영 체제, 컴퓨터 언어, 프로그래밍 언어, 컴퓨터 소프트웨어 등이 여러 종류의 컴퓨터 플랫폼에서 동작할 수 있다는 것을 뜻하는 용어이다.

즉, 네이티브가 아닌 코드를 이용해 IOS, Android가 각각 이해할 수 있는 코드로 변환된다!
React Native, Flutter가 이에 해당한다!
리액트 네이티브는 자바스크립ㅌ, 리액트에 능한 개발자가 다루기 쉽다는 장점이 있고, 플러터는 다트라는 언어를 새로 배워야하지만 여러 UI Component가 잘 만들어져 있다는 장점이 있다.
하지만 이들로 제작했을때 성능적인 퍼포먼스가 떨어지기도 하고, 운영체제가 업데이트 되었을 때 유지보수가 굉 장 히 힘들다는 단점이 있다. 빠르게 개발하고 싶을때 사용했다가, 나중엔 거의 네이티브로 전향하는 방향으로 가는 것 같다!!

시간이 촉박하고 MVP를 빠르게 출시해야하는 상황 속에서 나는 원래 프론트 개발자였고 자바스크립트, 리액트로 작업을 했었기에 리액트 네이티브와 부분적인 웹 뷰를 가져가려고 한다! 이후에 여건이 되면 빠르게 네이티브로 전향하려고 한다.

수정, 질문 언제든 환영입니당!!

profile
𝙸 𝚊𝚖 𝚊 𝗙𝗘 𝚍𝚎𝚟𝚎𝚕𝚘𝚙𝚎𝚛 𝚠𝚑𝚘 𝚕𝚘𝚟𝚎𝚜 𝗼𝘁𝘁𝗲𝗿. 🦦💛

0개의 댓글