개인 경험을 바탕으로 편리하다 또는 필요하다고 생각했던 기능들을 하나로 모은 투두리스트 앱을 만들고자 개발했습니다.
개발 기간
팀 구성
기술 스택
2021/11/21 - 2021/12/04 (앱 스토어 출시) → 지속 개발 중
iOS 1명, 디자인 1명 (개인 프로젝트)
Swift
UIKit
SwiftUI
MVC
TableViewDiffableDataSource
Storyboard
SnapKit
CoreHaptics
Realm
FSCalendar
Hero
Localization
AutoLayout
LocalNotification
Firebase Crashlytics/Analytics
앱 구성 및 기능
① 투두리스트 작성 및 관리
② 한 줄 메모 작성 및 관리
③ 내용 검색 기능
④ 위젯 지원
⑤ 날짜 반복, 미루기 기능
⑥ 시간 알림 기능
⑦ 고정 기능
⑧ 태그 기능
앱 서비스 화면
개발 공수 산정 (링크)
UI 및 비즈니스 로직 구현의 시간 정량화 감각을 배울 수 있었음
기능 구현의 우선 순위 선정
기획, 디자이너 협업
디자이너 및 기획 파트와 협업시 앱 개발자가 어필해야 하는 부분을 알 수 있었음
AutoLayout 구성 시 Priorty, Size, Anchor를 고려
코드 베이스 개발, 서브클래싱
InterfaceBuilder에서는 확인이 어려운 부분을 Codebase로 개발 시작
서브클래싱 방법 연구
NSLayoutConstraint
의 작업 속도 한계를 느껴, SnapKit
을 사용하여 생산성 향상
Massive View Controller
뷰 컨트롤러에 UI구성, UI로직, Core로직이 혼재로 생산성 하락
출시 이후, 디자인 패턴과 아키텍처에 대한 필요성 느낌 (아키텍처 이론 번역 / 공부 중)
Realm, DiffableDataSource
RealmDB로 다양하게 구성되는 투두리스트에 효과적으로 애니메이션을 구현하기 위해 DiffableDataSource 적용