iOS-factor는 고품질의 웹 서비스를 만드는 방법론으로 유명한 앱 프레임워크 개발의 12 요소에서 영감을 받았습니다. iOS-factor는 그와 같은 구조와 비슷한 규칙들로 이루어져 있으며, iOS 앱 개발 프로세스에 맞게 작성되었습니다.
배경
지난 10년간, iOS 개발 과정은 아주 많이 변해왔습니다.
- 하나의 기기만을 지원하는 것에서 시작해 iOS기반의 아이폰들과 아이패드들, 그리고 tvOS와 watchOS 같이 다양한 플랫폼까지 지원하게 되었습니다.
- 옛날엔 깃 서브모듈을 수동으로 임포트했지만 지금은 디펜던시 매니저를 사용하게 되었습니다.
- 대부분의 iOS 앱이 기기에서 로컬로 실행되는 것부터 시작해서 지금은 백엔드 서비스에 아주 많이 의존하게 되었습니다.
- 과거의 iOS 앱 리뷰 시간은 2주가 넘게 걸렸지만 지금은 하루가 채 걸리지 않습니다.
- 예전엔 앱 배포를 위해 iTunes를 이용해서 직접 설치했었고 요즘은 공식 TestFlight 채널이 제공됩니다.
- 순수 Objective-C/C++ 만을 사용했었지만 이젠 JavaScript를 포함한 다양한 언어를 섞어서 사용합니다.
- 무언가 준비되었어도 느렸던 배포들이 이제는 매주 일어나고 있습니다.
- 기존엔 모두에게 배포했던 것이 A/B 테스트를 지원하고 느린 롤아웃 및 자동 회귀 추적까지 해주게 되었습니다.
iOS-factor가 무엇인가요?
iOS-factor는 2018년 5월에 시작된 실험적인 프로젝트입니다. 이 프로젝트는 고급 iOS 어플리케이션을 만들기 위한 최고의 예제들을 모아 제공하는데에 목적이 있습니다. 각 주제들은 iOS 앱 개발 과정의 어떤 카테고리가 어떻게 되어야하는지에 대한 이상적인 상태를 보여주는 요소(factor)
를 가지고 있습니다.
어떠한 제한(예를 들자면 Xcode는 macOS에서 실행될 수 없다와 같이요)때문에 모든 요구사항이 충족될 순 없을 것입니다. 이 프로젝트는 우리가 직면한 문제들 중 일부를 해결할 수 있는 최선의 접근 방법을 제공하는 것과 같은 목표를 가지고 있습니다.
iOS-factor는 iOS 앱 개발 프로세스와 아키텍쳐 결정에 대한 빅 픽쳐에 대한 것을 다루기 때문에, 특정 언어의 구체적인 문제점을 다루진 않을 것입니다.
이 프로젝트는 iOS 개발자 커뮤니티에 의해 유지되고 있는 살아있는 프로젝트입니다. 전체 소스는 GitHub에서 확인하실 수 있고 페이지를 업데이트하거나 새로운 요소에 대한 페이지를 추가하실 수 있습니다.