Google, Flutter 2 출시: 새로운 기능

게시 됨: 2021-04-02

Google은 앱 빌더가 플랫폼 간 애플리케이션을 제작할 수 있도록 하는 오픈 소스 UI 개발 키트인 Flutter 버전 2.0을 출시했습니다. 업그레이드는 다양한 플랫폼에서 앱을 지원하기 위해 완전히 새로운 기능 팩과 Flutter의 향상된 이식성을 강조합니다.

오늘은 Flutter 2가 제공하는 기능을 살펴보겠습니다. 블로그를 끝까지 읽어보세요.

Flutter 2: 전체 개요

웹 지원

Flutter의 고급 웹 지원은 Flutter Engage에서 Flutter 2 출시 이벤트에서 가장 중요한 선언입니다. 이전에 웹의 기반은 주로 문서 중심이었습니다. 이제 풍부한 플랫폼 API가 페인트 API, 하드웨어 가속 2D 및 3D 그래픽, 유연한 레이아웃을 사용하여 정교한 애플리케이션 개발을 촉진합니다.

Flutter 2는 모바일에서 얻을 수 있는 것과 동일한 경험을 웹에서 렌더링하는 안정적인 웹 지원을 제공합니다. 모바일 앱 개발 서비스 전문가는 동일한 코드베이스를 사용하여 Android, iOS 및 브라우저용 앱을 빌드할 수 있습니다. Dart로 작성된 기존 Flutter 코드를 훌륭한 웹 경험으로 컴파일할 수 있습니다. Flutter 2를 사용하면 웹이 앱의 또 다른 장치 대상이기 때문입니다.

새 릴리스는 3가지 앱 시나리오에 중점을 둡니다.

  • 단일 페이지 앱(SPA)
  • 프로그레시브 웹 앱(PWA)
  • 기존 Flutter 기반 모바일 앱을 웹으로 가져와 동일한 경험 제공

Flutter는 위젯에 해당하는 HTML로 변환하지 않습니다. 오히려 Flutter의 웹 엔진은 두 가지 렌더러 중에서 선택할 수 있습니다.

  1. WebGL 및 WebAssembly를 활용하여 Skia 페인트 명령을 브라우저 캔버스에 렌더링하는 CanvasKit 렌더러
  2. 광범위한 호환성과 크기에 최적화된 HTML 렌더러

Flutter Plasma의 데모는 모바일과 데스크탑에서 원활하게 실행할 수 있는 Dart를 사용하여 정교한 웹 그래픽 경험을 쉽게 생성할 수 있음을 보여주기 위해 제작되었습니다.

커뮤니티에는 텍스트 자동 완성, PWA 매니페스트, 라우팅 및 주소 표시줄 URL 제어와 같은 일부 웹 관련 기능도 추가되었습니다.

데스크탑 지원

아직 베타 상태이며 안정적인 버전은 올해 말에 출시될 수 있습니다. 그럼에도 불구하고 그것이 무엇을 제공하는지 살펴 보겠습니다.

데스크톱 브라우저의 경우 커뮤니티에 키보드 단축키, 대화형 스크롤바, Chrome OS, Windows 및 macOS에서 쉽게 액세스할 수 있는 화면 판독기 지원이 추가되었으며 데스크톱 모드의 기본 콘텐츠 밀도가 향상되었습니다.

Google은 Flutter 데스크톱을 우수한 품질로 가져오고, 텍스트 편집이 지원되는 각 플랫폼에서 기본 경험을 제공하고, 텍스트 선택 피벗 포인트 등과 같은 기본 기능을 통합하는 등 몇 가지 개선 사항을 적용했습니다. 또한 내장 컨텍스트 메뉴를 TextField 및 Cupertino 및 Material 디자인 언어용 TextFormField 위젯. 잡기 핸들이 ReorderableListView 위젯에 추가됩니다.

