내일만 버티면 금요일이다.이걸 보는 모두 화이팅..
애플은 기기에 따른 다양한 운영체제들을 지원 중.
(아이폰 - iOS), (맥북 - macOS), (애플워치 - watchOS)
(애플 TV - tvOS), (비전 pro - visionOS)
모두 Objective-C, Swift로 개발 가능.
iOS 개발을 하기 위해서는 반드시 macOS 기반으로 개발.
iOS 개발자가 된다는 건, 개발뿐만 아니라 애플이 제공하는 기기와 운영체제들에 대한 깊은 이해를 가지게 된다는 것.
앱을 출시하기 위해서는 앱스토어 심사과정 필요.
HIG (애플의 앱 디자인 가이드) 등 애플의 철학 이해 필요.
네이티브 앱
각 OS 환경에 최적화된 네이티브 언어로 개발된 앱.
-Swift로 개발한 iOS 앱.
-Kotlin으로 개발한 Android 앱.
ex) 카카오, 쿠팡, 당근 마켓, 티맵, 쏘카, 스노우 등
하이브리드 앱
Android, iOS 플랫폼 모두 돌아가도록 개발한 앱.
-React Native, JavaScript로 개발.
-Flutter - Dart로 개발.
ex) 페이스북, 인스타그램 등
웹 앱
웹 기술을 사용해 웹 사이트를 모바일 앱 형태로 개발.
ex) 네이버, 크롬 등
🙋🏻♂️ Android, iOS 둘 다 가능한 하이브리드 앱개발이 네이티브 앱개발보다 무조건 좋은 거 아닌가요?
→ 🙅🏻♂️ 각각의 장단점이 존재합니다.
하이브리드 앱은 Android, iOS 앱에서 모두 돌아가도록 한 번에 개발을 할 수 있지만, 이를 다른 말로 옮겨보면, 두 운영체제를 동시에 관통하는 일반적인 코드를 작성하게 되기 때문에, 반대로 각각의 고유한 특성을 활용하는 데에는 한계가 있다는 것을 의미.
ex1) 카메라 기능을 사용하는 SNOW 같은 앱을 개발한다면?
안드로이드 폰의 카메라와 아이폰의 카메라는 근본적으로 다를 수밖에 없기 때문에, 하이브리드 앱으로는 각 카메라 하드웨어의 깊은 곳까지 파고드는 기능을 사용하는 데에는 한계 존재.
ex2) 기기의 GPS 기능을 자주 활용하는 Tmap 같은 네비게이션 앱을 개발한다면?
하이브리드 앱보다 네이티브 앱이 플랫폼 친화적이기 때문에 GPS 활용 수행 능력이 좋음.
서버 개발자는 앱스토어의 심사 개념이라든지, 애플의 디자인 철학이 어떻게 된다든지 이런 건 자세하게 몰라도 됨.
안드로이드 개발자도 마찬가지. 각 개발자는 각자의 영역에 대해서 집중.
iOS 개발자로 회사에 들어간다라는건 이런 부분들을 맡아서 전문성 있게 잘 해내준다는 걸 의미.
앱에서 버튼을 구현할 일이 생겼다. 근데 나는 아무것도 할 줄 모른다.
→ CASE 2가 더 효율적. 직접 코드를 작성하시고 부딪혀보시면서 몸으로 느끼면서 공부하는 것이 효율적.
다 알면 좋지만, 현재로써는 다 알기보다는 중요도에 맞춰서 하는걸 추천.
데이터 베이스가 서버를 공부할 경우 추천하지만, iOS는 비교적 중요도가 낮아서 오히려 운영체제(메모리를 관리하는 방법), 자료구조(데이터 다루는 기본적 구조)를 공부하면 좋다.
사진이랑 개념들을 구분해서 적으니까 너무 보기 좋고
내용도 알찬거 같아요!
수고하셨습니다!