NEW 기획 디자인 개발 프로덕트 아웃소싱 프리랜싱

개발

플러터 vs 리액트 네이티브 vs 네이티브, 성능이 더 우수한 것은?

인기 있는 모바일 개발 도구들로 일상적인 작업을 수행할 때, FPS(1초당 프레임 수), CPU(중앙처리장치), 메모리, GPU(그래픽처리장치)에 대한 각각의 성능을 비교하기.

 

본문은 위시켓과 번역가 전리오가 함께 만든 해외 콘텐츠 기반 번역문입니다. 스타트업과 IT 분야에 대한 정보를 다루는 스타트잇업(Start it up)을 통해 발행한 글이며, 작성자는 인베리타(inVerita)로 우크라이나에 본사를 둔 아웃소싱 및 소프트웨어 컨설팅 회사입니다. 본문은 모바일 개발 도구인 플러터, 리액트 네이티브, 네이티브의 성능을 테스트하여, 비교 분석하는 내용으로 모바일 앱을 만들기에 앞서, 참고해보시면 좋겠습니다.

 

비교 연구를 진행하게 된 배경

저희 인베리타(inVerita)의 모바일 개발팀에서는 시중에 나와 있는 크로스플랫폼(cross-platform, 여러 플랫폼에서 이용할 수 있게 하는 것) 모바일 솔루션들의 성능에 대해서 지속적으로 파헤쳐 왔습니다. 이러한 비교의 목적은 우리가 애플리케이션을 만들거나 경력을 개발하는데 있어서 플러터(Flutter), 리액트 네이티브(React Native), 또는 네이티브 앱(Native app, 플랫폼의 OS에 맞는 언어로 제작된 앱) 중에서 가장 뛰어난 기술이 무엇인지, 그리고 각각의 도구들에 대해서 우리가 주목해야 하는 부분이 무엇인지를 밝혀내기 위한 것이었습니다. 물론 이런 비교는 상당한 논란을 불러일으킬 수도 있습니다. 왜냐하면 일상적으로 수많은 계산을 수행하는 용도로는 리액트 네이티브가 적합하지 않을 수도 있기 때문입니다. 참고로 이처럼 CPU(중앙처리장치)를 많이 사용하는 작업에 있어서는 플러터나 네이티브 앱의 성능이 더 뛰어납니다.

 

그래서 우리는 이번 글에서 사람들이 일상적으로 모바일 앱을 사용하는 데 있어서 훨씬 더 크게 영향을 미치는 UI(사용자 인터페이스)의 성능에 대해서 비교를 해보기로 결정했습니다.

 

UI의 성능을 비교한다는 건 간단하지 않으며, 이를 비교하기 위해서는 엔지니어가 직접 모든 플랫폼에서 동일한 방식으로 작동하는 똑같은 기능을 구현해야 합니다. 우리는 이번 비교를 하면서 세계적인 테스트 도구인 게임벤치(GameBench)를 이용함으로써 객관성을 유지하기 위해서 노력했습니다. (그렇기는 하지만 대부분의 측면에서 우리가 플러터를 진심으로 사랑한다는 사실은 바뀌지 않습니다. 또한 저희는 리액트 네이티브와 네이티브 프로젝트도 여전히 아주 많이 진행하고 있습니다.) 물론 게임벤치에도 개선해야 할 부분이 많이 있기는 하지만, 이번 연구의 목적을 위해서는 이렇게 단일한 테스트 환경에서 비교를 하는 것이 중요했습니다.

 

그리고 이번 테스트에서 사용한 소스코드도 공개함으로써, 여러분도 직접 실험해볼 수 있게 했습니다. 그러니 혹시 의견이 있다면 자유롭게 이야기를 들려주시기 바랍니다. 그리고 UI 애니메이션은 대부분의 플랫폼에서 사용하는 도구들이 서로 다르기 때문에, 저희는 모든 플랫폼에서 지원하는 라이브러리로만 한정해서 테스트를 했습니다. 하지만 간혹 그럴 수 없을 경우에는 비슷한 테스트 환경을 구축하기 위해서 최선을 다했습니다. 이러한 비교를 할 때는 테스트 환경을 어떻게 구현하는가에 따라서 그 결과가 달라질 수 있습니다. 그리고 여러분들 중에서는 특정한 분야의 진정한 전문가가 계실 수도 있다는 걸 알고 있습니다. 따라서 혹시 이번 글을 보시면서 저희의 테스트 방식을 개선할 수 있는 부분이 있다면 말씀해주시기 바랍니다. 저희는 여러분의 의견을 기쁘게 받아들이겠습니다. 이제부터 실제 테스트 결과를 살펴보도록 하겠습니다.

 

