앱 개발 관련 개발방식에 대해 궁금합니다

2020. 12. 23. 02:52

앱 개발을 하기위해 기획을 하고 있는 사람입니다!

기획하면서 추후 유지보수나 개발 의뢰를 맞길 때 조금이나마 도움이 되기위해 공부하려고 하는데요

1.네이티브 하이브리드 차이점과

2. React 와 flutter 와 Vue 차이점

3. 이중에서 어느면을 먼저 공부하고 쉽게 접근할 수 있을지

위 3가지 내용이 궁금합니다!

공유하고 돈벌기 ♥︎

총 5개의 답변이 있습니다.

질문자 채택 답변

1.네이티브 하이브리드 차이점과

>> 네이티브는 말 그대로 네이티브한 개발입니다.

무슨소리인가 하면 안드로이드는 Go , 고틀린, JAVA 등으로 이루어진 안드로이드 기반 개발언어로 만들어진 안드로이드 전용 어플을 얘기하며 IOS 는 스위프트 등 마찬가지로 IOS 환경 전용으로 만들어진 언어를 이용하여 만들어진 IOS 전용 어플을 말합니다.

각자 고유한 플랫폼에 맞추어서 준비된 프레임워크나 개발언어로 개발하기 때문에 다른 플랫폼과 연동이 거의 불가합니다.

예를들어 안드로이드 어플을 만들었다면 이 소스를 활용하여 IOS 용 어플을 만드는건 거의 불가합니다 그냥 처음부터 다시 만드는거랑 별 차이가 없어요.

대신에 네이티브 개발은 해당 플랫폼에 전용 언어로 개발하였기 때문에 성능상 최적화가 쉽고, 해당 플랫폼의 기능을 완벽하게, 편하게 가져다가 쓸수 있습니다.

예를들면 IOS 전용 네이티브 앱은 카메라, 위치 , 핸드폰 내부 저장소 등을 권한만 받으면 얼마든지 자유롭게 꺼내다 쓸 수 있지만

하이브리드로 제작한 경우 이러한 접근이 불가하거나, 사용자가 별도의 조치를 취해줘야 한다던가 등등...기능상 제약이 생기거나 불편함이 생길 여지가 있습니다.

반대로 하이브리드의 경우 하나의 언어로 개발하여 (flutter 등) 자동적으로 IOS / 안드로이드 모두 사용이 가능하도록 개발해주는것입니다.

한번만 개발하여도 자동으로 두 플랫폼에서 모두 사용이 가능하기 때문에 개발 기간 단축, 개발자를 플랫폼별로 뽑을 필요가 없는 등 장점이 존재합니다.

더 자세한건 사실 이 페이지에 제가 설명드리는 것보다 구글에 하이브리드 앱 vs 네이티브 앱 검색해보시면 잘 정리된 자료 많습니다.

2. React 와 flutter 와 Vue 차이점

flutter 는 하이브리드 앱을 만들때 사용하는 프레임워크라고 보시면 되고.

리엑트와 뷰는 프론트 프레임워크로써 서로 용도가 다릅니다.

네이티브 앱을 만드시는 경우 리엑트 , 뷰는 사용되지 않습니다.

3. 이중에서 어느면을 먼저 공부하고 쉽게 접근할 수 있을지

기본적으로 하이브리드와 네이티브의 차이를 공부하시는게 좋고.

웹앱 형식에 껍질만 네이티브고 안쪽은 그냥 웹뷰 띄워주는 형식과의 차이점 등도 세밀하게 공부하시는게 좋습니다.

이게 겉으로 보기엔 다 그놈이 그놈같지만 실제 개발에 필요한 인력이나 기획이 굉장히 차이납니다.

그 후에 리엑트 , 뷰 , 앵귤러 등 프론트 프레임워크에 대하여 간단한 차이점 등 인지하시면 좋을것 같습니다.

