본문 바로가기

App

[앱] 하이브리드 vs 크로스플랫폼

항목

하이브리드

크로스플랫폼

정의

    • 이종교배
    • 웹기술로 만드는것
    • 플랫폼을 겹치다
    • 이상 플랫폼에서 돌아가는 만드는것

차이

웹뷰(브라우저) 위에서 자바스크립트로 동작

네이티브 코드로 변환되어 동작

 

▣ 리액트

웹 사이트 개발을 할 때 가장 많이 쓰이는 라이브러리

Angular.js 같은 프레임워크가 아니 라이브러리이기 때문에 필요에 따라 붙이고 땔 수 있습니다.

이 말은 웹을 만드는데 꼭 필요한 도구를 제공해주지 않는다는 것입니다.

그 대신 React의 규칙(컴포넌트, JSX)을 제공해 줍니다. 이 규칙들을 통해 개발자는 React 이전의 대세인 Jquery보다 더 효율적이고 가볍게 웹을 제작할 수 있게 되었습니다.

 

▣ 리액트 네이티브

React의 규칙을 이용 -> 모바일 어플리케이션 개발

페이스북 오픈소스 프레임워크

 

앱 개발은 Android(Java) vs iOS(Swift, Objective C) 사용

 

안드로이드, iOS 개발을 따로 하는 경우 -> Native 개발

 

빠르게 앱을 만들어 시장 반응을 보려 하는 스타트업과 같은 곳에서는 두가지를 동시에 개발하기에는 인력과 시간 소모가 크다.

 

이에 안드로이드, iOS 어플리케이션을 동시에 개발할 수 있는 하이브리드 앱이 나오게 되었습니다(대표적인 예로 Ionic). 그러나 하이브리드 앱의 경우 웹뷰를 네이티브에 씌우는 형태이기 때문에 속도가 느리고 큰 규모의 프로젝트에 적합하지 않습니다.

 

자바스크립트 주요 개념(ES6 기준)과 리액트 사용법만 알고 있다면, 안드로이드 iOS 양쪽 모두 앱 개발을 진행할 수 있다.

 

리액트 네이티브는 "모바일 웹 앱", "HTML 5앱", "하이브리드 앱"이 아닌 네이티브 앱을 만드는 것입니다.

 

네이티브 앱 제작이 가능한 이유는 리액트 네이티브에서 "Bridge"라는 개념이 존재하기 때문입니다.

 

Bridge는 iOS, Android 네이티브 코드에 접근할 수 있는 일종의 다리 역할을 수행하여, 네이티브 앱을 만들 수 있는 것입니다.

 

Javasript로 코딩한 React의 컴포넌트는 React Native 플랫폼을 거쳐 iOS, 안드로이드 Native 코드로 각각 변환됩니다.

이 말은 우리는 각각의 OS에 맞춰 앱을 만들지 않아도 되고, Javasript 하나만으로 앱 제작이 가능하다는 것입니다.

 

Windows에서 react-native로 앱을 개발하는 방법은

Expo CLI vs React Native CLI

 

Expo CLI는 

react-native로 앱을 개발할 때 자주 사용되는 네이티브 기능(위치 정보, 카메라 등)을 패키지로 묶어서 제공한다.

처음 시작은 Expo로 시작하면 편할 수 있지만, 사용하지 않은 네이티브 모듈로 인해 앱 파일 사이즈가 커지는 문제와 Expo에서 제공하지 않은 네이티브 모듈을 추가할 때, 불편함 등이 있다.

 

react-native로 앱을 개발하기 위해서는 

Node.js, Python, Android Studio등을 설치해야 합니다.

 

▣ Node.js

- 정의: 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다.

- 언어: 자바스크립트

- 자바스크립트로 서버단을 관리하다.

- 무료 오픈 소스 서버 환경

- 다양한 플랫폼(Windows, Linux, Unix, Mac OS X 등)에서 실행

- 서버에서 JavaScript를 사용

 

▣ Chocolatey 설치

- 윈도우에서 필요한 패키지를 설치하고 관리하는 윈도우용 패키지 관리자

- 사이트: https://chocolatey.org/

 

Chocolatey - The package manager for Windows

Chocolatey is software management automation for Windows that wraps installers, executables, zips, and scripts into compiled packages. Chocolatey integrates w/SCCM, Puppet, Chef, etc. Chocolatey is trusted by businesses to manage software deployments.

chocolatey.org

* PowerShell 이 시스템에서 스크립트를 실행할 수 없으므로 파일을 로드할 수 없습니다.

PS C:\> Set-ExecutionPolicy RemoteSigned

 

잘 바뀌었네요. 바뀐 권한을 보면 RemoteSigned로 변경되어있습니다.


PS C:\> Get-ExecutionPolicy
RemoteSigned

'App' 카테고리의 다른 글

[앱] 앱 개발  (0) 2020.06.05
[앱] React-Native Hello World  (0) 2020.05.19