하드웨어 정보

이번 테스트를 위해서, 저희는 샤오미(Xiaomi)의 저가 모델인 레드미 노트 5(Redmi Note 5)와 아이폰 6s(iPhone 6s)를 사용했습니다.


테스트 결과 1 – 리스트 뷰(목록 보기) 비교

우리는 네이티브, 리액트 네이티브, 플러터를 사용해서 안드로이드와 iOS 환경에서 동일한 UI를 구현했습니다. 그리고 자동으로 스크롤이 되게 했는데, 이를 위해서 안드로이드 환경에서는 RecyclerView.SmoothScroller라는 기능을 사용했습니다. 그리고 iOS 환경과 리액트 네이티브에서는 타이머 기능을 사용해서 프로그래밍 방식으로 스크롤이 내려가게 만들었습니다. 또한 플러터에서는 ScrollController라는 기능을 사용해서 리스트를 부드럽게 스크롤 하도록 구현했습니다. 각각의 경우에서 우리는 리스트 뷰에 1000개의 아이템을 넣어 놓고, 마지막 항목까지 도달하는 시간도 동일하게 설정했습니다. 또한 우리는 이들 각각의 경우에서 이미지 캐싱(image caching, 자주 사용하는 이미지를 일일이 로딩하는 것이 아니라 단말기의 메모리에 저장해놓고 사용하는 기법)을 사용했는데, 이 기능을 구현하기 위해 필요한 라이브러리는 플랫폼마다 서로 달랐습니다. 좀 더 자세한 사항은 직접 소스코드를 살펴보면 확인하실 수 있습니다.

 

이번 테스트에서 사용한 서드파티(third party, 제3업체) 라이브러리

  • iOS 이미지 로딩 및 캐싱: 뉴크(Nuke)
  • 안드로이드 이미지 로딩 및 캐싱: 글라이드(Glide)
  • 리액트 네이티브 이미지 로딩 및 캐싱: 리액트 네이티브 패스트이미지(React-native-fast-image)

이번 비교에서는 안드로이드의 GPU 테스트 결과를 진행하지 못했습니다. (안드로이드 기기는 많이 보유하고 있었지만, 안타깝게도 저희가 가진 기기들로는 테스트가 적합하지 않았습니다.)

 

 

안드로이드 테스트

테스트 결과

 

  1. FPS(1초당 프레임 수)는 모든 환경에서 거의 비슷한 결과가 나왔습니다.
  2. 안드로이드의 네이티브 앱은 플러터나 리액트 네이티브 환경에 비해서 메모리를 절반 정도만 사용하고 있습니다.
  3. 리액트 네이티브 환경은 CPU를 가장 많이 사용하고 있습니다. 그 이유는 자바스크립트(JS)와 네이티브 코드 사이에서 제이에스브리지(JSBridge)를 사용하고 있기 때문인데, 이것이 직렬화(serialization)와 역직렬화(deserialization)[1]작업을 하면서 리소스를 낭비하고 있습니다.
  4. 배터리 소모와 관련해서 안드로이드에서는 네이티브 환경의 결과가 가장 좋습니다. 리액트 네이티브는 플러터나 네이티브 환경에 비해서 많이 뒤쳐지고 있습니다. 애니메이션이 계속해서 이어지면 리액트 네이티브 환경에서는 배터리 전력을 더욱 많이 소모하고 있습니다.

 

 

아이폰 6s 테스트

