Flutter Forward 2023: Google에서 발표한 혁신이 귀사의 비즈니스에 어떤 의미가 있습니까?
게시 됨: 2023-02-13소프트웨어 개발에서 가장 중요한 이벤트 중 하나인 Flutter Forward 2023 으로 새해를 시작하는 것보다 더 좋은 것이 있을까요? Miquido의 Flutter 개발 팀은 컨퍼런스 중에 발표된 개선 사항을 탐색하는 것이 그만큼 즐겁다고 믿습니다! 이벤트 이름인 Flutter Forward 가 실제로 예언적인 것인지 알아봅시다. 이제 가장 주목할만한 Flutter 3.7 릴리스를 마무리하고 Google의 크로스 플랫폼 프레임워크의 미래에 대한 계획을 간략하게 요약할 때입니다.
지금까지 다른 모바일 또는 웹 앱 개발 프레임워크에 비해 Flutter의 가장 중요한 이점은 개발 비용이 상당히 저렴하고 인상적인 앱 확장 가능성, 기본 앱 성능에 가깝고 복잡한 인터페이스를 구현하는 기능입니다. 그리고 Flutter가 이러한 모든 영역의 추가 개선에 초점을 맞추고 있다는 것은 비밀이 아닙니다. 그러나 정확히 어떤 업그레이드를 기대할 수 있습니까?
Flutter Forward의 기조 연설에 대해 논의하고, Google 프레임워크의 가장 중요한 4가지 향후 방향에 대해 자세히 알아보고, 2023년에 발표된 개선 사항의 비즈니스 가치를 고려해 보겠습니다.
기준선: 2022년 Flutter
Flutter는 기본 접근 방식이 제공하는 최대 기능을 유지하면서 여러 플랫폼용 애플리케이션 개발 프로세스를 최적화하기 위해 Google에서 만든 오픈 소스 프레임워크입니다. Google은 2018년 말에 첫 번째 안정적인 릴리스(Flutter 1.0)를 발표했으며 비교적 새로운 툴킷은 빠르게 세계에서 가장 인기 있는 크로스 플랫폼 개발 프레임워크가 되었습니다.
Google 프레임워크의 엄청난 인기는 놀라운 일이 아닙니다. Flutter에는 많은 이점이 있으며, 이로 인해 점점 더 많은 개발자가 이 프레임워크를 선택하고 싶어합니다. Flutter는 개발자가 단일 코드베이스에서 아름답고 사용자 친화적인 모바일, 웹 및 데스크탑 앱을 빌드할 수 있게 해주는 UI 툴킷입니다. 핫 리로드 기능 덕분에 Flutter는 코드 변경 사항을 즉시 미리 볼 수 있도록 하여 개발자의 생산성을 높입니다. 마지막으로 Flutter는 라이센스 비용이나 전용 도구가 필요하지 않은 완전한 오픈 소스 프로젝트입니다.
2023년 Flutter 개발에 집중하는 Google
Google은 2022년 거의 20개의 릴리스에서 알 수 있듯이 Flutter 개발에 전념하고 있습니다. Github에 게시된 로드맵에 따르면 Flutter는 2023년에 4개의 안정적인 릴리스와 12개의 베타 릴리스를 발표할 계획입니다. 또한 인상적인 외부 기여자 커뮤니티를 기리기 위해 , Flutter는 최근 "안정적인 릴리스 채널에 있을 때까지 기다리지 않고 베타 채널에 도달했을 때" 새로운 기능을 릴리스하고 "더 빠른 업데이트 주기를 원하는 사람들이 베타 채널을 사용하도록 권장"하는 새로운 전략을 발표했습니다.
케냐 나이로비에서 열린 Flutter Forward 행사에서 공개된 2023년 로드맵을 보면 한 가지가 분명해집니다. Flutter는 이제 크로스 플랫폼 경쟁에서 훨씬 뒤처지는 단계에 접어들고 있습니다. Flutter가 2023년에 출시할 예정인 새로운 기능의 수뿐만 아니라 성능, 품질, 접근성, 보안에서 예상되는 개선의 규모는 정말 인상적입니다. 그들 중 가장 중요한 것에 대해 논의합시다.
Flutter Forward 2023에서 발표된 4대 혁신
Flutter Forward 이벤트 동안 교차 플랫폼 프레임워크의 창립자는 다음을 포함하여 향후 릴리스에서 개발하고자 하는 4가지 주요 영역에 주목했습니다.
- 획기적인 그래픽 성능
- 웹과 모바일을 위한 완벽한 통합
- 새롭고 떠오르는 아키텍처 초기 단계
- 개발자 경험에 계속 초점을 맞춥니다.
위에서 언급한 네 가지 범주에서 가장 흥미진진한 뉴스를 자세히 살펴보겠습니다.
1. 획기적인 그래픽 성능: 임펠러 및 소재 3
Flutter Forward 이벤트에서 Flutter는 Google UI 툴킷의 그래픽 성능을 개선하기 위한 점점 더 많은 노력을 기울이고 있음을 강조했습니다. Flutter의 팀은 Flutter의 렌더링 런타임 Impeller를 다시 작성하기로 결정했을 뿐만 아니라 곧 Material 3으로의 마이그레이션을 발표했습니다. Flutter를 사용하여 디지털 제품을 개발하는 데 관심이 있는 회사에 이러한 변경 사항은 무엇을 의미합니까?
임펠러에 대한 더 많은 진전
Flutter run –enable-impeller는 애니메이션 버벅거림 문제를 수정하고 복잡한 애니메이션(예: 만화경 또는 3D)의 원활한 성능을 지원하는 것을 목표로 하는 Flutter의 렌더링 런타임을 대폭 재작성한 것입니다. Impeller는 현재 초기 베타(iOS용 미리보기 모드)에서만 사용할 수 있지만 Flutter Dev는 앞으로 몇 달 안에 Impeller의 iOS 지원을 미세 조정하고 Android 미리보기의 출시일을 발표할 계획이라고 밝혔습니다.
[Impeller]는 정말 다른 종류의 경험입니다. 너무 매끄러워요. (…) 본질적으로 우리는 범용 렌더러를 활용하는 대신 Flutter에 맞게 조정된 그래픽 렌더링 엔진을 구축할 수 있습니다.
Tim Sneath Google의 Flutter 및 Dart 제품 및 UX 담당 이사
머티리얼 3으로 Flutter 마이그레이션
Flutter Forward에서 발표된 획기적인 변경 사항 중 하나는 Material 2(M2)에서 Material 3(M3)으로의 마이그레이션입니다. Flutter의 최신 버전인 Flutter 3.7은 Google 디자인 언어의 새 버전을 기반으로 하는 위젯을 제공합니다. 이것이 중요한 변화인 이유는 무엇이며 디지털 제품에 어떤 영향을 미칠 수 있습니까?
재료 3이란?
M2와 M3에 익숙하지 않은 사람들을 위한 간단한 정보부터 시작하겠습니다. 머티리얼 디자인은 UX/UI 원칙과 기술 혁신을 결합하기 위해 2014년 Google에서 개발한 디자인 언어입니다. 그래픽 구성 요소, 지침 및 도구의 적응형 시스템은 개발자와 디자이너 간의 협력을 간소화하고 사용자 친화적인 디지털 제품을 훨씬 쉽게 구축할 수 있도록 합니다.
2021년의 최신 Material 업데이트인 Material 3는 접근성 문제의 표준화와 그래픽 구성 요소의 훨씬 더 큰 탄력성을 가져왔습니다. Material 3의 유연성은 주로 디자인 토큰, 즉 디자인 시스템을 구성하는 가장 작은 단위(예: 색상, 타이포그래피 또는 간격)에서 작동하기 위한 표준의 도입과 관련이 있습니다. 이것은 실제로 무엇을 의미합니까? Google의 쇼케이스 프로젝트 중 하나인 Flutter로 개발되고 Material 3을 기반으로 하는 Wonderous 모바일 앱을 살펴보세요!
Flutter를 Material 3으로 마이그레이션할 수 있는 가능성은 무엇입니까?
M3로의 마이그레이션은 Flutter가 매력적이고 시각적으로 매력적인 애플리케이션을 만들 수 있게 해주는 UI 툴킷과 관련하여 리더십 위치를 강화하고 있음을 의미합니다. 타이포그래피 활용, 테마 기반 UI의 빠른 구현, 동작 또는 애니메이션을 통한 움직임 도입… M3에 대한 향상된 지원 덕분에 이제 Flutter 개발자는 가장 진보된 창의적 비전을 효율적으로 실현할 수 있습니다.
물론 머티리얼 3으로의 마이그레이션은 프로세스이므로 Flutter 3.7 단계에서 프레임워크 작성자는 다음 문제에 주의를 기울입니다.
- 대부분의 Flutter 위젯이 이미 M3로 마이그레이션되었지만 개발자는 Material 3 Flutter GitHub 프로젝트의 진행 상황을 따라 지정된 위젯의 상태를 확인해야 합니다.
- 개발자는 useMaterial3 플래그를 사용하여 Material 3을 선택할 수 있습니다. 그러나 모든 Flutter와 개별 앱의 코드가 마이그레이션될 때까지 UI가 일관성이 없을 수 있습니다.
더 많은 새로운 Material 3 기능을 발견하고 싶습니까? Flutter Dev에서 준비한 대화형 데모를 확인하세요.
2. 웹과 모바일의 원활한 통합
Flutter Dev는 또한 Dart와 다른 프로그래밍 언어 간의 더 나은 통합을 보장하는 데 중점을 두고 있음을 확인했습니다. 이제 웹에서 Flutter를 임베디드 구성 요소로 사용할 수 있습니다. 모바일에서 Flutter 앱은 이제 시스템 API 또는 다른 프로그래밍 언어로 작성된 코드를 호출할 수 있습니다. Flutter의 원활한 웹 및 모바일 통합과 관련된 가장 중요한 개선 사항에 대해 논의해 봅시다!
요소 임베딩
가장 많이 논의된 Flutter Forward 개선 사항 중 하나는 웹 개발을 위한 Flutter의 새로운 표준인 기존 웹 애플리케이션에 Flutter 모듈을 내장하는 것입니다. 현재 Flutter Dev 팀에서 미리 본 새로운 기능인 요소 임베딩을 통해 웹 개발자는 표준 <div> 요소로 Flutter 콘텐츠를 쉽게 임베드할 수 있습니다. 즉, 웹 개발자는 머지않아 Flutter 위젯을 기존 애플리케이션(다른 프로그래밍 언어로 작성된 애플리케이션 포함)에 통합할 수 있게 될 것입니다.
Dart 코드에서 네이티브 API와 직접 통신
Flutter는 Dart 코드에서 네이티브 API와 직접 통신할 수 있도록 바인딩을 생성하는 두 가지 도구(iOS용 FFIgen 및 Android용 JNIgen)를 개선하기 위해 열심히 노력하고 있습니다. FFIgen 및 JNIgen은 네이티브 코드를 호출하고 이미 작성된 코드를 재사용하거나 플랫폼별 기능을 활용할 수 있도록 하여 개발 효율성을 크게 향상시킵니다. 현재 Dart는 다음과 통신할 수 있습니다.
- C (dart:ffi) → 리눅스
- Objective-C 및 Swift(dart:ffi + FFIgen 패키지) → macOS 및 iOS
- C++ (dart:ffi + FFIgen 패키지) → Windows
- Java 및 Kotlin(JNI 및 JNIgen 패키지) → Android
- 자바스크립트(js 패키지) → 웹.
JavaScript와의 상호 운용성 향상
JavaScript로 구축된 디지털 제품에 대한 새로운 기회도 있는 것 같습니다! 이제 개발자는 JavaScript에서 직접 Flutter 위젯을 구동할 수 있으며 그 반대의 경우도 가능합니다. JavaScript와의 더 나은 상호 운용성은 Google의 프레임워크를 기존 모바일 또는 웹 애플리케이션의 확장 또는 재작성 측면에서 매우 효과적으로 만드는 또 다른 개선 사항입니다.
3. 신규 및 신흥 아키텍처에 대한 초기 지원
Flutter Forward 2023에서 Flutter 팀은 Flutter를 WebAssembly(Wasm)로 컴파일하기 위한 첫 번째 노력을 공개했습니다. 이는 "클라이언트 및 서버 애플리케이션을 위해 웹에서 배포할 수 있는 프로그래밍 언어용 휴대용 컴파일 대상"(WebAssembly)입니다. Flutter 및 Dart의 제품 및 UX 담당 이사인 Tim Sneath도 로열티가 없는 개방형 표준 칩 아키텍처인 RISC-V에 대한 Flutter의 지원을 발표했습니다. 이 두 가지 결정이 더 긴 논평의 가치가 있다고 생각하는 이유는 무엇입니까?
플러터와 웹어셈블리
WebAssembly는 모든 주요 브라우저에서 플랫폼 중립적인 바이너리 명령어 형식으로 인기를 얻고 있으며 Flutter Dev 팀은 그 장점을 탐구하기를 희망합니다. Wasm은 특히 많은 양의 데이터에서 놀라운 속도와 성능이 특징입니다. 이미지 또는 비디오 처리와 관련하여 Wasm은 가장 큰 경쟁자인 JavaScript보다 비교할 수 없을 정도로 우수합니다. 그러나 이것이 Google의 프레임워크 개발에 어떻게 도움이 될 수 있습니까?
WebAssembly는 로드 시간을 개선하고 유선을 통해 전송되는 크기와 메가바이트 수를 줄여줄 것으로 보입니다. (…) WebAssembly의 잠재력은 웹과 그 이상 모두에서 이러한 새로운 종류의 휴대용 공용어가 될 수 있습니다. WebAssembly에서도 다른 언어로 다른 코드를 가져와 사용할 수 있다는 생각이 마음에 듭니다.
Tim Sneath Google의 Flutter 및 Dart 제품 및 UX 담당 이사
Flutter의 RISC-V 지원
RISC-V는 아직 초기 단계이지만 점차 업계 전반에 걸쳐 관심을 끌기 시작했습니다. Sneath에 따르면 이 아키텍처에 대한 Google의 투자는 Flutter를 위한 새로운 플랫폼을 열 수 있습니다. ARM 프로세서가 여전히 성능 면에서 선두에 있지만 RISC-V는 웨어러블 기술과 관련하여 매우 유망해 보입니다. RISC-V는 사용료가 부과되지 않는 오픈 소스 라이선스로 제공된다는 점은 말할 것도 없습니다.
4. 개발자 경험에 대한 지속적인 집중: Dart 3 alpha 및 Flutter News Toolkit
Flutter는 개발자 생산성을 높이기 위해 만들어진 프레임워크입니다. Flutter의 프로그래밍 언어인 Dart는 핫 리로드 기능으로 효율적이고 반복적인 작업을 가능하게 하므로 개발자가 전체 앱을 다시 로드하지 않고도 개발 중에 실험하고, 특성을 조정하고, 버그를 수정할 수 있습니다. 또한 Dart는 모든 플랫폼에서 빠르게 실행되고 개발자가 복잡한 UI 생성을 구현할 수 있도록 하며 마지막으로 가장 중요한 점은 배우기가 상당히 쉽다는 것입니다.
그러나 Flutter Forward 동안 Flutter Dev는 훨씬 더 생산적이고 휴대 가능하며 접근하기 쉬운 버전의 Dart를 발표했습니다. 이제 테스트를 위해 초기 알파 버전으로 제공되는 Dart 3에 대해 이야기해 봅시다!
Dart 3의 100% 사운드 null 안전: 더 이상 앱 충돌이 없습니다!
곧 출시될 Dart 3와 관련하여 가장 중요한 발표는 100% 건전한 널 안전 장치의 도입입니다. Flutter는 코드의 오버헤드와 복잡성을 줄이기 위해 null 안전 없이 실행하는 지원을 중단했습니다. Dart 3에서 모든 변수는 기본적으로 null이 아니므로 새 기능을 추가하는 비용과 복잡성이 크게 줄어듭니다.
건전한 타이핑 시스템에서는 유형을 신뢰할 수 있습니다. 즉, 유형이 null이 아니라고 명시할 때 변수는 null이 아닙니다. 이는 프로덕션이 아닌 개발 중에 문제를 포착하여 생산성을 높이고 Dart 컴파일러가 더 작고 최적화된 코드를 생성할 수 있게 합니다. (…) Dart는 기존 언어에 100% 건전한 null 안전성을 도입한다는 점에서 독특합니다.
Michael Thomsen Google의 Dart 및 Flutter PM
Dart 3의 전례 없는 표현력: 레코드, 패턴 및 액세스 제어
레코드와 패턴은 구조화된 데이터 작업을 최적화하는 Dart 3의 두 가지 새로운 주요 기능입니다. 레코드를 사용하면 Flutter 개발자가 기존 데이터를 쉽게 결합하는 새로운 데이터 구조를 구축할 수 있습니다. 패턴은 복합 데이터를 분해할 수 있습니다.
Flutter 뉴스 툴킷
Flutter News Toolkit은 모바일에서 독자에게 빠르고 비용 효율적인 방법을 모색하는 미디어 및 콘텐츠 게시자를 대상으로 하는 오픈 소스 Flutter Dev 프로젝트입니다. 디지털 혁신에 관심이 있는 콘텐츠 게시자는 이제 탐색, 검색, 인증, 광고 통합, 알림, 프로필 또는 구독을 포함하여 뉴스가 포함된 모바일 애플리케이션을 개발하는 데 필요할 수 있는 모든 것이 포함된 완전한 툴킷을 사용할 수 있습니다.
미퀴도와 플러터
많은 산업이 어려운 시기에 직면함에 따라 운영 오버헤드 최적화 및 위험 완화의 우선 순위를 지정하는 것이 중요합니다. 크로스 플랫폼 프레임워크 Flutter는 기업이 디지털 제품의 효율성, 확장성 및 수익성과 같이 실제로 관심을 가져야 하는 것에 집중할 수 있게 해주는 비용 효율적이고 안정적인 오픈 소스 솔루션입니다.
2018년에 Miquido는 Flutter에서 상업 프로젝트를 만든 최초의 유럽 회사였습니다. Abbey Road Studios의 Topline 모바일 애플리케이션은 영국의 상징적인 레이블과 관련된 아티스트의 음악 녹음 프로세스를 간소화하여 비즈니스 가정을 충족했을 뿐만 아니라 전체 모바일 앱 개발 업계의 마음을 사로잡았습니다. 그렇기 때문에 모바일 개발에서 크로스 플랫폼 기술과 Flutter가 제공하는 비즈니스 기회를 강조하고 싶습니다.
Flutter의 미래는 어떻게 될까요? 지난 몇 년간의 경험에 따르면 Flutter는 공개 약속을 지킵니다. 따라서 Flutter의 2023년 로드맵은 Google 팀이 공들여 구현한 면밀한 계획으로 간주될 수 있다고 확신합니다.