업데이트된 스크롤바 위젯은 데스크탑에서 사용할 수 있는 다양한 매력적인 기능을 제공합니다. Flutter 2는 또한 Flutter 앱에 대한 명령줄 인수 관리를 허용합니다. 그렇게 하면 Windows 파일 탐색기에서 데이터 파일을 두 번 클릭하는 것과 같은 것을 앱에서 파일을 여는 데 사용할 수 있습니다.

플러터 픽스

Flutter Fix는 다양한 것들의 모음입니다. 그것은 Dart Fix로 알려진 Dart CLI 도구의 독점적인 명령줄을 가지고 있습니다. 더 이상 사용되지 않는 API 목록을 찾고 이를 사용하여 코드를 업그레이드하는 것이 도움이 됩니다. 또한 Flutter SDK와 함께 제공되는 액세스 가능한 수정 사항 목록에 액세스할 수 있습니다.

또한 Android Studio IDE, VScode 및 IntelliJ용 업데이트된 Flutter 확장 세트가 있어 유사한 액세스 가능한 솔루션 목록을 제공하고 개발자가 마우스를 사용하여 간단히 코드를 변경할 수 있습니다.

확장된 휴대성

Google은 Flutter의 극대화된 이식성을 제공하는 3개의 최근 팀을 강조합니다.

첫째, Microsoft는 Flutter에 대한 지원을 확장할 것입니다. Flutter에서 프리미엄 품질의 Windows 지원을 제공하기 위한 최근 협력과 함께 Microsoft는 접이식 Android 기기용 앱 개발을 용이하게 하는 Flutter 엔진에도 기여할 것입니다.

둘째, Canonical은 Flutter를 데스크톱으로 가져오기 위해 Google과 협력하고 있습니다. Linux에서 앱 개발 및 배포를 지원합니다. Canonical은 여러 하드웨어 구성에서 최상의 경험을 제공할 것을 약속합니다.

마지막으로, 선도적인 자동차 제조업체인 Toyota는 Flutter가 지원하는 다양한 인포테인먼트 시스템을 만들어 자동차에 차세대 디지털 경험을 제공하기 위한 획기적인 전략을 채택하겠다고 선언했습니다. Toyota는 Flutter의 스마트폰 계층 터치 시스템, 빠른 반복, 개발자 인체 공학 및 일관된 고성능 때문에 Flutter 개발자를 고용하려고 했습니다. Flutter의 임베디드 API를 통해 Toyota는 Flutter를 사용자 정의하고 최첨단 인포테인먼트 시스템 구축 요구 사항을 충족할 수 있습니다.

앱에 추가

Flutter 2는 고품질 결과를 보장하면서 모든 앱 개발 에이전시에서 개발자의 작업량을 줄이는 것을 목표로 합니다. 앱에 추가는 그 목표를 강조하는 또 다른 기능입니다.

개발자는 기존 Android 또는 iOS 앱에 Flutter를 추가할 수 있습니다. 앱에 추가 기능은 현재 기본 데이터베이스를 저장하면서 두 플랫폼 모두에서 Flutter 코드를 재사용하는 좋은 방법입니다. 이 변경으로 Google은 기본 앱에서 Flutter 엔진의 가능한 통합을 제안합니다.

플러터 폴리오

이미 논의한 바와 같이 Flutter는 이제 Android, iOS 및 웹의 3가지 플랫폼을 지원하고 베타 버전에서는 Windows, Linux 및 macOS의 3가지 추가 플랫폼을 지원합니다. 다양한 형태(소형, 대형 및 중형 화면), 다양한 관용구(웹, 모바일 및 데스크톱), 다양한 입력 모드(키보드, 마우스 및 터치)로 변경되는 앱을 어떻게 만들 수 있습니까?

Flutter Folio는 이 질문에 대한 답변을 제공합니다.

Flutter Folio는 Android, iOS, Mac, Windows, Linux 및 웹과 같은 모든 플랫폼과 장치에서 원활하게 실행되는 응용 프로그램을 만드는 Flutter의 기능을 제공하도록 설계된 스크랩북 앱입니다. 이것은 gskinner 및 Flutter 팀과 협력하여 구축된 적응형 앱의 완벽한 예입니다.