https://html6.tistory.com/207 등 마찬가지로 구글에 검색하시면 많이 나옵니다.

2020. 12. 23. 06:06
5
슈퍼텍스앤컴퍼니 CTO

안녕하세요. 현재 웹,앱,서버,디비 풀스택으로 개발활동을 하고 있는 개발자입니다.

바로 답변드리겠습니다.

1. 네이티브와 하이브리드의 차이점

=> 네이티브는 말그대로 가장 앱 느낌이 나도록 순정앱으로 제작되는 방식입니다. 앱 내에서 보여지는 화면들은

모두 네이티브의 위젯 방식으로 동작하고 앱 프로그램 파일안에 이미 선언되어있기 때문에 화면 전환속도가 빠릅니다.

단점은 iOS, 안드로이드 개별 개발해야한다는 점입니다.

하이브리드는 전체웹뷰 또는 부분웹뷰를 이용하여 html 방식의 화면을 앱 화면위에 띄우는 겁니다. html 소스를 받아와서

캔버스에 draw 한뒤에 앱위에 보여지기 때문에 속도가 살짝 느리거나 화면에 그려질때 약간의 랙이 발생하기도 합니다.

요즘은 인터넷속도나 스마트폰의 속도가 빨라 점점 차이가 줄어들고 있습니다.

2. 리액트와 플러터

=> 리액트는 페이스북, 플러터는 구글에서 만든 크로스 플랫폼입니다. 쉽게 말해 하나의 프로그램을 코딩한 뒤

iOS 버젼과 안드로이드 버젼으로 각각 빌드를 할 수 있어 한번의 프로그래밍만 하면 된다는 장점이 있습니다.

리액트는 오픈소스기반으로 자유도가 높으나 보안성이나 전문적인 지원이 다소 떨어집니다.

플러터는 구글에서 자체관리하기 때문에 자유도가 떨어지고 커뮤니티에 제한이 있으나 전문적인 지원이 계속해서 이루어집니다.

3. 추천

=> 복잡한 디바이스의 기술(블루투스, 카메라, NFC 등)을 사용하지 않고 화면 위주(쇼핑몰, 커뮤니티, 게시판형태)의 앱이라면

크로스플랫폼을 채용하는것을 추천드립니다. 화면을 그리고 연동하는것은 정말 편하고 빠르게 작업가능합니다.

둘 중 하나를 고르라면, 미래 전망은 플러터를 추천드립니다. 구글에서 계속해서 많은 업데이트와 지원을 해주고 있고

리액트보다 좀 더 네이티브앱의 느낌을 살려서 제작이 가능합니다.

단점은 플러터자체가 구글기반의 플랫폼이다보니 기본 디폴트 위젯세팅이 너무 구글라이징 되어있기는 합니다.

쿠퍼티노 라이브러리도 있지만, iOS 전용앱을 만드신다면, 약간 손이 갈 수 있습니다.

2020. 12. 25. 02:14
5

1.네이티브 하이브리드 차이점과

- 네이티브의 경우 빠른 속도를 장점으로 하고 있습니다.

하지만 안드로이드 iOS 각각 따로 개발해야하는 부분이 단점으로 뽑힙니다.

하이브리드의 경우 상대적으로 느린것이 단점이나 한가지로 안드로이드 iOS 둘다 만들 수 있는 장점이 있습니다.

2. React 와 flutter 와 Vue 차이점

- React Native와 Flutter의 가장 큰 차이점은 사용하는 언어가 다른 것이 아닐까 합니다.

React Native가 상대적으로 조금 느리다고는 하지만 추후 업데이트에서 속도개선이 이루어진다고 합니다.

Vue는 비교대상이 아닌것 같습니다.

3. 이중에서 어느면을 먼저 공부하고 쉽게 접근할 수 있을지

- 쉽게 접근하는 것은 React Native나 Flutter 일것 같습니다.

2020. 12. 23. 12:10
4
프리랜서 개발자

