#Mobile

쏘카프레임 - 앱 프레임워크와 개발자 경험

쏘카프레임 - 앱 프레임워크와 개발자 경험
01

Summary

"누가 짜도 쏘카 코드!" 100명이 한 명처럼 움직이는 쏘카프레임의 비밀

네이티브의 성능과 일관된 DX를 모두 잡은 쏘카 모바일 팀의 추상화 전략

쏘카 모바일 팀이 2019년 앱 개편 이후 고수해온 개발 철학과 '쏘카프레임'의 실체를 공개합니다. Android와 iOS라는 서로 다른 환경 위에서 어떻게 동일한 사고방식으로 앱을 개발할 수 있는지, 그리고 이것이 조직의 생산성과 개발자 성장에 어떤 영향을 미치는지 상세히 다룹니다. 단순한 기술 스택을 넘어 개발자의 인지적 부하를 줄이고 비즈니스 로직에 집중하게 만드는 프레임워크의 가치를 조명합니다.

  • 01네이티브의 안정성을 유지하며 플랫폼 간 경계를 허무는 고도의 추상화 설계
  • 02인지적 축약을 유도하여 개발자가 고민 없이 비즈니스 로직에만 전념하는 환경 구축
  • 03주니어에게는 '살아있는 설명서', 시니어에게는 '효율적 영향력'을 제공하는 협업 구조
  • 04웹과 네이티브를 자유롭게 전환하며 서비스 유동성을 극대화하는 유연한 UI 전략
  • 05잘 정규화된 코드가 AI 시대의 고품질 트레이닝 데이터가 되는 미래지향적 가치

RECOMMENDATION

플랫폼 파편화와 기술 부채로 고민하는 모바일 리드와 DX(개발자 경험) 개선에 관심 있는 엔지니어에게 일독을 권합니다. 대규모 팀에서 코드 일관성을 강제하면서도 팀원의 성장을 도모하고 싶은 조직에 훌륭한 아키텍처적 영감을 제공할 것입니다.

The Problem

Android와 iOS 플랫폼 간의 개발 파편화로 인해 코드의 일관성이 떨어지고, 개발자가 매 구현마다 새로운 기술적 선택을 해야 하는 인지적 부담이 컸다. 또한 주니어 개발자가 플랫폼 지식을 습득하고 제품 안정성을 확보하는 데 많은 시간과 불확실성이 수반되는 문제가 있었다.

The Solution

양 플랫폼이 공유할 수 있는 높은 수준의 추상화 레이어인 '쏘카프레임'을 구축하여 논리와 규격을 정규화했다. 플랫폼 특화 라이브러리를 동일한 기조로 래핑하고 엄격한 코딩 컨벤션을 적용하여, 네이티브 개발 환경을 유지하면서도 마치 한 사람이 작성한 듯한 일관된 코드베이스를 구현했다.

The Result

정형화된 코드를 통해 제품 안정성과 개발 속도가 향상되었으며, 불필요한 고민이 줄어 개발자의 스트레스가 감소했다. 주니어가 실무 코드를 통해 플랫폼을 학습하는 선순환 구조를 만들었으며, 일관된 코드가 AI 코드 완성 도구의 정확도를 높이는 부수적 효과도 얻었다.

Trade-off

기존의 크로스플랫폼 솔루션에 비해 구축 및 개발 속도가 물리적으로 빠르지는 않으며, 주니어 개발자에게는 초기에 학습해야 할 프레임워크 자체의 분량이 많아 진입 장벽이 존재한다. 본문에 명시되지 않았으나 일반적인 관점에서, 엄격한 규격화로 인해 특정 플랫폼만의 최신 기능을 즉각적으로 유연하게 활용하는 데 제약이 있을 수 있다.

03

Key Concepts

Concept · 01

추상화 레이어 (Abstraction Layer)

Android와 iOS의 서로 다른 구현 방식을 하나의 통일된 인터페이스로 묶어 개발자에게 제공하는 계층입니다.

  • 플랫폼 간의 기술적 차이를 숨기고 동일한 사고방식으로 개발 가능하게 지원
  • 서로 다른 플랫폼 개발자가 상대방의 코드를 쉽게 이해할 수 있는 교량 역할
Concept · 02

인지적 축약 (Cognitive Contraction)

복잡한 선택지를 줄이고 정해진 규격에 따라 사고하게 함으로써 개발 과정에서의 뇌 에너지 소모를 최소화하는 개념입니다.

  • 매번 새로운 구현 방식을 고민하지 않도록 논리를 규격화
  • 사람의 버릇을 형성하여 실수를 원천적으로 방지하는 가이드 제공
Concept · 03

잉여 시간의 선순환

생산성 향상을 통해 확보한 여유 시간을 다시 인프라 개선과 기술 학습에 투자하여 조직의 질적 성장을 끌어내는 원리입니다.

  • 콘텐츠 조달 시간 단축을 통해 확보된 시간을 프레임워크 고도화에 재투자
  • 조직의 지속 가능성과 개발자의 행복을 동시에 추구하는 핵심 동력