풀스택 개발자가 되는 방법: 3부

게시 됨: 2017-12-02

이 포스트는 풀스택 개발자가 되기 위한 시리즈의 세 번째이자 마지막입니다. 이 문서에서는 모바일 앱 개발에 대해 구체적으로 설명합니다. 프론트엔드 및 백엔드 개발에 대한 자세한 내용은 여기를 읽어보세요.
스티브 잡스가 2007년 아이폰을 선보였을 때, 그것은 인쇄기 이후 세계가 목격한 가장 큰 혁명을 가져왔습니다. 스마트폰은 전 세계 거의 모든 국가에 침투할 수 있었습니다. 가장 빈곤한 사람들도 하나의 소유물을 너무 많이 소유하고 있는 것 같아서 그들 없는 삶은 상상할 수 없는 것처럼 보입니다.

동기 부여

휴대폰에서 실행할 때만 의미가 있는 특정 앱이 있습니다. 예를 들어 우버를 들 수 있습니다. Uber는 GPS를 통해 정확한 위치를 알아야 합니다. 데스크톱용 Uber 앱은 별로 의미가 없습니다.
또 다른 문제는 대부분의 청중이 브라우저용으로 제작된 앱이더라도 휴대전화를 통해 앱을 여는 것입니다. 이러한 경우 경험이 원활하고 너무 많은 데이터가 소비되지 않도록 해야 합니다. 마지막으로, 마우스 클릭과 터치를 사용한 상호 작용에는 미묘한 차이가 있습니다. 앱은 두 시나리오 모두에서 제대로 작동하는지 확인해야 합니다.
이러한 모든 고려 사항을 염두에 두고 브라우저를 벗어나 모바일 앱을 구축하는 것이 좋습니다. 이를 통해 일반적인 스마트폰이 제공하는 기능을 최대한 활용하는 동시에 사용자 경험을 즐겁게 할 수 있습니다. 다음은 모바일 앱 개발을 위한 단계입니다. 프론트엔드 및 백엔드 개발에서 풀 스택 개발자가 되는 첫 번째 부분입니다.

풀스택 웹 소프트웨어 개발자가 되는 방법 UpGrad 블로그 모바일 개발

Bizongo의 공동 설립자이자 CTO인 Ankit Tomar와의 인터뷰

목차

12단계: 플랫폼 선택

첫 번째 단계는 애플리케이션을 구축할 플랫폼을 선택하는 것입니다. 상당히 큰 팀의 일원이 아닌 한 모든 주요 플랫폼에서 처음부터 앱을 구축할 가능성은 극히 낮습니다. 더 가능성이 높은 시나리오는 선호하는 플랫폼에서 코딩한 다음 단순히 다른 플랫폼으로 이식하는 것입니다.
오늘날 주요 스마트폰 플랫폼은 iOS, Android 및 Windows입니다. 그들은 완전히 다른 언어와 IDE를 사용합니다. 예를 들어 iOS는 Swift와 XCode를 사용하고 Android는 Java를 사용하며 Android Studio와 Microsoft는 C# 및 Visual Studio를 사용합니다.
오늘날 시장은 Android와 iOS가 지배하므로 선택은 실제로 이 두 가지입니다. 선택하기 전에 고려해야 할 몇 가지 사항은 앱의 잠재고객 점유율입니다. Apple 기기가 매우 인기가 있는 First World 국가에 있다면 iOS 앱을 구축하는 것이 비즈니스적으로 타당하다고 생각합니다. 대조적으로, 인도와 같은 국가에서는 엄청난 가격으로 인해 iPhone의 시장 점유율이 극히 낮기 때문에 Android가 더 분명한 선택이 될 것입니다.
앱에서 돈을 벌 계획이라면 iOS 사용자는 Android 사용자보다 인앱 구매를 위해 지갑을 열 가능성이 더 높다는 점을 기억하십시오. iOS 사용자는 일반적으로 Android가 지배하는 제3세계 시장에 비해 가처분 소득이 더 많은 경향이 있기 때문일 수 있습니다.
iOS 개발에는 Mac 개발 머신이 필요합니다. 또한 Apple App Store 라이선스는 Google Play의 일회성 $25 수수료와 비교하여 $99/년입니다. 즉, iOS 개발은 훨씬 더 비쌉니다.
이 게시물에서 나는 오늘날 모바일 앱 개발이 어떻게 이루어지는지 다룰 것입니다: 네이티브 안드로이드 앱, 네이티브 iOS 앱, 하이브리드 모바일 앱.

13단계: 자바와 XML

Java는 Android 개발에 가장 널리 사용되는 언어입니다(Google은 최근에 Kotlin 프로그래밍 언어에 대한 지원도 도입했습니다).
Android의 창시자는 Java가 적절한 선택이라고 생각했으며 처음부터 Java를 고수해 왔습니다. 그리고 그들의 궤적이 가까우면 놀라운 결정이 아닐 수 없습니다.
풀스택 웹 소프트웨어 개발자가 되는 방법 UpGrad 블로그 모바일 개발
Java를 배우기에 가장 좋은 리소스는 Head First Java입니다. 이 책을 읽으면 언어와 객체 지향 프로그래밍 원리에 대한 철저한 소개를 얻을 수 있습니다.
XML에 관한 한, 이 주제에 대한 집중적인 튜토리얼이 필요하지 않다고 생각합니다. 이미 XML(HTML)의 하위 집합으로 광범위하게 작업했으며 Android 개발에 직접 뛰어든 경우에도 꽤 빨리 알아낼 수 있습니다. Java에 대해서도 같은 말을 할 수 없습니다. Android를 시작하기 전에 언어를 잘 이해하고 있는지 확인하세요.

