⭐ Flutter Github star 100k 달성 ⭐ Flutter(이하 플러터라고 하겠습니다)가 9/3일 부로 하이브리드 앱 최초로 Github star 수가 100k를 넘은 프로젝트가 되었습니다. React-native 를 앞지른 지 얼마 안되어 100k도 뚫어버리네요. 🙋 이게 의미하는게 뭔가요? 🙋 전체 Github 프로젝트중에 17위 입니다. 1위가 314k 인데 이건 그냥 튜토리얼 모음이군요. 그 위에 있는 프로젝트는 vue (171k, 3위), react (155k, 5위) 가 있네요. Vue 는 중국에서 인기가 좋다고 하죠? 여튼 하이브리드앱으로써는 최초군요. 🙋 플러터는 좋은가요? 🙋 제가 플러터를 제대로 쓰기 시작한게 2018년 12월 4일 1.0이 릴리즈 된 시점부터니까 거의 2년이 다 되어가네요. 회사에서 업무적으로도, 개인적으로도 계속 사용해 왔고 최근에는 사내 프로젝트 때문에 React native 도 6개월정도 사용해 봤습니다. 플러터는 분명 단점도 존재하고 라이브러리도 상당히 부족한데다가 하드웨어 연동으로 가면 네이티브를 직접 구현해야 하는 경우도 React native 와 크게 다르지 않죠. 또한 Skia Engine 을 써서 Dart VM 위에 직접 그리는 만큼 속도저하도 종종 있구요. 🙋 별로라는 이야기인가요? 🙋 아뇨. 위의 단점을 상쇄하고 날 만큼 큰 장점이 있습니다. 그건 바로 “모든 UI는 Skia Engine 위에서 그려진다” 라는 겁니다. 물론 아주 일부 native ui 를 import 할 수도 있지만 기본은 이겁니다. 이 장점으로 인해 우리는 (원한다면) iOS 와 Android 에서 완벽하게 같은 화면을 볼 수 있고 심지어 웹 또한 그렇습니다. 지금은 속도가 느리다고요? 플러터는 모든 UI 를 60fps 로 돌리는 작업에 가장 높은 우선순위를 부여합니다. 실제로 플러터 유닛테스트를 보면 퍼포먼스 테스트가 상당히 많습니다. 또한 이는 계속 향상되고 있죠. 하드웨어가 좋아지고 있는건 덤이구요. 🙋 UI 만 좋은가요? 🙋 네이티브를 양쪽으로 개발하는 것과 비교하면 생산성이 2.5배 정도 납니다. 즉, 하나를 개발하더라도 플러터가 낫다는 거죠. 그건 바로 Material design 위에 완벽하게 연동되어 있는 모든 라이브러리와 위젯들 덕분입니다. Theme 으로 제어하는 UI 는 지저분한 css 로 대표되는 react-native 와는 대조되죠. 또한 플러터는 기본적인 것들이 언어 차원에서 지원됩니다. (Extension 같은 것들) 불완전한 JavaScript 를 어떻게든 써 보겠다고 TypeScript 에서 tsc 를 쓰고 babel 을 쓰고 webpack 에 ts-node 까지 어휴...그런 문제는 애초에 없죠. Hot reload 는 요즘 기본이니 넘어갑시다. (Swift UI 도 이건 됩니다.) 🙋 만능이라는 이야기군요? 🙋 아닙니다. 대표적으로 웹뷰 지원이 몹시 부실하고요. (Flickering 버그와 freezing 버그가 있습니다.) 웹은 아직 베타입니다. 속도는 가끔 알수없이 느려지고, 심지어는 아예 폰을 재부팅 시키는 적도 있습니다. (경험담) 모던 랭귀지들에 다 있는 optional 도 아직 없고요. 가야할 길이 구만리입니다. (이건 dart 쪽에서 열심히 구현중입니다.)  🙋 언제 써야 하나요? 🙋 내가 어떤 프로덕트를 만들고 있는지를 잘 알아야 플러터가 그에 꼭 맞는 옷인지를 알 수 있습니다. - 화려한 그래픽과 즉각적인 응답속도가 중요한 게임을 만들어야 한다면 플러터를 쓰지 않겠죠. - 웹 프로젝트를 한다? 그러면 고민하지 않고 react 에서 hook 을 열심히 사용하겠습니다. - 머신러닝이나 비디오 프로세싱등 고차원의 연산이 필요한 경우, 좋은 라이브러리들이 잘 구현되어 있는 네이티브를 최대한 이용할 겁니다. 하지만 적절한 애니메이션과 기민한 반응, 그리고 생산성, iOS 와 Android 를 동시에 출시해야 하는 요구조건이라면 저는 플러터를 쓰는 것에 한 표 던지겠습니다. 만능은 아니지만 꽤 좋은 도구인 플러터. 아직 안 써보셨다면 지금이라도 늦지 않았습니다. 프로젝트에 도입을 검토해 봄이 어떨까요?

