앱 개발 방법에 대하여 알아봅시다!

TECH!T APP SCHOOL·2023년 8월 24일
1
post-thumbnail

1. 앱 개발 방법?

앱 개발 방법에는 웹앱, 하이브리드 앱, 크로스 플랫폼 앱, 네이티브 앱이 있습니다. 웹앱은 HTML, CSS, 자바스크립트와 같은 웹 기술로 개발되며, 모바일 웹 브라우저에서 실행됩니다.
하이브리드 앱은 네이티브 앱과 웹앱의 중간 형태로 개발되며, HTML, CSS, 자바스크립트와 같은 웹 기술을 사용하지만, 네이티브 앱처럼 특정 플랫폼에 최적화되어 있습니다.
크로스 플랫폼 앱은 여러 플랫폼에서 사용 가능한 앱이며, React Native, Flutter 등의 프레임워크를 이용하여 개발됩니다.
네이티브 앱은 iOS, 안드로이드 등의 플랫폼을 위해 개별적으로 개발되는 앱이며, Swift, Java, Kotlin 등의 플랫폼별 언어를 사용합니다. 각 앱 개발 방법에는 장단점이 있으므로, 개발 목적, 예산, 기술적 요건 등을 고려하여 적절한 방법을 선택해야 합니다.


2. 웹 앱(모바일 앱의 모습을 한 웹 사이트)

1) 웹 앱 동작 방식

웹 앱은 HTML, CSS, 자바스크립트와 같은 웹 기술을 사용하여 개발된 앱 입니다. 웹앱은 모바일 웹 브라우저에서 실행되며, 모바일 기기의 하드웨어와 소프트웨어를 직접 접근할 수 없습니다.
페이지 로딩시 웹과는 다르게 SPA로딩바식을 통해 화면 일부분 변경시, 변경부분만 데이터를 변경함으로서 기존 웹 변경방식에 비해 속도가 빠른 편입니다.

2) 회사 예시

3) 기술 스택(무신사)





3. 하이브리드 앱(네이티브웹 + 웹 앱)

1) 하이브리드 앱 동작 방식

앱의 화면이나 기능 등 콘텐츠 영역은 웹 뷰를 통해 웹앱으로 제작하며, 최종 앱 배포에 필요한 앱 마켓 등록과 설치를 위한 패키징(안드로이드/iOS) 처리는 네이티브 앱으로 구현한 방식입니다.

2) 회사 예시(무신사)

3) 기술스택




4. 크로스 플랫폼 앱(Flutter & RN & Xamarin)

1) 크로스 플랫폼 앱 동작 방식

크로스 플랫폼 앱 동작 방식크로스 플랫폼 앱은 한 가지의 개발 언어와 프레임워크로 안드로이드, iOS 네이티브 앱을 만드는 개발 방식입니다.
네이티브 코드가 아닌 다른 개발 언어로 코드를 작성 후 각각의 OS가 이해할 수 있는 코드로 컴파일 한 후, 각각의 OS의 엔진으로 실행하는 방식입니다.

2) 회사 예시(중고나라)

3) 기술스택



5. 네이티브 앱

1) 네이티브 앱 동작 방식

네이티브는 가장 보편적인 앱 개발 방식으로 안드로이드와 iOS 각각의 플랫폼에서 요구하는 언어로 앱을 제작합니다.
iOS는 주로 Swift와 Objective-C로 만들어지며 안드로이드는 Java나 Kotlin으로 개발되죠. 네이티브는 주로 게임, 지도, 차트를 사용하는 증권사 앱 및 대량의 이미지를 로딩하는 카메라 앱 등에 사용됩니다.

2) 회사 예시(카카오)

3) 기술스택



6. 왜 Native앱 개발을 배워야할까요?

스타트업의 경우 초반에는 Flutter, 웹앱 등으로 개발을 하더라도 서비스가 고도화가 이루어질수록 네이티브로 변경할 수 있습니다.

