iOS 시작하기

JH·2022년 11월 2일
0

SwiftUI 다루기

목록 보기
1/10

1️⃣ iOS vs. Android

iOSAndroid
프로그래밍 언어Objective-C / SwiftJava
테스팅iOS 시뮬레이터
- 안드로이드보다 훨씬 빠름
Android 에뮬레이터
- CPU를 포함한 가상머신, 더 현실적으로 렌더링
상호작용홈 버튼홈, 뒤로가기, 멀티태스킹 버튼
개발 환경오픈소스 기반제한적 개발 환경 → swift 오픈소스 개발

2️⃣ Objective-C와 Swift

Objective-C

Swift 등장 이전까지 사용되었던 애플의 표준 프로그래밍 언어이다.

차이점

Objective-CSwift
클래스 구현헤더(.h)파일, 본문(.m)파일.swift파일 하나
변수 선언타입 명시타입 추론
로그 찍기"%d", num"\(num)"

Swift

Swift는 애플의 iOS와 MacOS를 위한 프로그래밍 언어이다.
기존 애플의 운영체제용 언어인 Objective-C와 같이 사용하기 위해 만들어졌다.

  • 기존 언어와 동일한 LLVM(컴파일러) 빌드, 같은 런타임 공유
  • 클로저, 다중 리턴 타입, 네임스페이스, 제너릭, 타입 유추 등 추가
  • 현재 애플이 오픈소스로 공유하면서 애플 플랫폼 외에 다양한 플랫폼에서 사용 가능

언어적 특성

1. Safe

  • 안전한 프로그래밍 지향
  • optional, guard구문, 오류처리, 강력한 타입 통제 → 안전성 구축

2. Fast

  • C 기반 언어(C, C++ 및 Objective-C)와 비슷한 성능 유지
  • 더해서 실행속도 최적화, 컴파일러의 빠른 성능 구현

3. Expressive

  • 사용하기 편하고, 보기 좋은 문법을 사용

프로그래밍 패러다임

여러 가지 프로그래밍 패러다임을 차용한 다중 패러다임 프로그래밍 언어

1. 객체지향

  • 명령형 프로그래밍 ❌ → 객체의 모임 ⭕️
  • 유지보수가 용이

2. 함수형

  • 반복 연산 처리 단순화

3. 프로토콜 지향

  • 프로토콜은 타입으로 사용 가능 → 필요한 부분만 채택해서 사용
  • 값 타입 효율적 사용
  • 캡슐화, 추상화, 접근 제어

3️⃣ UIKit와 SwiftUI

UIKit

UIKit 프레임워크는 iOS 및 tvOS용 앱을 빌드하는 데 필요한 핵심 개체를 제공한다.

➡️ 개체를 사용하여 콘텐츠를 화면에 표시하고 상호작용하며, 시스템과의 상호작용을 관리한다.

  • 앱은 기본 동작에 대해 UIKit에 의존함
  • UIKit는 특정 요구 사항에 맞게 동작을 사용자 지정할 수 있는 (커스텀하는) 다양한 방법을 제공함

SwiftUI

SwiftUI는 최소한의 코드로 더 좋은 앱을 만들 수 있게 한다.

  • Swift언어 기반 프레임워크
  • AppKit, UIKit 구분없이 SwiftUI 하나로 모든 플랫폼에서 사용 가능

특징

1. 선언적 구문

  • 선언적 구문을 사용하므로 사용자 인터페이스의 기능을 명시하기만 하면 됨

2. 자동화

  • 특정 공간에 가장 알맞은 변형을 선택하도록 하는 ViewThatFits가 포함됨

❗️참고

Objective-C | Swift 1 | Swift 2
프로토콜 지향 프로그래밍
UIKit | SwiftUI

📢 이후의 Xcode는 인프런 강의를 참고했습니다!
https://inf.run/fSpc

profile
매일 한 문제씩 풀기

0개의 댓글