테스트 결과

 

  1. FPS(1초당 프레임 수). 리액트 네이티브의 결과가 플러터나 (iOS의 네이티브 앱 개발 환경인) 스위프트(Swift)에 비해서 뒤떨어졌습니다. 그 이유는 iOS의 사물인터넷(IoT) 컴파일(compilation) 기능을 리액트 네이티브에서는 이용할 수 없기 때문입니다.
  2. 메모리. 플러터는 메모리 소모의 측면에서 네이티브 앱과 거의 비슷했지만, CPU에서는 여전히 더 무거웠습니다. 이번 테스트 항목에서는 리액트 네이티브가 플러터나 네이티브 앱에 비해서 많이 뒤쳐지고 있습니다.
  3. 플러터와 스위프트의 차이점. 플러터가 CPU를 적극적으로 이용하는 반면, iOS의 네이티브 환경은 GPU를 많이 사용하고 있습니다. 즉, 플러터는 GPU 사용량이 적은 대신에, CPU에 대한 부담이 증가하는 것입니다.

테스트 결과 2 – 애니메이션 부하 테스트

요즘에 출시되는 안드로이드와 iOS 기기들에 탑재된 하드웨어의 성능은 아주 좋은 편입니다. 그리고 대부분의 사람들이 이용하는 앱은 비즈니스 용도인 경우가 많기 때문에, FPS가 약간 떨어지더라도 그 차이가 잘 느껴지지 않습니다. 그래서 저희는 용량이 큰 애니메이션을 사용해서 테스트를 하기로 결정했습니다. 즉, FPS가 떨어지는 걸 확인할 수 있을 정도로 무거운 애니메이션이 필요했습니다. 우리는 로티(Lottie)를 이용해서 안드로이드, iOS, 리액트 네이티브 환경에서 동작하는 벡터(vector) 애니메이션을 만든 다음, 플러터 환경에서는 플레어(Flare)를 사용해서 동일한 애니메이션을 테스트했습니다.

 

안드로이드, iOS, 리액트 네이티브, 플러터용 플레어에서 사용하기 위해서 로티를 이용해서 만든 테스트 애니메이션은 아래에 있는 것입니다.

 

로티로 만든 애니메이션을 안드로이드 환경에서 실행한 모습

 

테스트 결과

 

테스트 결과

 

안드로이드

1. 이번 성능에서는 안드로이드의 네이티브 환경과 리액트 네이티브에서 비슷한 결과가 나타났습니다. 위에서 보시는 것처럼, 리액트 네이티브용 로티는 네이티브 환경과 비슷한 수치를 보였습니다. (CPU 점유율은 16-19%, FPS는 30, 29)

2. 테스트 도중에 성능이 약간 흔들리긴 했지만, 플러터의 테스트 결과가 상당히 떨어집니다. (CPU는 12%, FPS는 9) 우리는 플러터를 테스트할 때, 화면에서 특정한 애니메이션을 한 개 제거하면 FPS가 최대 40%까지 상승한다는 사실을 발견했습니다. 우리는 플레어가 무겁고 이런 종류의 작업에는 적합하지 않은 것 같다고 생각하는데, 그래서 플러터의 FPS가 현저하게 떨어지는 것 같습니다.

플러터의 FPS를 떨어트린 이미지는 바로 이것입니다.

안드로이드용 로티

 

3. 안드로이드의 네이티브 환경은 메모리 요구량이 가작 적습니다(205MB). 리액트 네이티브는 280MB, 플러터는 266MB의 메모리가 필요했습니다.

4. 앱 로딩 시간. 이 항목에 대해서는 플러터가 선두입니다(2초). 안드로이드 네이티브 환경과 리액트 네이티브의 경우에는 약 4초가 걸립니다.

 

iOS

  1. 안드로이드 환경의 네이티브와 리액트 네이티브의 결과가 비슷했던 것처럼, 이번 항목에서도 iOS와 리액트 네이티브가 거의 동일한 결과를 보였습니다.
  2. 플레어와 플러터는 이번에도 놀라울 정도로 실망스러웠습니다. 확실히 플레어는 아직도 가야 할 길이 많이 남아 있는 것 같습니다.
  3. iOS의 네이티브 환경은 메모리 요구량이 가장 적습니다(48MB). 리액트 네이티브는 135MB, 플러터는 117MB의 메모리가 필요했습니다.
  4. 앱 로딩 시간. 이 항목에 대해서는 플러터가 선두입니다(2초). iOS와 리액트 네이티브는 약 10초가 걸립니다.

참고 사항: iOS에서 플러터를 테스트할 때는 다른 플랫폼에서 이용하는 것보다 훨씬 더 무거운 라이브러리가 사용되었는데, 그래서 플러터의 FPS가 뒤쳐지는 것으로 보입니다.