적은 앱 개발시간 및 비용, 유지보수 용이

  • 스타트업의 경우 빠르게 서비스를 출시 시장성 검증이 필요해, MVP모델의 앱 개발을 통한 짧은 개발시간과 적은 비용이 매우 중요하며, 지속적인 사용자들의 피드백에 따라 기능을 변경하고 추가하는 개발 및 유지보수가 용이해야합니다.

사용자 대응과 안정성, 성능을 갖춘 네이티브 앱

  • 시장성이 검증되고 서비스가 궤도에 올라가게 되는 경우 사용자 대응과 안정성, 성능들을 이유로 네이티브 앱으로 전환하는 기업들이 많으며, 대게 많은 이용자 수를 가지는 유니콘, 대기업들이 네이티브 앱을 선호합니다.

빠른 앱 동작 속도를 갖춘 네이티브 앱

  • Airbnb는 처음에 하이브리드 앱으로 시작하였으나, 안드로이드의 사용자 대응 불량과 앱이 느리게 동작하는 문제가 발생하여, 네이티브 앱으로 전환을 결정하였습니다. 이에 따라 iOS 앱과 안드로이드 앱의 성능이 대폭 개선되고, 사용자 니즈는 더욱 충족하게 되었습니다.

커스텀 UI와 높은 안정성을 갖춘 네이티브 앱

  • PayPal은 처음에 크로스플랫폼 앱으로 시작했습니다. 그러나 커스텀 UI와 더 높은 안정성을 위해 네이티브 앱으로 전환하였습니다. 이에 따라 사용자는 더욱 빠르고 안정적인 앱을 경험할 수 있었고, PayPal은 사용자 경험과 보안 문제에서 큰 발전을 이루었습니다.

하이브리드&크로스 플랫폼 -> 네이티브 앱 전환

  • Uber, Instagram, Walmart 등 위에서 언급했던 기업들도 하이브리드 앱이나 크로스플랫폼 앱에서 네이티브 앱으로의 전환을 진행하여, 더욱 향상된 성능과 안정성, 사용자 경험을 제공하고 있습니다.

네이티브를 먼저 습득하고 하이브리드 앱, 크로스플래폼 앱 개발시 러닝커브가 더 쉽습니다.

  • Flutter 또는 React Native를 먼저 배우는 경우, iOS 및 Android와 같은 플랫폼에서 네이티브 앱을 개발하지 않고도 크로스 플랫폼 앱을 쉽게 개발할 수 있습니다. 이러한 경우, 네이티브 앱 개발에 필요한 플랫폼 전문 지식이나 Swift/Objective-C 또는 Java/Kotlin과 같은 언어 지식이 필요하지 않기 때문에 보다 쉽게 접근할 수 있습니다. 하지만 이 방법으로 앱을 개발할 경우, 급격하게 변하는 많은 플랫폼 API와 키트다운(Kitdown)과 같은 UI 제한 사항에 대한 이해가 필요합니다.

  • 네이티브 개발을 배우고 그 뒤에 Flutter 또는 React Native를 배우는 경우, iOS 또는 Android 운영체제에 대한 전문 지식과 해당 플랫폼에서 사용하는 언어를 먼저 익혀야 합니다. 그러나 이 경우에는 iOS 또는 Android 각각에 대한 전문 지식을 배우게 되므로, 개발자는 앱의 UI 및 UX에 대한 언어와 플랫폼 지식을 더욱 효과적으로 활용할 수 있습니다. 이 방법으로 실습을 진행할 경우 초기 부분에서는 배우는데 시간이 걸리지만, 네이티브 자체의 힘을 더욱 효과적으로 활용할 수 있게 됩니다.

profile
🧑🏻‍💻 안녕하세요 TECH!T APP SCHOOL 입니다.

1개의 댓글

comment-user-thumbnail
2일 전

좋은 포스팅 잘 봤습니다! 평소에 크로스 플랫폼과 하이브리드 앱 개발의 차이에 대해서 궁금한 것이 있었는데, 많은 걸 얻고 갑니다

답글 달기