The Pawan Kumar on Twitter

Twitter

The Pawan Kumar on Twitter

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2020년 9월 5일 오후 2:35

댓글 0

    함께 읽은 게시물

    개발자의 장애 공유 문화

    ... 더 보기

    개발자의 장애 공유 문화

    K리그 프로그래머

    개발자의 장애 공유 문화

     • 

    저장 14 • 조회 3,412


    아직도 루비 온 레일즈

    ... 더 보기

    Ruby on Rails #46번째 소식

    팁스터

    Ruby on Rails #46번째 소식

     • 

    저장 4 • 조회 3,373


    주니어 개발자들이 읽으면 좋은 테크 아티클 모음📚

    F-Lab 에서 주니어 개발자들이(사실 개발자라면 누구나) 보시면 좋을 아티클 모음을 공유해 주었네요! 검색엔진부터 비동기 처리, NoSQL 등 다양한 분야의 아티클들이 공유되어 있으니 관심있으신 분들은 보시면 좋겠습니다. F-Lab 에서 공유해주신 아티클 주제를 나열해보면 다음과 같습니다. 📌 구글이 직접 말하는 검색엔진의 원리 (tali.kr) 📌 검색 엔진은 어떻게 작동하는가 (xo.dev) 📌 네이버의 검색엔진의 특징과 알고리즘 (tistory.com) 📌 [네이버 블로그]네이버 검색의 원리 : 네이버 블... 더 보기

    주니어 개발자들이 읽으면 좋은 테크 아티클 모음

    F-Lab : 상위 1% 개발자들의 멘토링

    주니어 개발자들이 읽으면 좋은 테크 아티클 모음

     • 

    저장 128 • 조회 3,495


    OpenAI가 발표한 Codex의 핵심은 AI와 함께 진짜 팀으로 일하는 것 같은 경험을 준다는거네요.


    기존의 코딩 어시스턴트는 Agent라는 이름을 붙였어도 결국은 자동완성의 확장에 그치는 것이라, 즉, 나의 뇌를 확장하는 것이라 한계가 좀 명확했는데요.


    ... 더 보기

    나는 시스템 빌더이다

    ... 더 보기

    무너지고 있는 프론트엔드, 백엔드 직군의 경계에 대한 고찰

    AI 기술이 우리 일상과 산업 전반에 스며들면서 소프트웨어 개발 환경 역시 큰 변화의 물결을 맞이하고 있다. 특히 코딩을 돕는 AI 에이전트의 등장은 개발 생산성에 대한 큰 변화를 만들고 있다. 나 역시 이러한 변화를 체감하며, 나에게 익숙한 소프트웨어 개발의 대표적인 두 축인 프론트엔드와 백엔드 영역에서 AI 기술이 미치는 영향과 그로 인해 변화하는 소프트웨어 엔지니어의 역할에 대해 개인적인 생각을 정리해 본다.

    ... 더 보기

     • 

    저장 32 • 조회 3,947