테스트 결과 3 – 회전, 크기 변화, 사라지는 특징을 가진 훨씬 더 무거운 애니메이션으로 테스트

이번 테스트에서 우리는 200개의 애니메이션 이미지를 통해서 성능을 비교했습니다. 크기가 변하고, 회전하며, 사라지는 특성을 가진 애니메이션들을 동시에 표시했습니다.

 

200개의 이미지

 

테스트 결과

 

안드로이드

1. 네이티브 환경의 성능이 최고였으며, 메모리 활용도 가장 효율적이었습니다.

2. 플러터는 편하게 작업할 수 있을 정도의 성능을 보여주기는 했지만, 네이티브 환경보다 두 배나 더 많은 메모리를 소비했습니다.

3. 리액트 네이티브는 이번 항목에서 저조한 성능을 보였습니다.

 

테스트 결과

 

iOS

1. 아이폰 6s는 3개 환경 모두에서 FPS가 전혀 떨어지지 않을 정도로 상당히 강력한 성능을 선보였습니다.

2. 리액트 네이티브는 이미지를 렌더링(rendering) 할 때 주로 CPU를 사용했고, 플러터는 GPU를 사용했습니다.

3. 리액트 네이티브는 다른 환경들에 비해서 메모리를 조금 더 많이 사용했습니다.

 

결론

애니메이션을 많이 사용하지 않고 화려하지도 않은 일반적인 비즈니스 앱들에서는, 기술적으로 아무런 문제가 없었습니다. 하지만 무거운 애니메이션을 사용해야 한다면, 네이티브 앱이 가장 뛰어난 성능을 보여주고 있습니다. 그리고 플러터와 리액트 네이티브가 그 뒤를 이었습니다. CPU를 아주 많이 사용하는 작업에서는 리액트 네이티브를 사용하지 않는 것이 확실히 좋으며, CPU와 메모리를 모두 고려한 작업을 할 때에는 플러터가 가장 뛰어났습니다.

 

이러한 도구들은 각자의 비즈니스와 제품의 특성을 고려해서 선택해야 합니다. 만약에 한 개의 플랫폼에서만 MVP(최소기능제품)를 개발하고자 하는 경우에는 네이티브 환경을 사용하는 것이 좋으며, 모바일과 웹, 데스크톱 환경을 모두 지원하기 위해서는 플러터를 고려하는 것이 좋습니다. 그리고 크로스플랫폼 개발에 있어서는 조만간 플러터가 왕좌에 오를 것으로 보입니다. 물론 지금도 플러터를 이용하면 네이티브 개발 도구들과 비교해도 뒤쳐지지 않을 만큼 아주 멋진 애플리케이션을 만들 수 있습니다. 특히 개발을 위한 예산은 한정되어 있지만, 다양한 플랫폼에서 동작하는 뛰어난 성능을 가진 앱을 만들어야 하는 경우에는 최선의 선택이라고 할 수 있습니다.

 

우리는 여러 다양한 기술들을 구현하고 테스트하는 과정에 영향을 미치는 요소들이 아주 많다는 사실을 알고 있습니다. 그리고 여러분들 중에서도 특정한 플랫폼에 대한 진정한 전문가들이 있을 것이며, 우리가 애용하는 도구들을 훨씬 더 훌륭하게 활용할 수 있는 분들이 계시다는 것도 알고 있습니다. 저희는 각 애플리케이션을 테스트하는 데 있어서 단일한 환경을 조성하고 성능을 측정하기 위한 도구들도 동일한 것을 사용함으로써, 이번 테스트 과정에서 최대한 투명성을 유지하고자 노력했습니다. 여러분도 이번 글을 즐겁게 읽으셨기를 바랍니다.

 

<참고자료>

소스코드 링크

https://github.com/InVeritaSoft/Mobile_frameworks_UI-benchmarks

 

[1] 직렬화(serialization)는 데이터의 구조나 객체(object)를 어떤 환경에 저장하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정을 말하며, 그 반대의 과정이 역직렬화(deserialization)입니다.

 

> 이 글은 'Flutter vs React Native vs Native: Deep Performance Comparison'을 각색하여 작성되었습니다.

댓글 0

요즘IT의 번역글들

