오늘날 CIO들은 전례 없는 압박에 직면해 있다. 고객을 사로잡아야 하는 것은 물론 유능한 개발자를 데려오는 데도 노력을 기울여야 한다. 거기다 사용자의 요구사항은 늘어나고 기술 변화 속도는 그 어느 때보다 빨라지는 시대다. 기본 소프트웨어 스택을 유지 및 관리하는 비용은 점점 증가하고 있다. 오늘날 CIO는 이러한 추세를 이해해야 하고, 아울러 생산적인 팀 그리고 확장 가능하고 효율적인 고성능 애플리케이션을 구축하기 위해 내려야 하는 중요한 기술 결정도 파악해야 한다.
동시에 CIO는 사용자가 요구하는 속도에 맞춰 기능을 제공해야 한다. 그 과정에서 직면하게 될 장애물은 다음고 같은 3가지가 있다.
• 치열한 고객 경쟁: 기업들은 오늘날 고객 경험이 가격과 제품만큼이나 차별화 요소라는 사실을 깨닫고 있다. 기능 속도(Feature velocity)는 좋은 고객 경험의 핵심이다. 고객은 고품질의 사용자 경험과 빠른 성능을 요구한다. 앱은 플랫폼과 기기 간에 일관성을 유지해야 하며, 같은 수준의 만족도로 끝나는 동일하고 원활하며 직관적인 여정을 제공해야 한다. 오늘날 평균적인 가정에는 16개의 커넥티드 기기가 있다. 사용자는 한 기기의 경험이 다른 기기에 비해 부족하다는 점을 알아차릴 것이다.
• 인재 부족: 하지만 개발자를 찾거나 유지하는 일이 쉽지 않다. 한 조사 결과에 따르면 무려 4,000만 개의 기술직이 인재 부족으로 인해 채워지지 않았다. 기업들은 2030년까지 개발자, 애널리스트, 테스터 채용을 약 1/4로 확대하리라 예측됐다.
• 비용 상승: 사용자는 더 빠른 속도로 점점 더 많은 기능을 요구한다. 기업들이 사용자를 만족시키려고 하면서 엔지니어링 인재 수요가 더욱더 커지고 있다. 따라서 기업들은 인재를 확보하고 기능을 더 빠르게 제공하기 위해 더 많은 비용을 지불한다. 하지만 일상적인 앱 유지관리 및 업데이트 비용이 기하급수적으로 증가할 수 있다. 별도의 네이티브 앱 및 개발팀을 관리할 때도 마찬가지다.
새로운 패러다임 전환을 만드는 '플러터'
그렇다면 오늘날의 고조되는 압박을 극복하기 위해 CIO들은 무엇을 할 수 있을까? 앞서 설명한 시장 상황으로 인해 기술 리더는 다음과 같은 3가지 ‘불완전한’ 경로를 선택할 수 있다.(1) 특정 플랫폼이나 기기 하위 집합에 집중하고 다른 플랫폼을 쓰는 고객은 무시한다.
(2) 타깃 플랫폼별로 전담 개발팀을 구성한다. 여러 팀을 위해 설계, 엔지니어링 및 기타 프로세스를 조정해 복잡성, 비효율, 낭비가 발생할 수 있다. 아울러 이 접근법은 팀의 스킬이 차세대 소비자 기기와 일치하지 않을 경우에도 위험을 초래한다.
(3) 이미 웹 앱이 있다면 리액티브 네이티브(React Native)를 통해 자바스크립트 기술을 활용하여 두 모바일 타깃을 빠르게 공략한다. 인기 있는 접근법이지만 이 경로를 선택한 몇몇은 결과적으로 발생하는 모바일 경험에 만족하지 않는다.
한편 ‘기술에 능통한’ IT 리더들은 이러한 과제를 해결할 새로운 솔루션이 있다는 사실을 깨닫기 시작했다. 바로 ‘플러터(Flutter)’다. 이는 단일 코드베이스에서 네이티브로 컴파일된 다중 플랫폼 애플리케이션을 구축하기 위한 오픈소스 프레임워크다. 플러터는 다른 일반적인 네이티브 및 크로스-플랫폼 개발 접근 방식의 많은 단점을 극복하는, 다중 플랫폼 앱 개발에 관한 새롭고 간단한 접근법을 제공한다.
앱 개발 컨설팅 회사 베리 굿 벤처스(Very Good Ventures)의 CEO인 필자는 브로드웨이 해밀턴(Hamilton) 팀과 협력할 당시 모든 기기에서 아름답게 보이고 원활하게 작동해야 하는 앱(The Musical)을 제작해야 했다. 여기서 플러터는 병목 현상을 간소화하고 3개월 만에 해당 앱을 제공하는 데 도움이 됐다. 앱은 350만 회 이상 다운로드됐으며, 매월 50만 명의 관객이 사용했다. 이후 베리 굿 벤처스는 플러터를 통해 크고 작은 기업의 개발 역량을 지원하고 있다.
플러터는 어떤 화면이든 어디서나 실행되는 앱을 개발하기 위한 다중 플랫폼 소프트웨어 개발 프레임워크다. 2017년 구글에서 출시했으며, 네이티브로 컴파일된 애플리케이션을 만드는 데 단일 코드베이스와 익숙한 개발자 경험을 사용한다. 아울러 다트(Dart) 프로그래밍 언어를 사용하는 플러터는 수년에 걸쳐 새로운 버전과 기능을 도입하면서 더욱 안전하고, 신뢰할 수 있으며, 다재다능해졌다.
젯브레인(JetBrains)의 2021 개발자 생태계 현황(2021 State of Developer Ecosystem) 설문조사 결과에 의하면 플러터는 현재 가장 인기 있는 크로스 플랫폼 빌더다. 개발자들은 플러터를 사용해 50만 개의 앱을 구축했다. 또 알리바바, 토요타, 베터먼트 등의 기업에서 플러터를 사용하고 있다. 핫 리로드(hot reload) 등의 혁신 기능과 결합돼 개발자 경험을 개선하고, 개발팀이 더 긴밀하게 협력하도록 지원하며, 더 많은 기능을 더 빠르고 확장 가능한 방식으로 출시한다.
플러터를 쓰는 이유
CIO들이 새로운 기술로의 전환을 우려하는 건 당연한 일이다. CIO들은 플러터를 쓰는 개발자를 채용할 수 있는지 알고 싶어 하며, 이렇게 구성한 개발팀으로 무엇을 해야 할지 고민해야 한다. 플러터의 엔지니어링은 이러한 많은 우려 사항을 고려한다.1. 다트(Dart)가 인기다. 레드몽크(RedMonk) 애널리스트들은 최근 다트가 자바스크립트 및 파이썬과의 격차를 좁히면서 인기 있는 프로그래밍 언어 순위에서 상승하고 있다고 밝혔다. 스택 오버플로우(Stack Overflow)의 설문조사에 따르면 다트는 ‘가장 사랑받는(most-loved)’ 언어 톱 10에 꼽혔다. 자바스크립트 및 스위프트 개발자는 다트가 특히 배우기 쉽다고 말했다. 또 다트 및 플러터 개발자는 어떤 플랫폼에서도 작업할 수 있다. 이는 인재 부족 속에서 엄청난 자산이다. 2. 팀 결속력이 향상된다. 플러터를 쓰는 팀은 ‘타깃 플랫폼’이 아닌 ‘작업 중인 기능’을 기반으로 구성된다. 이로 인해 개발자가 작업하면서 인사이트와 솔루션을 더 쉽게 공유할 수 있기 때문에 효율성과 창의성을 향상시킬 수 있다. 많은 고객이 플러터로 이전한 후 개발자 만족도가 향상됐다고 말했다. 3. 플러터는 오픈소스다. 개발자가 구글의 플러터 팀과 더 광범위한 커뮤니티에 지원을 요청할 수 있기 때문에 플러터는 지난 5년 동안 빠르게 개선됐다. 개발자 커뮤니티는 견고하며, 성장하고 있다. 4. 오래 지속될 것이다. 플러터 3.0과 다트 2.17 출시에는 이 소프트웨어와 프로그래밍 언어의 안정성과 성숙도와 관련해 중요한 투자가 포함됐다. 구글은 구글 광고와 구글 페이 앱 등의 자체 앱에 광범위하게 플러터를 사용하고 있다. 기업들은 플러터가 장기적으로 사용될 솔루션이라는 점을 알 수 있다. 5. 적은 자원으로 더 많은 일을 할 수 있다. 플러터 개발팀은 각 플랫폼에 대해 동일한 기능을 여러 번 구축할 필요가 없기 때문에 새로운 기능을 제공하는 데 집중할 수 있다. 예산과 자원이 가치 창출에 사용될 수 있다. 개발자는 기존 앱에 플러터 내장 기능을 추가해 네이티브 코드베이스에 직접 연결할 수도 있다. 이를 통해 CIO들은 플러터가 니즈에 부합하는지 확인하고 전환할 수 있다. |
한 걸음 물러서서 현재 앱 생태계 독점 구조를 제대로 볼 줄 아는 현명한 CIO라면 2개의 개발팀을 유지해서는 안 된다는 사실을 알아차릴 터다. 미래는 플러터 및 크로스 플랫폼 앱이다. 이를 무시하는 CIO들은 새로운 기업과 경쟁사가 플러터를 사용하여 앱 경험을 훨씬 더 빠르게 개선하는 동안 이러한 기회를 놓치게 될 것이다. 불필요한 플랫폼 구분에 신경 쓰지 않는 새로운 앱 개발 생태계가 도약하고 있으며, 이제 탑승할 때다.
* David DeRemer는 앱 개발 컨설팅 회사 베리 굿 벤처스(Very Good Ventures)의 설립자 겸 CEO다. ciokr@idg.co.kr