(1) 하이브리드 앱 (Hybrid Application)

 

 

feat. 노마드 코더

웹 뷰를 감싸고 있는 웹 사이트. 더욱 간단히 설명하자면 기본적인 웹 제작의 3요소인 HTML, CSS, JavaScript만으로 제작된 사이트를 말한다. 

 

장점은 HTML, CSS, JS만으로도 사이트를 구축할 수 있으며, 이 과정에서 네티이브앱(IOS, Android)의 지식이 없어도 가능하다는 점이다.

단점은 UI를 하나하나 손수 제작해야한다는 점이다.

또한 핸드폰만의 강력한 기능(ex : 하드코어한 비디오 프로세싱) 구현에는 제한이 걸린다.

순수 JavaScript 만으로는 그러한 기능 구현에 애로사항이 있기 때문이다.

때문에 카메라, 위치 기반 서비스, 전화번호 기록 동기화 등 원시적인 기능들을 위주로 서비스가 구현된다.

 

하이브리드 앱 제작과 관련된 기술들은 Apache Cordova, Phonegap 등이 있다. 

이 두가지가 HTML, 즉, 웹뷰를 감싸는 기능을 제공해준다. 

 


 

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

 

 

 

 

 

네티티브 코드가 아닌 언어로 코딩을 한 뒤, IOS / Android가 이해할 수 있는 코드로 변환시켜준다. 

 

예를들어 리액트 네이티브는 우선 리액트 언어로 코딩을 한 뒤, 리액트 네이티브가 자바스크립트 코드로 컴파일 해준다. 

이후 IOS / Android가 이를 각자의 자바스크립트 엔진으로 실행시켜준다. 

 

플루터의 경우, Dart 코드로 쓰고 이를 C, C++로 컴파일 해준다. 

자마린의 경우 C#으로 작성하여 이를 IOS / Android가 이해할 수 있는 IL(Intermeidate Language)로 컴파일 한다.

 

장점은 코드를 하나 작성해서 IOS / Android 두가지 모두에서 활용할 수 있다는 점이다. 

 

단점은 여전히 네이티브로 변환하는 과정이 필요되므로 동일한 퍼포먼스 대비 네이티브 앱에 비해 느릴 수 있다는 점이다. 핸드폰이 해당 변환 과정을 따라가지 못할 수 있다는 문제를 고려해야한다.

 


 

(3) 네이티브 앱 (Native Application)

 

말 그대로 IOS / Android 코드를 별도로 작성한다. 

IOS는 Swift를, Android는 코틀린 혹은 java로 코드를 작성한다. 

 

장점은 핸드폰과 코드 사이에 별도의 변환과정이 요구되는게 아니므로, 폰의 기능을 그대로 활용 가능하다는 점이다.

예를들어 API의 사용 제약이 없다.

 

단점은 IOS / Android 각각의 다른 프로그래밍을 알아야 한다는 점이다. 

(IOS - Swift 언어, Xcode 개발환경 vs Android - Kotlin 혹은 Java언어, Android Studio 개발환경)

 

퍼포먼스 그 자체에 집중하려면 네이티브 앱 개발이 최고의 선택이 될 수 있다. 

(ex : 3D 마스크 앱)

 


 

출처 : www.youtube.com/watch?v=ksz_mSninEY

 

'🌐 IT Knowledge > IT Trivia' 카테고리의 다른 글

SQL vs NoSQL  (0) 2020.05.24
WEB  (0) 2020.04.05