이 프로필을 만든 저만 해도 영어가 서툴러 영어로 된 기사는 읽는 게 더딥니다. 그래서 준비했습니다. 읽어볼만한 해외 소식들을 번역해 전합니다. We are the world.

디자인, 산출물 그 이상을 넘어

디자인

이 회사는 디자인에 투자하고 있는 회사일까요?

디자인

애자일은 정말 디자인을 배제하나요?

디자인

평판 관리가 프리랜서 경력에 미치는 영향

프리랜싱

리액트 네이티브 개발자들이 겪는 가장 빈번한 5가지 문제와 해결책

개발

“솔직히 우리가 하는 것은 스크럼이 아닙니다!”

기획

데이터 시각화가 인류를 위기에서 구한 세 가지 역사적 사건

디자인

NFT의 장밋빛 미래는 사실일까?

기획

피그마 토큰으로 디자인 시스템 만들기

디자인

디자이너+개발자 = 슈퍼팀 만들기

기획

1인 개발자로서 테크 스타트업을 운영하며

기획

웹 디자이너가 PX대신 REM을 사용해야 하는 이유

디자인

100개의 스타트업을 멘토링하며 깨달은 성공의 비밀

기획

중화권 앱 UI가 영미권 앱 UI와 다른 점 알아보기

프로덕트

내가 테크 리더로 일하면서 얻은 8가지 교훈

기획

모두가 즐길 수 있는 디자인 검토 회의 만들기

디자인

프로덕트 매니저에서 프로덕트 마스터로

기획

10배 이상 뛰어난 개발자가 되는 법

개발

제품 디자인 관점에서 바라보는 NFT 아바타 열풍

디자인

에어비앤비: 대규모 iOS 앱 개발 생산성을 위해 바꾼 것들

개발

스포티파이: 맞춤형 플레이리스트 개발 비하인드 스토리

개발

프리랜서가 일하게 될 15가지 유형의 프로젝트

프리랜싱

슬랙: 제품 원칙을 통해 다시 태어난 알림 기능

프로덕트

페이팔: 실시간 그래프 데이터베이스 분석을 통해 사기를 방지하는 방법

개발

트위터: 수십억 개의 이벤트를 실시간 처리하기

개발

슬랙: 4가지 애자일 가치와 방법

기획

스퀘어: 모바일 우선을 넘어 웹에서 누리는 모바일앱 경험

디자인

스포티파이: 카피를 언어로 만드는 UX 라이팅

기획

마이크로소프트: 디자인의 미래를 위한 4가지 원칙

디자인

메타: AR/VR 경험까지 고려한 디자인 청사진

프로덕트

슬랙: 훌륭한 마케팅 카피를 위한 5가지 원칙

기획

2022년 UX/UI 디자인 트렌드

디자인

구글: 가변 폰트의 놀라운 활용법

디자인

에어비앤비: 위기 상황에서의 디자인 원칙 5가지

디자인

어떻게 두 명의 인턴이 수백만 개의 코드들을 보호할 수 있었나

개발

Lattice로 마이크로 프론트엔드를 구축하는 법

개발

Cool Cats NFT를 구축하면서 배운 것

개발

웹 컴포넌트가 프론트엔드 프레임워크를 대신할까?

개발

당신이 NFT에 대해 알아야 할 모든 것

개발

우리에겐 이상하지만 개발자들에겐 일상인 일들

개발

Next.js 12에서 주목해야 할 5가지 변화

개발

스벨트 vs 리액트, 누가 더 뛰어날까?

개발

개발자를 위한 iOS 15의 새로운 기능

개발

내가 오픈소스를 싫어하는 이유

개발

프로덕트 매니지먼트 고객 여정 5단계

기획

클럽하우스의 인기는 모두 거품이었다?

프로덕트

데이터 기반 의사결정의 장점

기획

시각 디자인의 폐쇄성 법칙이란?

디자인

사용자 경험(UX) vs 서비스 디자인

기획

프로덕트 매니저는 하루 종일 무슨 일을 할까?

기획

제품 주도 성장은 어떻게 이루어지는가?

기획

UX를 망치지 않는 설득력 있는 배너 디자인

디자인

팝업(Pop-up)으로 불리는 것들에 대하여

디자인

드롭다운(Drop-down)으로 불리는 것들에 대하여