안녕하세요.

어플을 개발 하는 방식은 크게 4가지 방식으로 나눌수 있습니다.

[1] 네이브티앱

[2] 모바일 웹앱

[3] 하이브리드앱

[4] 크로스 플랫폼

1. 네이티브 앱

네이티브 앱은 말 그대로 안드로이드, IOS 의 내부 코드를 그대로 개발 하는 방식입니다.

직접 내부 코드로 짜기 때문에 가장 최적의 성능을 내지만 아무래도 학습하는 시간과 생산성 면에서 떨어집니다.(안드로이드 IOS 2개다 개발)

2. 모바일 웹앱

웹사이트 모바일 화면에 맞게 구성하여 보여주는 방식입니다.

웹사이트만 개발 할 줄 알면 만들 수 있으나 단점은 새로고침이라든지 기존의 웹사이트와 동일하기 때문에 고객들이 쉽게 알 수 있습니다.

3. 하이브리드 앱

웹사이트의 코드를 웹을 띄우는 방식이 아닌 코드 자체를 앱내에 탑재하여 조금더 빠르게 반응 시킨 앱입니다.

4. 크로스 플랫폼

하나의 코드로 안드로이드, IOS 의 내부 코드(네이티브)를 호출하여 구동하는 개발 방식입니다.

대표적으로 플러터, 리엑트 네이티브가 있습니다^^

그리고 React , Vue -> 웹 프론트 개발 방식의 한 종류 입니다~

2020. 12. 23. 23:58
4
대구대 멀티미디어공학

1. 네이티브와 하이브리드의 차이점

안드로이드가 2010년, iOS가 2007년에 나왔을 때 폰 내 앱을 개발하는 방식이 등장했고 그 방식을 네이티브 라고 부릅니다.

그래서 처음에는 안드로이드 앱, iOS 앱을 별도로 개발해야 했습니다.

그런데 안드로이드의 WebView, iOS의 UIWebView 또는 WKWebView 란 위젯에

웹의 결과물을 loadUrl 할 수 있는 기능이 있습니다.

그래서 웹의 결과물 1개만 만들어서 안드로이드, iOS 각 WebView에 표시한 후, 앱 자체 기능인 카메라, GPS, 블루투스, NFC, 파일저장 등의 기능만 네이티브 기술로 개발하자는 취지로 하이브리드 앱이란 개념이 생겼습니다.

즉 웹이 결과물 1개만 개발해도 안드로이드, iOS 앱을 개발할 수 있게 된 것입니다.

그래서 하이브리드 앱이란 개념이 생긴 후 이 개발방식 이전의 원조 방식이란 의미로 [원주민의, 원어민의] 라는 뜻인 Native 란 용어를 만들어서 네이티브와 하이브리드를 구분하기로 약속했습니다.

그리고 하이브리드 앱 개발을 위해 사용하는 기술은 폰갭, 센차터치, 코르도바, 자마린, 아이오닉, React native, 플러터 등이 있습니다.

2. React, Fluter, vue의 차이점

웹을 개발할 때 Single Page Application 을 지향하는 프레임워크 또는 라이브러리 중 대표적인 3가지가 React.js, Angular.js, Vue.js 가 있습니다. 이 프레임워크, 라이브러리 웹 결과물의 프론트엔드 영역을 개발할 수 있습니다.

그리고 React Native, Fluter는 하이브리드 앱을 개발할 수 있는 기술 중 하나입니다.

(폰갭, 센차터치, 코르도바, 자마린, 아이오닉, React native, 플러터)

3. 이중에서 어느면을 먼저 공부하고 쉽게 접근할 수 있을지

저는 React Native 를 공부하실 것을 추천드립니다. 현재 Fluter 가 뜨고 있기는 하지만, 현재 가장 많은 자료를 가지고 있기 때문입니다.

2020. 12. 23. 06:56
3