 Apple Lover Developer & Artist

영속적인 디자인에 현대의 공감을 채워넣는 공방입니다

반응형

uikit 12

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 11부 - 주문서 개발

Overview 사용자가 레스토랑에 음식을 주문할 수 있도록 기능을 개발한다. Notification, Timer 등의 비동기 처리를 구현할 때 Combine이 제공하는 통합된 API를 사용해본다. Prerequirement 콤바인 API의 개념과 Swift Concurrency의 사전 지식이 요구된다. 다음의 공식 문서 정리 포스팅을 참조하면 좋을 것이다. [WWDC2019] Introducing to Combine [Swift] 공식문서 씹어먹기: Concurrency 주문서 기능 사용자는 레스토랑에서 판매하는 음식 메뉴를 볼 수 있다. 앞선 포스팅 처럼 카테고리별로 분류된 화면을 전환하며 자신이 원하는 음식 메뉴를 찾을 수 있다. 원하는 음식 메뉴를 찾으면 해당 아이템을 선택하여 세부 정보를 확인할..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 10부 - 이미지 로딩

Overview 네트워크를 통해 받아온 이미지 데이터를 사용자 인터페이스에 보여주도록 구현해 본다. 화면 구성 이번 프로젝트에서 사용자 인터페이스를 통해 이미지를 띄워줘야 하는 화면은 총 3가지다. 음식 메뉴를 보여주는 MenuTableViewController, 주문서 명단을 보여주는 OrderTableViewController, 음식 메뉴의 세부 정보를 보여주는 MenuItemDetailViewController가 대표적인 예시이다. performance 네트워크를 통해 이미지 데이터를 불러오는 것은 다소 시간이 소요되는 작업일 수 있다. 사용자가 원하는 음식 메뉴 아이템을 찾기 위해 화면을 전환하며 탐색한다. 기본적으로 개발자가 별도의 최적화 작업을 진행해주지 않으면 동일한 이미지를 중복하여 다운로..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 9부 - View 디자인

Overview 스토리보드에서 정의한 앱의 흐름에서 View 디자인을 구체화시켜본다. Pattern 프로젝트에서 사용할 View의 정의 패턴을 소개한다. TableView Cell UIKit이 제공하는 표준 스타일의 셀을 사용한다. Basic, Subtitle, Right Detail, Left Detail 총 4가지 레이아웃을 제공한다. 표준 레이아웃의 프로퍼티를 커스텀하여 빠르게 TableView Cell을 만들 수 있다. TableView Cell의 생성하기 위해 Identifier를 부여한다. Identifier는 성능상의 이유로 TableView가 재사용 메커니즘을 활용해 Cell을 생성할 수 있도록 돕는다. Layout 기본적으로 오토 레이아웃을 활용한다. View를 정밀히 조정해야 할 때 오..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 7부 - 네트워킹 코드 모델링

Overview 음식점 서버 API와의 네트워크 통신 기능을 구현해 보고 공통 작업을 추상화시킨다. 들어가기 앞서 Swift Concurrency, Protocol, Generic 개념을 활용하고 있기에 이를 익히고 보면 포스팅을 재미있게 즐길 수 있다! Networking Common Process 서버 API를 활용해 클라이언트가 데이터를 요청하고 응답받을 수 있도록 도와주는 객체가 있다. Foundation 프레임워크의 URLSession 이 그 주인공이다. Fetching Website Data into Memory- Apple Developer 아티클을 통해 URLSession을 활용하여 통신 코드를 작성하는 예시를 확인할 수 있다. 쉽게 말하자면 통신 코드가 구현하는 작업은 크게 3가지로 구분..

[Challenge] 🛠️ iOS 앱 설계 퓨전 레시피 5부 - 계획과 목업

Overview 프로젝트를 개발할 때, 전체적인 작업 흐름을 우선적으로 잡는 것이 중요하다. 스토리보드를 활용해 앱의 기능과 작업 흐름을 정의한다. Prototype 처음 프로젝트를 개발할 때에는 걱정이 많이 쌓인다. 세부적인 구현 내용을 초기에 완벽히 계획하여 개발하려는 욕심도 생길 수 있다. 이 방식으로는 시간만 버리고 사용자 요구사항에 부합하지 못한 결과가 나올 수 있다고 생각한다. 초기 사용자 테스트를 통해 작업 흐름을 빠르게 검증하고 잘못 설계된 부분에 관하여 민첩하게 피드백받을 수 있는 개발 환경에서는 많은 이점이 있다. 예를 들어 프로젝트 초기에는 상대적으로 적은 코드와 디자인이 반영되었을 때라서 디자인 방향을 틀거나 수정하기에 더 수월할 수 있다고 생각한다. Storyboard 개발 관점에..

반응형