Skip to content

Commit

Permalink
iOS 시작하기 문서 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
HongSJae committed Jul 4, 2024
2 parents 0a65aff + fd75bc7 commit e0697e3
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 11 deletions.
19 changes: 18 additions & 1 deletion src/content/docs/ios/00-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,21 @@
title: iOS 시작하기
---

iOS는 iOS 앱을 개발합니다.
이 문서는 **iOS Native 앱 개발**을 기준으로 작성되었습니다.

<p align="center">
<img src="https://github.com/dsmhs/dsm-freshman-guide/assets/102791216/690341ad-302b-4364-92d7-7a341ea37f7f" alt="ios logo"/>
</p>

### iOS란?

iOS는 [Apple](https://www.apple.com/)의 기기인 iPhone에 탑제되어 있는 운영체제입니다. 보통 iOS 앱 개발이라 하면 iOS가 탑제되어 있는 iPhone 뿐만 아니라 iPad(iPadOS), Apple Watch(WatchOS), Mac(MacOS) 등의 어플리케이션을 개발하는 것도 의미하지만, 보통은 iPhone(iOS)의 앱을 개발하는 것을 의미합니다. iOS는 클라이언트 중 대표적인 분야입니다. 보통은 서버에게 요청을 보내고 받아온 데이터를 처리하는 역할을 합니다. 더 자세한 내용은 [클라이언트](/dsm-freshman-guide/start/02-client-and-server)를 참고해보세요!

Apple의 OS는 iOS, MacOS, tvOS 등 여러 OS가 있습니다. 이 OS들은 서로 상호작용이 매우 잘 된다는 장점이 있습니다.

iOS 개발 언어는 **Objective-C, Swift**입니다. ObJective-C는 C언어에서 파생된 객체지향적 프로그래밍 언어입니다. Swift 이전에 사용되었으며, 현재도 오래된 라이브러리에는 Objective-C 코드를 확인할 수 있습니다. Swift는 기존 Objective-C의 단점을 보완하고, 현대 프로그래밍 언어가 갖고 있는 많은 기능을 많이 포함시켰으며, 이에 따라 일정한 성능 향상을 보여주고 있습니다.

iOS 개발을 시작하기 전에 **Swift**의 문법에 대해 공부를 하시는게 좋습니다! 개발 중 문법으로 인한 에러를 파악하지 못하면 나중에 더 큰 에러를 불러올 수 있습니다.

### 개발 시작하기
iOS 개발을 하기 위해서는 Apple의 Mac을 구매한 후 AppStore에서 Xcode를 설치하고 시작해야합니다. Swift 문법 공부와 View 공부를 병행하며 첫 개발에 대한 이해도를 가지는 것이 중요합니다. 더 자세한 공부 과정은 [공부 키워드](/dsm-freshman-guide/ios/01-keyword)를 확인해주세요!
35 changes: 25 additions & 10 deletions src/content/docs/ios/01-keyword.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,27 @@ title: 공부 키워드

여기 써있는 순서대로 검색해보고 공부하면 당신도 iOS 개발자가 될 수 있습니다

- Swift 기본 문법 (아래 나와있는 야곰의 Swift 한 번 정독)
- 야곰 강의 영상 있음

[iOS 프로그래밍을 위한 스위프트 기초](https://www.boostcourse.org/mo122/joinLectures/38564)
- Swift 기본 문법
- [iOS 프로그래밍을 위한 스위프트 기초](https://www.boostcourse.org/mo122/joinLectures/38564)
- 꼭 끝까지 보고 이해하기(이해 못해도 한번 씩 따라 쳐보기)
- 따라 쳐보면서 이렇게, 저렇게 바꿔 보면서 이해하면 훨~씬 이해하기 쉬워요

- StoryBoard
- iOS View 객체들 다뤄보기
- **View <-> 함수** 연결 시키고 작동 되는 구조 이해하기
- no StoryBoard UIKit
- SnapKit/Then
- Alamofire
- Moya 등등 여러 라이브러리 사용해보기
- ~~SwiftUI~~
- 머리 속에서 코드가 화면으로 그려지는 연습하기
- Layout 쉽게 짤 수 있는 라이브러리
- [SnapKit](https://github.com/SnapKit/SnapKit)
- [Then](https://github.com/devxoul/Then)
- 서버 연동
- URLSession
- 라이브러리
- [Alamofire](https://github.com/Alamofire/Alamofire)
- [Moya](https://github.com/Moya/Moya)
- SwiftUI
- UIKit에 어느정도 적응한 후 배우는 것을 추천
- 어느 하나만 잘해선 안됨


### 공부해야하는 키워드들 (심화)
Expand All @@ -32,7 +42,12 @@ title: 공부 키워드
</aside>

- Clean Architecture
- MVVM (Design Pattern)
- Design Pattern / Architecture Pattern
- MVC
- MVVM
- TCA
- RxSwift / Combine
- Tuist / XCConfing
- CI / CD
- CI / CD
- Github Action
- Xcode Clooud

0 comments on commit e0697e3

Please sign in to comment.