iOS

[iOS] iOS개발의 기본적인 배경과 흐름(?)

스벅 보안관 2024. 5. 15. 18:17

안녕하세요. 스벅 보안관입니다.

첫 게시글로 iOS개발의 기본적인 배경과 흐름에 대해 말해보려합니다.

(게시글 제목 짓는데 10분걸림;;)

첫 블로그 작성이라 두서없이 쓸 거같습니다,,,

 

앱의 구조와 동작 원리

 

앱은 화면과 로직으로 이루어져 있습니다.

화면은 그냥 화면인거같고,,, 로직은 그냥 로직인거같습니다 어떤 프로그램을 만들 때의 논리적인 흐름이라는 뜻입니다.

이러한 로직에는 또 다시 3가지로 분류가 되는데 다음과 같습니다.

 

- 데이터

- 네트워크

- 데이터베이스

 

결론은 데이터, 네트워크, 데이터베이스, 화면만 있으면? 앱이 돌아간다는 말입니다.

 

 

Apple & iOS

하지만 개발이라는 것이 말은 쉽지 막상 해보면 참 어려운거 같습니다,,,

근데 안그래도 어려운데 iOS는 깐깐하기까지 합니다;;

 

Apple에서 개발한 iOS는 다음과 같은 특성을 지니고 있습니다

 

1. 폐쇄성(보안) 

애플놈들이 만든 iOS Privacy 때문에, 제한된 사항들이 너무너무너무 많습니다.

대표적으로

- Xcode에서만 개발가능(이래서 맥북 없으면 개발못함...)

- 소셜로그인 넣을라면 무조건 애플로그인 넣어야함

등이 있습니다.

 

2. 업데이트

업데이트가 잘됩니다.

하지만 최신버전만 지원하게 개발할 경우, 개발 시간은 단축할 수 있지만 이용자 수가 줄어듭니다.

 

3. 레이아웃

Human Inferface Guidelines라는 가이드라인을 따라야합니다. 이건 너무 많아서 따로 자세하게 다루겠습니다.

이에 따라 SF Symbols를 지원하는데, SF Symbols는 Apple 플랫폼의 시스템 서체인 San Francisco와 매끄럽게 통합되도록 설계된 아이콘 라이브러리로, 5,000개 이상의 기호를 제공합니다. ( Apple Developer 피셜)

 

4. 하드웨어

GPS, 카메라, 조도센서 등의 하드웨어가 장착되어 있습니다.

이에 맞게 개발을 해야합니다.

 

 

어째 단점밖에 없는거 같냐;;

 

 

iOS 생명주기

이러한(?) iOS에는 생명주기가 존재하는데 다음과 같습니다.

 

  • Not Running
  • Active (앱이 화면중에 실행중인 상태)
  • Inactive (앱이 화면에서 실행중이나, 어떤 신호도 받지 않는 상태) ex) 알람, 전화 오는 경우 
  • Background (앱이 화면에 보이지 않지만, 코드를 실행하는 상태)
  • Suspend (앱이 곧 종료될 상태)

Life Cycle에 대한 내용은 설명하면 너무 길어질 거같아서, 따로 자세하게 다루겠습니다.

 

 

오늘의 결론

오늘은 iOS의 기본적인 특징이자 단점(?)을 설명했습니다. 근데 진짜 설명하는데 다 단점투성이....

더 알아보면 장점들이 마구마구 나오겠죠...?

처음 글을 써봤는데, 블로그 쓰는거 쉽지않네요,, 그래도 꾸준하게 써보겠습니다..!!!

 

 

 

 

'iOS' 카테고리의 다른 글

[iOS] TableViewController - [2]  (0) 2024.05.28
[iOS] TableViewController - [1]  (0) 2024.05.24
[iOS] Guard 구문을 사용하는 이유  (0) 2024.05.22
[iOS] GestureRecognizer  (0) 2024.05.20
[iOS] 버전별 UIButton의 차이  (0) 2024.05.15