디자인

당신의 생각을 표현하는 새로운 이모지

디자인

가장 똑똑한 소프트웨어 엔지니어에게 배운 10가지 교훈

개발

성공적인 UX 프로젝트를 위한 가장 중요한 질문

디자인

2021년, UI 디자이너가 모바일 앱에서 흔히 저지르는 실수

디자인

IT 매니저가 되는 방법과 성공하기 위한 요소

기획

슬랙(Slack) 같은 앱을 만들려면 비용이 얼마나 들까?

개발

아웃소싱이 이토록 인기를 얻게 된 이유는?

아웃소싱

마케터가 UX 관련 역량을 키워야 하는 이유

기획

미니멀리즘 디자인의 핵심적인 요소들

디자인

새로운 소프트웨어 개발사가 필요하다는 7가지 신호

아웃소싱

2021년을 이끌어가는 프론트엔드 개발 트렌드 5가지

개발

PM을 성장시키는 학습 프레임워크

기획

UI 카피라이팅, 어떻게 써야 하나요?

기획

트렌드 예측: 경쟁에서 앞서는 방법

기획

제품 사고(product thinking)의 힘

기획

인하우스 vs 아웃소싱, 소프트웨어 개발 어떻게 하나요?

개발

그림을 못 그리는 사람도 쉽게 와이어프레임 그리는 방법

기획

스타트업 기업들에게 아웃소싱이 중요한 이유

아웃소싱

제품과 기능, 성공적으로 종료하는 방법 (下)

기획

제품과 기능, 성공적으로 종료하는 방법 (中)

기획

제품과 기능, 성공적으로 종료하는 방법 (上)

기획

UX 디자이너에게 반드시 필요한 12가지 스킬

디자인

패스워드 없는 세상이 오고 있다

개발

디자이너를 쉽게 잃는 방법 10가지

디자인

프론트엔드 코딩 작업에 영감을 줄 8가지 아이디어

개발

구글이 아웃소싱을 하는 이유: 아웃소싱 성공사례 5가지

아웃소싱

일 잘하는 PM이 되기 위한 로드맵 도구 5가지

기획

이제는 말할 수 있다! 아웃소싱에 대한 오해 11가지

아웃소싱

디자인 트렌드, 모던 미니멀 스타일의 UI 가이드

디자인

MVP 개발을 아웃소싱으로 해도 될까요?

개발

온보딩 효과를 높이는 '좋은' 귀차니즘 3가지

기획

게임처럼 즐겨라, 게임화 기법 TOP3

기획

시니어 소프트웨어 엔지니어는 어떻게 일할까?

개발

프로덕트 매니저가 글을 잘 써야 하는 이유

기획

2030년엔 사라질 수도 있는 프로그래밍 언어 5가지

개발

고객들이 언제나 옳은 것은 아니다

기획

유저 스토리는 무엇인가?

기획

고객 성공을 위한 14계명

기획

8px 그리드의 시대가 끝나고, 4px 그리드의 시대가 열릴까?

디자인

모바일 앱은 더 이상 스타트업에게 좋은 아이디어가 아니다

기획

과연 구글의 UX 강좌는 도움이 될까요?

디자인

프로덕트 매니저 여러분, ‘소비자의 요구사항 수집’을 그만두십시오

기획

고객 여정과 경험 지도의 차이점

기획

내가 AI 업계를 떠난 이유 5가지

기획

모달윈도우(팝업)를 디자인할 때 생각할 9가지 원칙

디자인

대기업 vs 중소기업, B2B SaaS 스타트업을 위한 시장은?

기획

내가 개발 인터뷰에서 면접자에게 감동한 이유

개발

HTTP의 새로운 메서드, 서치(SEARCH)에 대하여

개발

세상의 모든 프로덕트 디자이너를 위한 5가지 심리학 원칙

디자인

2021년 테스트 자동화 트렌드 리포트 (下)

개발

2021년 테스트 자동화 트렌드 리포트 (上)

개발

아마존과 스포티파이는 어떻게 사용자를 유지하고 측정할까?

기획

UX 디자이너라면 필수적으로 알아야 할 5가지 법칙

디자인

앵귤러 vs 리액트, 2021년의 승자는?

개발

2021년, SaaS 스타트업 시작을 위한 놀라운 아이디어 10가지

