
네이티브의 성능과 일관된 DX를 모두 잡은 쏘카 모바일 팀의 추상화 전략
쏘카 모바일 팀이 2019년 앱 개편 이후 고수해온 개발 철학과 '쏘카프레임'의 실체를 공개합니다. Android와 iOS라는 서로 다른 환경 위에서 어떻게 동일한 사고방식으로 앱을 개발할 수 있는지, 그리고 이것이 조직의 생산성과 개발자 성장에 어떤 영향을 미치는지 상세히 다룹니다. 단순한 기술 스택을 넘어 개발자의 인지적 부하를 줄이고 비즈니스 로직에 집중하게 만드는 프레임워크의 가치를 조명합니다.
플랫폼 파편화와 기술 부채로 고민하는 모바일 리드와 DX(개발자 경험) 개선에 관심 있는 엔지니어에게 일독을 권합니다. 대규모 팀에서 코드 일관성을 강제하면서도 팀원의 성장을 도모하고 싶은 조직에 훌륭한 아키텍처적 영감을 제공할 것입니다.
Android와 iOS 플랫폼 간의 개발 파편화로 인해 코드의 일관성이 떨어지고, 개발자가 매 구현마다 새로운 기술적 선택을 해야 하는 인지적 부담이 컸다. 또한 주니어 개발자가 플랫폼 지식을 습득하고 제품 안정성을 확보하는 데 많은 시간과 불확실성이 수반되는 문제가 있었다.
양 플랫폼이 공유할 수 있는 높은 수준의 추상화 레이어인 '쏘카프레임'을 구축하여 논리와 규격을 정규화했다. 플랫폼 특화 라이브러리를 동일한 기조로 래핑하고 엄격한 코딩 컨벤션을 적용하여, 네이티브 개발 환경을 유지하면서도 마치 한 사람이 작성한 듯한 일관된 코드베이스를 구현했다.
정형화된 코드를 통해 제품 안정성과 개발 속도가 향상되었으며, 불필요한 고민이 줄어 개발자의 스트레스가 감소했다. 주니어가 실무 코드를 통해 플랫폼을 학습하는 선순환 구조를 만들었으며, 일관된 코드가 AI 코드 완성 도구의 정확도를 높이는 부수적 효과도 얻었다.
Trade-off
기존의 크로스플랫폼 솔루션에 비해 구축 및 개발 속도가 물리적으로 빠르지는 않으며, 주니어 개발자에게는 초기에 학습해야 할 프레임워크 자체의 분량이 많아 진입 장벽이 존재한다. 본문에 명시되지 않았으나 일반적인 관점에서, 엄격한 규격화로 인해 특정 플랫폼만의 최신 기능을 즉각적으로 유연하게 활용하는 데 제약이 있을 수 있다.
Android와 iOS의 서로 다른 구현 방식을 하나의 통일된 인터페이스로 묶어 개발자에게 제공하는 계층입니다.
복잡한 선택지를 줄이고 정해진 규격에 따라 사고하게 함으로써 개발 과정에서의 뇌 에너지 소모를 최소화하는 개념입니다.
생산성 향상을 통해 확보한 여유 시간을 다시 인프라 개선과 기술 학습에 투자하여 조직의 질적 성장을 끌어내는 원리입니다.




