반응형

네이티브 앱 ( Native App )

네이티브 앱이란 Android와 iOS 모바일 기기에 최적화 된 언어로 개발된 '애플리케이션'을 말합니다.

Android는 Java와 Kotlin / iOS는 Objective-C와 Swift로 나뉩니다.

 

네이티브 앱의 장점

- 성능이 모바일웹 앱, 하이브리드 앱에 비해 성능이 가장 좋다.

- 각각의 모바일 운영체제에서 제공하는 툴과 언어 등에 따라서 기능들을 최대한으로 살리기 때문에, 높은 사양의 그래픽, 성능을 자랑하면서 구동 속도까지 빠르다.

- 네이티브 API를 호출하여 사용함으로써 플랫폼과 밀착되어 있다.

- 해당 언어에 익숙한 사용자라면 좀 더 쉽게 접근할 수 있다.

 

네이티브 앱의 단점

- Android와 iOS의 호환이 이루어지지 않기 때문에 각각 플랫폼을 제작해야한다.

- 플랫폼에 한정적이다.

- 해당 플랫폼에서 요구하는 언어에 제약적이며, 해당 언어와 플랫폼의 API를 다루는데 익숙해야 한다.

- 직접 플랫폼을 제작하지 않는 이상 많은 비용이 들며, 의뢰를 맡기면 제작 비용또한 가장 많이 든다.

 

네이티브 앱을 사용해야 할 때

- 3D게임이나 애니메이션을 제작할 때

- 어떤 장치의 특별한 기능을 적용시키고 싶을 때

- 앱 기능이 상당히 많고 복잡한데, 성능이 확실하게 나오는 것을 원할 떄

 

하이브리드 앱 ( Hybrid App )

하이브리드 앱이란 네이티브 앱과 모바일 웹앱의 강점을 합친 앱을 말합니다. ( 네이티브 앱 + 모바일 웹앱 )

일반적으로는 네이티브 웹에 웹 뷰를 띄워서 웹앱을 실행시키는 것이 보편적이며 양쪽의 API를 모두 사용할 수 있습니다.

 

하이브리드 앱의 장점

- 네이티브 API와 브라우저 API를 이용해서 다양한 개발이 가능하다.

- 웹개발 기술을 사용해서 앱을 개발할 수 있다.

- 한번의 개발로 Android와 iOS에 대응 할 수 있다.

- 의뢰를 맡길때 제작 비용에 유리하다.

 

하이브리드 앱의 단점

- 네이티브 기능에 접근하기 위해 네이티브 개발 방법이 결국에는 필요하게 된다. ( 한계가 있다. )

- 웹뷰에서 앱을 실행하기 때문에 앱의 성능이 곧 브라우저의 성능이다.

- UI프레임워크 도구를 사용하지 않는다면 개발자가 UI를 제작해야 한다.

- UX디자인이 네이티브 플랫폼에서 적절하게 실행되도록 하려면 일반적으로 상당한 노력이 필요하기 때문에 의뢰를 할 경우 총 비용이 네이티브급으로 높아질 수 있다.

 

하이브리드 앱을 사용해야 할 때

- 다양한 플랫폼( 모바일이나 웹 )을 통한 사용자층이 넓을 때

- 복잡한 기능이 없을 때

- 시간은 촉박한데, 여러 기기에서 실행되어야 하는 앱을 만들어야 할 때

- 프로젝트 아이디어를 간단하게 MVP모델로 테스트해 보고 싶을 때

 

모바일 웹앱 ( Mobile Web App )

모바일 웹앱이란 모바일웹과 네이티브앱을 결합한 형태로 모바일웹의 특징을 가지면서 네이티브앱의 장점을 갖습니다.

모바일웹보다 조금 더 모바일에 최적화 된 앱을 의미하며, 모바일웹처럼 웹기술로 개발됩니다.

 

모바일 웹앱의 장점

- 웹사이트를 보는 것이기 때문에 설치할 필요가 없으며, 브라우저에서도 접근이 가능하다.

- 별도의 승인과정이 필요하지 않기 떄문에 유지보수가 쉽다.

 

모바일 웹앱의 단점

- 플랫폼 API( 카메라, QR 등 )을 사용할 수 없으며, 오로지 웹브라우저 API만 사용할 수 있다.

- 친화적인 앱을 개발하기 번거롭다.

- 브라우저 내에서 검색을 통해서 들어가야 하기 때문에 네이티브 앱, 하이브리드 앱보다 실행하기가 불편하다

 

모바일 웹앱을 사용해야 할 때

- 모바일 기기 기능이 전혀 필요없을 때

 

크로스 플랫폼 앱 ( Cross Platform Application )

크로스 플랫폼 앱은 하이브리드 앱처럼 한번에 개발로 Android와 iOS 양쪽에 대응이 가능합니다. 대신 네이티브 코드가 아닌 코드로 작성을 한 후 각각의 운영체제가 이해할 수 있는 코드로 변환시켜서 대응을 시켜줍니다.

 

크로스 플랫폼 앱의 장점

- 한번의 개발로 Android와 iOS에 대응 할 수 있다.

- 다양한 배경의 개발자( Back-End, Java 등 )를 끌어 모을 수 있다. 

- 크로스 플랫폼 앱도 한번의 개발로 두가지를 대응할 수 있기 때문에 유지보수가 쉽다.

 

크로스 플랫폼 앱의 단점

- 네이티브가 아닌만큼 퍼포먼스를 100% 끌어올릴 수 없으며, 변환작업이 필요하다.

- 실무에 적용된 것이 그리 길지 않기 때문에 숙련자를 찾는데 어려움이 있을 수 있다.

 

크로스 플랫폼 앱을 사용해야 할 때

- 프로토타입을 빠르게 개발하거나, 개발 기간 자체가 짧을 때

- Android와 iOS 크로스 플랫폼을 지원하는 앱일 때

 

 

결론 : 요즘 앱들은 종류도 다양하고 기능도 다양하기 때문에, 각각에 맞는 방식을 찾아서 개발을 시도하는 것이 좋다고 생각됩니다.

 

반응형

+ Recent posts