Flutter DevTools

Flutter DevTools는 Flutter 앱 디버깅에 사용됩니다. DevTools를 시작하기 전에도 모든 문제에 중점을 두는 새로운 기능이 도입되었습니다. IntelliJ, Android Studio 또는 Visual Studio Code가 예외가 있을 때마다 이를 감지하고 디버깅 프로세스를 시작하기 위해 DevTools에 이를 표시하도록 제안하는 기능입니다.

DevTools를 실행하는 동안 탭의 새로운 오류 배지는 앱의 다양한 문제를 추적하는 데 도움이 됩니다.

DevTools에는 표시된 것보다 더 높은 해상도로 그림을 쉽게 볼 수 있는 또 다른 새로운 기능이 추가되었습니다. 추가 메모리 사용과 앱 크기를 줄이는 데 도움이 됩니다. 개발자는 Flutter Inspector에서 Invert Oversized Images를 허용하여 이 기능을 켤 수 있습니다.

Google은 고정 레이아웃을 표시하는 기능도 추가했습니다. 이를 통해 개발자는 다양한 유형의 레이아웃을 디버그할 수 있습니다.

Flutter DevTools 2에서 사용할 수 있는 다른 기능은 다음과 같습니다.

  • 이제 성능 보기의 이름이 CPU 프로파일러로 변경되었습니다. 마찬가지로 타임라인 보기의 이름이 성능으로 변경되었습니다. 변경 사항은 제공하는 기능을 강조 표시합니다.
  • 새로운 메모리 보기 차트는 더 작고 사용하기 쉽고 빠릅니다. 그것은 특정 시간에 활동을 설명하는 새로운 호버 카드를 통합합니다.
  • 로깅 탭에 검색 및 필터링 기능이 추가되었습니다.
  • 평균 FS 데이터와 다양한 사용성 향상이 Flutter Frames Chart에 포함되어 있습니다.
  • 타이밍 그리드는 CPU 프로파일러 플레임 차트에 포함되어 있습니다.
  • Tracklogs 양식이 시작되어 개발자가 시작할 때 전체 로깅 기록을 확인할 수 있습니다.
  • 실패한 네트워크 요청은 즉각적인 수정을 위해 네트워크 프로파일러에서 호출됩니다.

Flutter용 Google 모바일 광고

Google은 Flutter용 Google 모바일 광고 베타 출시를 발표했습니다. 새 SDK는 배너, 네이티브, 전면 및 보상형 동영상 광고를 통합하여 다양한 광고 형식을 제공하기 위해 AdMob 및 AdManager와 잘 작동합니다.

Google은 또한 Cloud Messaging, Cloud Firestore, Cloud Function, Authentication, Cloud Storage, Crashlytics와 같은 주요 Firebase 서비스용 Flutter 플러그인에 대한 다양한 업데이트를 선언했으며, 건전한 null 안전을 위한 지원 통합과 클라우드 메시징 패키지 업데이트를 발표했습니다.

다트 2.12

이것은 Google의 또 다른 중요한 계시입니다. Dart 2.12는 건전한 null 안전을 지원합니다. null 참조 예외를 제거할 가능성이 있습니다. 그렇게 하면 개발자가 명시적으로 선택하는 경우 유형에 null 값만 포함될 수 있도록 개발 및 런타임에 보장합니다.

업데이트에는 FFI(외부 기능 인터페이스)의 일관된 응용 프로그램도 포함됩니다. 개발자는 네이티브 C API를 호출하기 위해 dart:ffi 라이브러리를 사용할 수 있습니다.

마무리 시간

보시다시피 Flutter 2는 앱 개발 영역에서 몇 가지 획기적인 변화를 가져오고 있습니다. 웹과 모바일 앱 사용 사이의 경계는 다양한 플랫폼과 장치에서 뛰어난 사용자 경험을 제공하기 위해 점차 사라지고 있습니다. 흐름을 따르고 싶다면 Flutter 2로 앱을 빌드할 때입니다!