기획

디지털 제품 관리에서 B2B와 B2C 사이의 차이점은?

기획

빠르게 실행할 수 있는 ‘제품 요구사항 문서(PRD)’ 만들기

기획

더 나은 제품을 위한 프로덕트 메트릭스 가이드

기획

노 코드(No Code) 트렌드로 프로그래머들은 일자리를 빼앗길까?

개발

넷플릭스의 플랫폼: 코스모스(Cosmos)에 대하여

프로덕트

비즈니스와 애자일 조직은 어떻게 친해질 수 있을까요?

기획

효과적인 제품 전략 세우기: 다수의 전략적 트랙(MuST) 활용

기획

1년 만에 이메일 마케팅 효과를 극대화했던 방법

기획

솔루션 아키텍트를 위한 팁: 아키텍처 다이어그램의 5가지 유형

개발

새로운 맥 OS ‘빅서’에 대한 UX 디자이너의 생각

디자인

디자인 트렌드, 뉴모피즘의 정석

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 3편

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 2편

디자인

2021년 모바일 UX 트렌드 10가지

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 1편

디자인

앱 설정 기능의 UX를 개선하는 효과적인 방법

디자인

다크모드 UI 디자인의 원칙

디자인

온라인 고객 경험을 개선하기 위한 5가지 방법

기획

신생 스타트업에서 일하는 프로덕트 매니저를 위한 현실적인 조언

기획

웹 개발자와 소프트웨어 개발자의 차이는 무엇인가요?

개발

랜딩 페이지 디자인을 개선하는 13가지 꿀팁

디자인

오프라인 비즈니스가 온라인에서 존재감을 가져야 하는 이유 5가지

기획

상향식 가격 책정 및 패키징 정책: 사용자 여정을 가이드로 활용하기

기획

B2B 제품의 UX, 그것은 숨겨진 영역인가요?

기획

상단 내비게이션 vs 사이드 내비게이션, 어느 것이 더 나을까?

디자인

자동완성 검색 기능 UX 설계를 위한 8가지 팁

디자인

프로덕트 매니저는 전문적인 IT 기술을 갖춰야 하나요?

기획

실리콘밸리 51개 기업들이 말하는 프로덕트 매니저의 역할 9가지

기획

아웃소싱에 대한 모든 것

아웃소싱

앱 디자인 가이드, 사람들이 즐겁게 사용할 수 있는 앱을 만드는 법

디자인

처음부터 완제품이 아니라 ‘MVP’를 만들어야 한다

기획

스타트업 프로덕트 매니저로 성장하는 법, 30-60-90일 플랜

기획

당신의 두뇌는 진보하고 있다: 성취감을 위한 3가지 전략

기획

디자이너들을 편하게 해주는 HTML/CSS 마법 10가지

디자인

코딩의 미래는 ‘노 코드(No Code)’이다

개발

내가 엔지니어링 매니저로 일하면서 저지른 실수들

개발

내가 롬 리서치(Roam Research)를 좋아하는 이유와 실제 사용법 (下)

기획

내가 롬 리서치(Roam Research)를 좋아하는 이유와 실제 사용법 (上)

기획

프로그레시브 웹 앱(PWA)이란 무엇이며, 왜 필요한가?

개발

PWA vs 네이티브 앱, 어떤 것을 선택해야 할까?

개발

UI 디자인에 여백을 활용하는 8가지 팁

디자인

마이크로소프트와 링크드인의 새로운 시도, 프리랜서 마켓에 도전장을 던지다

기획

토마스넷은 왜 가입자 수를 폭발적으로 늘려준 테스트 결과를 거부했을까?

기획

잘 팔리는 기업용 소프트웨어 디자인하기

디자인

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 하편

개발

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 중편

개발

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 상편

개발

업워크(Upwork)가 조사한 요즘 가장 인기 좋은 개발 기술 15가지

개발

일자리 산업이 휴먼 클라우드(human cloud)에 적응하는 방법

기획

팬데믹 이후 세계에서의 디지털 가속화는 어떤 모습일까?

기획

같은 분야를 다룬 글들을 권해드려요.

요즘 인기있는 이야기들을 권해드려요.

일주일에 한 번!
전문가들의 IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.

일주일에 한 번! 전문가들의 요즘IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.