Medium - https://uxplanet.org/answering-questions-on-googles-flutter-a46a395cefe0

원문 - Digitalogy

Trend 파악을 위한 Medium 기고문 포스팅 - 구글 플러터에 대한 질문의 답변

지난 몇달간 플러터는 개발자들 사이에서 많은 인기를 얻었습니다. 알리바바에서 주문을 하거나 구글 광고에서 동작하는 플러터 결과물들을 보셨을 수도 있습니다. 더욱 환상적인 사실은 베타버전을 포함하여 몇년안에 발생한 일이라는 것입니다. 그럼에도 불구하고 많은 것이 명확하지 않죠. 따라서 여기서 여러분께 플러터가 무엇인지 개요를 설명해 드리고자 합니다. 그걸 가지고 뭘할 수 있을까요? 기사를 통해 알아보시죠.

1. What is Flutter

플러터는 오픈소스 모바일 앱 개발 프레임워크 로써 하나의 코드베이스로 멀티 플랫폼 앱을 개발할 수 있게 해줍니다. 2017년 5월에 처음 알파버전이 공개 되었고 안정적인 1.0버전은 18년 12월에 출시되었습니다. 안드로이드와 iOS를 차치하고라도 플러터는 구글의 차세대 OS인 Fuchsia의 응용프로그램 개발에 사용되고 있습니다. Fuchsia는 안드로이드를 점차적으로 대체하기 위한 목적으로 개발 중에 있습니다.

2. What is Dart? And why was it Chosen?

다트는 오픈소스의 객체 기반 프로그래밍 언어로 구글에서 만든 것입니다. 플러터에 사용되는 언어인데 AOT나 JIT로 컴파일 될 수 있습니다. AOT 컴파일은 사전 컴파일로 개발이 끝나고 컴파일을 하면 바로 출시를 할 수 있는 상태입니다. 빠른 시작과 향상된 앱 실행을 제공합니다. JIT 컴파일은 개발 중에 핫리로드를 가능하게 하는 것입니다.

가장 좋은 점은 자바와 같은 언어를 이미 알고 있다면 다트가 매우 배우기 쉬운 언어라는 것입니다.

3. What are Flutter Widgets?

플러터 앱은 위젯 트리라고도 불립니다. 각 트리의 노드들은 위젯입니다. 간단히 말해서 여러분은 작은 위젯을 가지고 복잡한 큰 위젯을 만드는 것입니다. 이것은 상속을 넘은 구성이라고 불리며 페이지를 만들 때에도 쓰입니다. 플러터의 위젯에는 두 종류가 있습니다 하나는 상태가 없는 위젯으로 한번 만들어지면 위젯의 특성을 바꿀 수 없습니다. 다른 하나는 stateful 위젯으로 동적으로 특성을 변경할 수 있습니다.

4. How Varied are Flutter Widgets for Android and IOS?

안드로이드 부터 시작을 하겠습니다. Material 컴포넌트를 위한 많은 위젯 세트가 있습니다. 이런 컴포넌트들을 사용해서 안드로이드 개발을 할 수 있습니다. 플러터의 UI 컴포넌트들은 많은 것들이 바로 사용할 수 있게 준비되어 있습니다. iOS 위젯의 경우 세트가 많이 있지는 않습니다만 개발을 하기엔 충분합니다. 그러나 위젯이 커스텀하기 편하기 때문에 큰 문제가 되진 않을 것입니다.

5. Are there Any Flutter Apps on App Stores?

2018 12월에 열린 플러터 라이브 이벤트에서 공유된 숫자에 따르면 구글 플레이 스토어에는 3천개의 플러터 앱이 있고 2백만명이 사용하고 있다고 합니다. 그 중에 가장 성공적인 것들은 InKino, SpaceX Go, Hamilton Broadway music, Alibaba, Platypus Crypto 등이 있습니다.

6. Why should you choose Flutter?

플러터는 미래에 아주 유용할 것입니다. 그러니까 구글에서 플러터를 기반으로 OS를 만들고 있기 때문에 배우는 것이 현명할 것입니다. 다른 이유로는 다음과 같은 것들이 있습니다.

  • 최신 API - 최신 앱 개발의 문제에 잘 대응할 수 있게 설계되어 있습니다
  • 자체 위젯 - 플랫폼 간에 UI를 더욱 깊게 제어할 수 있습니다.
  • 전체 컴파일에 30초도 안걸립니다.
  • 구글이 서포트하는 오픈소스 입니다.

이 정도면 충분히 배워볼만 하지 않나요?

7. Where Can I Learn Flutter?

플러터는 이달의 색상입니다. 많은 사람들이 배우고 싶어합니다. 이런 이유 때문에 온라인 강의들을 많이 볼 수 있을 것입니다. 그러나 이전에 얘기했듯이 다른 사람을 믿는 것은 어려운 일이죠. 그래서 신뢰있는 곳인 Udemy, Coursera 같은 곳에서 플러터를 배우는 것이 좋습니다.

유명한 전문가가 하는 강의라면 충분할 것입니다. 다양한 코스에서 무료 수업을 들을 수 있지만 여러분의 코스에서 증명서를 받는 것을 기억하세요. 이것이 플러터 개발자로 구직할 떄 도움이 될 것입니다.

8. Will Flutter Replace React Native?

명백하게 플러터가 리액트 네이티브보다 좋은 점과 나쁜 점이 존재합니다. 실시간으로 변화를 볼 수 있는 크로스 플랫폼이지만 여러분의 위젯을 OEM 위젯으로 컨버팅 해주지 않습니다. 최종적인 것은 아니지만 많은 것이 Fuchsia가 어떻게 동작할 지에 달려 있습니다. 만약 안드로이드를 대체한다면 플러터는 리액트 네이티브를 뛰어 넘을 것이고 만약 그게 아니라면 구글은 플러터를 더욱 개선해야 할 것입니다.

9. Is Flutter Limitted to the Mobile World Only?

당연히 아닙니다. 데스크탑 앱을 만들 때도 사용할 수 있습니다. Hummingbird 라는 웹 개발 프레임워크가 있습니다. 어떻게 그게 가능할까 라고 의문이 드신다면 여러분은 플러터가 플랫폼의 자원에 독립적이라는 사실을 기억하셔야 합니다. 자체적인 UI를 만들고 스스로 렌더링을 합니다. 이것이 플러터를 강력하고 가볍게 만드는 이유입니다.

10. How to Hire Flutter Developers?

그래서 여러분이 플러터 개발자를 채용하려고 한다면 가장 좋은 것은 플러터를 가지고 작업을 해본 경력자가 최적일 것입니다. 채용 플랫폼이나 여러분의 요구사항을 들고 앱 개발 부서에 컨택을 하세요. 이것은 플러터의 성숙도가 낮기 때문이며 많은 사람이 잘 모르기 때문입니다. 따라서 초보자를 고용한다면 시간을 낭비하게 될 것입니다.

Summary

  • 플러터에 대한 개요

© 2019. All rights reserved.

Powered by Hydejack v8.1.1