본문 바로가기

분류 전체보기140

에어비앤비 - 거대한 iOS앱의 생산성을 위해 바꾼 것들(4) 거대한 iOS앱의 생산성을 위해 바꾼 것들 이전글 https://admd13.tistory.com/434 우리가 채택한 솔루션 3) Dev Apps 생성하기 빌드 시스템과 iOS 애플리케이션 아키텍처에 대한 투자 덕분에 세 번째 혁신인 Dev Apps가 가능해졌습니다. Dev App은 단일 모듈과 해당 종속성을 위한 주문형 임시 Xcode워크 스페이스입니다. Dev Apps는 에어비앤비의 안드로이드 팀에서 먼저 시작했습니다. 안드로이드와 iOS의 Dev Apps가 누리는 인기와 성공은 간단한 IDE의 범위를 현재 편집 중인 파일로만 최소화 한다면, 개발 루프가 강화 된다는 사상에 근간을 두고 있습니다. Xcode 워크스페이스가 적을 때, Xcode는 해당 코드를 더 빨리 인덱싱하고 컴파일할 수 있습니다... 2023. 9. 1.

에어비앤비 - 거대한 iOS앱의 생산성을 위해 바꾼 것들(3) 거대한 iOS앱의 생산성을 위해 바꾼 것들 이전글 https://admd13.tistory.com/433 우리가 채택한 솔루션 2) 모듈 유형 설계 코드에 계층구조가 없어 검색하기 힘들다는 문제를 해결하기 위해 코드 구조를 전면 재설계했습니다. 모듈은 모듈 유형(module types)이라고 부르는 동등한 의미를 가지는 그룹으로 구성됩니다. 우리는 모듈 유형이 무엇인지 명확히 저으이하는 문서를 만들었습니다. 모듈 유형이라는 개념은 에어비앤비의 iOS개발자가 작업하는 방식의 근간이 되기 때문에 문서화되어 내부 개발자 포털에 공유되며 누구나 원하는 버전을 쉽게 찾아볼 수 있습니다. 이 문서는 모듈 유형이 무엇인지 간략하고 명확하게 설명하며 모듈 유형의 목적과 이것이 적용된 코드가 어떤 형태이지 보여줍니다. .. 2023. 8. 31.

에어비앤비 - 거대한 iOS앱의 생산성을 위해 바꾼 것들(2) 거대한 iOS앱의 생산성을 위해 바꾼 것들-2 이전글 https://admd13.tistory.com/432 우리가 채택한 솔루션 우리는 위에서 언급했던 문제를 해결하기 위해 수년에 걸쳐 많은 솔루션을 조사하고 구현했습니다. 이 글에는 대규모에서 효율적으로 작동했던 가장 큰 세가지 솔루션을 소개하겠습니다. 우리가 고민한 솔루션으로 빠르게 성장하는 중소규모 iOS팀에도 적용될 수 있다고 기대합니다. 1)최신 빌드 시스템 적용 Xcode는 에어비앤비 iOS엔지니어가 선호하는 IDE입니다. 하지만 iOS개발자의 생산성을 향상시킬 수 있는 다른 빌드 시스템도 확인하기로 했습니다. 아티팩트의 네트워크 캐시, 빌드 그래프에 대한 쿼리 인터페이스, 사용자 정의 단계를 종속성으로 추가하는 방법이 눈에 띄었습니다. 우리.. 2023. 8. 31.