UMC iOS_1주차 과제

JuneHyeok Hong·2022년 9월 20일
0

UMC_iOS (SSUMC)

목록 보기
3/3

Standard Mission

  • API
    AWS 에서 설명하는 API 에 대한 정의에서
    API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘이다.
    예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어 있다. 휴대폰의 날씨 앱은 API를 통해 이 시스템과 "대화"하고 휴대폰에 매일 최신 날씨 정보를 표시한다.
    최근에 가장 사용하는 API 는 RestAPI 라고 한다.
    REST는 클라이언트가 서버 데이터에 액세스하는 데 사용할 수 있는 GET, PUT, DELETE 등의 함수 집합을 정의한다. 클라이언트와 서버는 HTTP를 사용하여 데이터를 교환한다.
    하나의 예로, 만약 ios 앱에 kakao API 를 사용하고 싶다면 먼저 카카오 공식문서를 찾아갑니다.

    https://developers.kakao.com/docs/latest/ko/getting-started/sdk-ios
    위의 표에 나와있는 것 처럼 앱 개발자는 서버 개발자가 만든 API나, 오픈 API를 가져다 잘 사용하면 됩니다.

  • Bundle id
    Apple 공식 문서에서 Bundle id 는 리소스의 등록, 수정, 삭제할 수 있는 앱의 고유 식별자이다.실제로 firebase 를 활용한 프로젝트를 할 때도 리소스와 firebase를 연결하는 과정에서 Bundle id가 중요하게 다루어졌다.

  • Storyboard
    스토리보드는 ios 앱의 인터페이스를 시각적으로 표현하여 컨테츠 화면과 화면간의 연결을 도와주는 도구이다. 스토리보드로 개발을 하면 시작적으로 보여 개발이 쉽다고는 하지만 앱 자체가 너무 무거워진다는 단점과 협업 시 충돌 해결이 직관적이지 못하다는 단점이 있다.
    스토리보드로 오토레이아웃을 잡는것도 직관적이지만, 마찬가지 이유로 큰 프로젝트에서 선호되는 방법은 아니라고 한다.
    스토리보드를 사용하지 않고 코드로 UI를 짜게 되면 물론 직관적인 점은 떨어지지만 코드라는 측명에서 충돌 발생시 해결이 쉽고, 앱 자체도 무거워지지 않는다.

  • info.plist
    Apple 공식 문서에서 info.plist 는 다른 종류의 실행 파일을 나타내는 번들은 정보 속성 목록 파일을 포함하는 파일이라고 한다.

  • asset
    Apple 공식 문서에서 asset 은 이미지, 색상, 앱 아이콘, 텍스처, 스티커 및 데이터와 같은 리소스를 구성하고 관리한다고 한다.

    실제 프로젝트에서는 figma에 디자이너가 넣어놓은 데이터를 다운받아 asset 파일에 옮겨 사용한 경험이 있다.

  • Launch Screen
    Launch Screen 은 앱이 실행되며 가장 먼저 켜지는 부분이다. Launch Screen 이 켜져서 유지되는 시간도 내장 함수로 delay 시킬 수 있다.
    Launch Screen 을 만드는 방법은 2가지라고 한다.
    첫번째로는 info.plist 에서 시작화면을 구성할 수 있고, 두번째로는 LaunchScreen.storyboard 를 사용하여 구성할 수 있다.

  • UIKit
    Apple 문서에서 UIKit은 앱의 핵심 인프라를 구성하는 데 사용할 수 있는 구성 요소를 포함하여 앱 빌드를 위한 다양한 기능을 제공한다고 한다.
    UIKit 앱의 코드 구조는 공식적으로 MVC(Model-View-ViewController) 디자인 패턴을 기반으로 한다고 한다.

    Model → 앱의 데이터와 비즈니스 로직을 관리한다.
    View → 데이터의 시각적 표현을 제공한다.
    ViewController → 모델과 뷰 사이의 다리 역할을 하여 적절한 시간에 이들 사이에서 데이터를 이동합니다.

    하지만 MVC 패턴은 View와 ViewController 간의 결합력이 너무 강해 유지보수에 단점이 있다고 한다. 이를 개선한 디자인 패턴으로 MVP 패턴과 MVVM 패턴이 있다.

    https://beomy.tistory.com/43
    위 링크를 참고하였다.

  • UIComponent
    UIComponent 관련 레퍼런스

    https://velog.io/@rlawnstn01023/UIKitUI-component
    [Xcode]UI component
    https://developer.apple.com/design/human-interface-guidelines/ios/controls/buttons/

  • AutoLayout

    AutoLayout 은 다음 글에서 정리하겠다.

Challenge Mission

https://ko.rakko.tools/tools/64/
위 링크에서 색상을 추출했다.

2개의 댓글

comment-user-thumbnail
2022년 9월 20일

디자인 패턴 배워볼 기회가 왔구만
https://butter-shower.tistory.com/197

1개의 답글