스마트 디바이스 애플리케이션 개발 하는 법, 개발 구조 React Native App,

DongJoo Kwak·2022년 6월 2일
0

📌 스마트 디바이스 애플리케이션 제작 방법

🌳Native App을 SDK를 이용해서 직접 개발

=>Android: Android Studio 를 설치해서 Java 나 Kotlin 언어를 이용해서 Application 개발
C++ 는 사용이 가능(NDK 설치)
Google 은 더 이상 Java 의 형태로 API를 제공하지 않겠다고 선언

Kotlin 은 JVM 기반의 언어입니다.
Kotlin 코드는 Java 의 Class 로 번역이 되서 실행됩니다.

Kotlin 이 가독성이 뛰어나고 함수형 프로그래밍 문법을 지원하기 때문에 최근의 기업들은 Kotlin으로 만드는 것을 권장

=>iOS(이제는 Mac 용 도 동일한 방법으로 생성) - Xcode를 설치해서 Objective-C(C++ 문법을 지원) 나 Swift 언어를 이용해서 Application 개발

🌱 장점

최신의 API(모든 센서 포함)를 전부 사용하는 것이 가능
빌드 속도가 빠름

🌱 단점

동일한 Application 을 서로 다른 운영체제에서 개발을 할 때 Learning Curve 가 길 가능성이 높습니다.(최근에는 Kotlin 이나 Swift를 사용하는데 2개 언어의 문법은 Python 과 거의 유사)

모바일 웹 앱을 만드는 것 보다 업데이트 속도가 느릴 수 있음 - 업데이트를 할 때 소스 코드를 수정하거나 Resource를 수정하게 되면 앱을 다시 빌드해서 마켓에서 승인을 받아야 하기 때문입니다.

🌳 모바일 웹 애플리케이션을 개발

=>모바일 웹 애플리케이션을 만들고 스마트 디바이스의 브라우저에서 접속을 하거나 스마트 디바이스의 WebView를 이용해서 접속해서 웹 애플리케이션을 사용하는 방식
=>여기서 등장한 개념 중의 하나가 Progressive Web(UI를 사용자가 사용하기 쉽도록 많이 사용하는 디바이스 기준에 맞추는 것 - 스마트 폰) 의 개념

🌱장점

대부분의 개발자가 알고 있는 웹 애플리케이션 개발을 수행하는 거라서 Learning Curve 가 짧다.
업데이트를 했을 때 반영이 빠름

🌱단점

스마트 폰 API(센서의 경우는 회전 과 터치 정도만 사용 가능, Web Socket 도 사용 불가능)의 대부분을 사용하기가 어렵습니다.
현재는 Apple 과 Google 모두 WebView 로만 구성된 애플리케이션은 마켓에서 reject 됩니다.

🌳 스마트 디바이스 회사가 아닌 곳에서 제공하는 프레임워크 이용

=>react-native, ionic: 웹 기술을 이용해서 애플리케이션을 제작하는 방식으로 프레임워크가 Native App 의 코드로 변경을 하는 방식

=>cordova: 웹 기술을 이용해서 애플리케이션을 제작하는 방식인데 프레임워크가 WebView를 만들어서 그 위에 HTML 페이지를 출력하는 방식

=>xamarin, flutter: xamarin의 경우는 MS에서 제작한 프레임워크로 C#을 이용해서 애플리케이션을 제작하고 flutter는 google이 제작한 프레임워크로 Dart 언어를 이용해서 애플리케이션을 제작

=>unity 3D, unreal: 3차원 게임 엔진을 가진 프레임워크, Unity는 C#을 기반으로 하고 unreal은 C++를 기반으로 합니다. 게임이나 아바타 등을 이용하는 애플리케이션 제작에 많이 이용

🌱 장점

iOS 와 Android 앱을 동시에 개발하는 것이 가능
스마트 디바이스의 API도 어느 정도 사용이 가능

🌱단점

프레임워크 자체의 업데이트 주기가 짧음
최신의 API를 사용하지 못하는 경우도 있음
스마트 디바이스 제조회사에서 reject을 시키는 경우가 있음
모든 API를 사용할 수 없기 때문에 Native Application 의 API 사용법을 어느 정도는 숙지를 해야 합니다.

profile
즐거운 개발 공간

0개의 댓글