14단계: 안드로이드

이제 Android 앱을 빌드하는 기술적인 노하우가 생겼습니다. 이제 이 혁신적인 OS에 대해 자세히 알아볼 시간입니다. 특정 Android 방식은 일반적으로 웹에서 볼 수 있는 방식과 다릅니다. 내가 아래에 제안한 리소스는 이러한 차이점으로 인해 학습이 방해받지 않도록 합니다.
Android 프로그래밍 - Big Nerd Ranch Guide 2nd Edition 은 Java를 이미 알고 있다면 시작하기에 좋은 곳입니다. 현재 업계 표준인 Android Studio를 사용하는 두 번째 버전을 선택해야 합니다. Eclipse에서 앱을 빌드하는 방식은 대부분 구식입니다.
Fynd의 공동 설립자인 Farooq Adam과의 인터뷰

15단계: iOS

귀하가 Apple 애호가이고/또는 iOS 앱이 귀하의 비즈니스/경력 열망에 더 적합하다고 결정한 경우. 첫 번째 단계는 Mac을 구입하는 것입니다. XCode는 Mac에서만 작동하며 앱 스토어에 게시하려면 Mac이 필요합니다. 죄송합니다, VM웨어.
iOS용으로 제안할 리소스는 Android용 리소스와 정확히 동일합니다. Nerd Ranch에는 자체 출판물이 있습니다. – iOS 프로그래밍: Big Nerd Ranch Guide Swift와 XCode를 다루므로 시작하기에 좋은 곳입니다.

풀스택 웹 소프트웨어 개발자가 되는 방법 UpGrad 블로그 모바일 개발

16단계: 하이브리드 모바일 앱

개인 개발자이거나 소규모 팀에서 작업하는 경우 Android 및 iOS 앱을 별도로 빌드하고 유지 관리할 시간이나 리소스가 없을 수 있습니다. 여러 플랫폼을 구축하는 개발자의 수고를 덜어주기 위해 하이브리드 모바일 앱의 개념이 도입되었습니다.
개념은 매우 간단하고 혁명적입니다. Javascript를 알고 있다면 웹 앱을 구축하는 방법을 이미 알고 있습니다. 따라서 JS에 앱이 있는 경우 애플리케이션을 Android, iOS 및 Windows에 자동으로 포팅하는 프레임워크가 있어야 합니다. 놀랍지만 사실입니다.
대부분의 하이브리드 프레임워크는 Cordova 또는 React Native를 사용하여 이를 달성합니다. Cordova는 브라우저와 스마트폰의 기본 하드웨어 사이의 다리라고 생각할 수 있습니다. JS만을 사용하여 둘 사이의 연결을 설정하고 각 플랫폼의 네이티브 언어로 빌드 스크립트를 만드는 데 도움이 됩니다.
그러나 Cordova 기반 프레임워크는 Facebook의 강자인 React Native에 의해 빠르게 가려지고 있습니다. React Native의 힘은 Cordova가 WebView를 구성하는 동안 React Native를 사용하면 Java(Android용) 또는 Swift(iOS용)를 사용하여 빌드할 기본 앱을 빌드할 수 있다는 사실에 있습니다. 즉, Cordova는 모바일 앱으로 위장한 웹 사이트이지만 React Native를 사용하면 실제 를 구축할 수 있습니다 .
제 생각에는 Cordova를 놓치고 대신 React Native를 배울 수 있습니다. 그것은 매우 훌륭한 경력 투자입니다. UpGrad & IIIT-B의 소프트웨어 개발 프로그램은 Facebook, Netflix 및 AirBnB와 같은 회사에서 이미 앱을 설계하는 데 사용하고 있는 이 혁신적인 라이브러리로 여정을 시작하기에 좋은 장소입니다.
Fynd의 공동 설립자인 Farooq Adam과의 인터뷰

결론

하이브리드 앱의 결론과 함께 이 시리즈의 마지막 부분에 도달했습니다. 요약하자면, 우리가 다룬 내용은 다음과 같습니다.

  1. 컴퓨터 과학 기초.
  2. 데이터 구조 및 알고리즘
  3. UI/UX
  4. HTML, CSS, JS
  5. 프론트엔드 프레임워크
  6. 서버 측 스크립팅 및 데이터베이스
  7. 전체 스택 프레임워크
  8. 안드로이드와 iOS
  9. 하이브리드 모바일 앱

내가 이 시리즈를 쓰는 것을 즐겼던 만큼 당신도 이 시리즈를 즐겁게 읽었기를 바랍니다. 그리고 더 중요한 것은 적어도 일부 부분이 유용하다는 것을 알게 되었다는 것입니다. 항상 그렇듯이 귀하의 의견과 제안을 환영합니다!

풀 스택 개발자 되기

UpGrad 및 IIIT-Bangalore의 소프트웨어 개발 PG 디플로마
더 알아보기