Flutter 2 những thay đổi trong năm 2021

Flutter 2 những thay đổi trong năm 2021

Web Flutter và Null Safety chuyển sang ổn định, máy tính để bàn Flutter chuyển sang phiên bản beta và hơn thế nữa!

Hôm nay, chúng tôi vui mừng thông báo về việc phát hành Flutter 2. Đã hơn hai năm kể từ khi phát hành Flutter 1.0, nhưng trong thời gian ngắn đó, chúng tôi đã đóng 24.541 vấn đề và hợp nhất 17.039 PR từ 765 cộng tác viên. Ngay từ khi phát hành Flutter 1.22 vào tháng 9, chúng tôi đã đóng 5807 vấn đề và hợp nhất 4091 PR từ 298 cộng tác viên. Xin gửi lời cảm ơn đặc biệt tới những cộng tác viên tình nguyện của chúng tôi, những người đã hào phóng dành thời gian rảnh rỗi của họ để cải thiện dự án Flutter. Những người đóng góp tình nguyện hàng đầu cho bản phát hành Flutter 2 là xu-baolin với 46 PR, a14n với 32 PR tập trung vào việc đưa Flutter đến trạng thái an toàn vô hiệu và hamdikahlounvới 20 PR đã cải thiện một số plugin Flutter. Nhưng không chỉ các lập trình viên đóng góp vào dự án Flutter; một nhóm người đánh giá PR tình nguyện tuyệt vời cũng chịu trách nhiệm xem xét 1525 PR, bao gồm hamdikahloun (một lần nữa!), CareF và YazeedAlKhalaf (mới 16 tuổi!). Flutter thực sự là một nỗ lực của cộng đồng và chúng tôi không thể có được phiên bản 2 nếu không có những người đánh giá vấn đề, cộng tác viên PR và người đánh giá mã. Bản phát hành này là dành cho tất cả các bạn.
Có rất nhiều điều thú vị xảy ra trong bản phát hành Flutter 2. Để biết tổng quan về những tính năng mới trên Flutter 2 và Dart 2.12, cũng như cách khách hàng và đối tác của chúng tôi đang sử dụng Flutter 2, hãy xem Thông báo về Flutter 2 . Để có cái nhìn chi tiết về Dart 2.12, hãy xem Thông báo về Dart 2.12 . Để biết cách tốt nhất để tận dụng web Flutter hiện được khuyến nghị sử dụng trong sản xuất, hãy xem hỗ trợ web Flutter đạt mốc ổn định .
Và, để xem bản thân Flutter 2 có gì mới, hãy tiếp tục đọc!

Web

Kể từ hôm nay, hỗ trợ web của Flutter đã chuyển từ phiên bản beta sang kênh ổn định. Với bản phát hành ổn định ban đầu này, Flutter đẩy khả năng tái sử dụng của mã lên một cấp độ khác với sự hỗ trợ của nền tảng web. Vì vậy, bây giờ khi bạn tạo ứng dụng Flutter ở chế độ ổn định, web chỉ là một mục tiêu thiết bị khác cho ứng dụng của bạn.

BEIT hợp tác với Moi Mobiili , một Nhà điều hành Mạng Ảo Di động hiện đại đang phấn đấu cho sự xuất sắc trong hoạt động thông qua số hóa, đã chọn Flutter để xây dựng ứng dụng quản lý Tài khoản Mun Moi của họ và gần đây đã ra mắt ứng dụng web của họ.

Moi Mobiili , một Nhà điều hành Mạng Ảo Di động hiện đại đang phấn đấu cho sự xuất sắc trong hoạt động thông qua số hóa, đã chọn Flutter để xây dựng ứng dụng quản lý Tài khoản Mun Moi của họ và gần đây đã ra mắt ứng dụng web của họ.

Bằng cách tận dụng nhiều điểm mạnh của nền tảng web, Flutter đã xây dựng nền tảng để xây dựng các ứng dụng web tương tác phong phú. Chúng tôi chủ yếu tập trung vào hiệu suất và các cải tiến đối với độ trung thực hiển thị của chúng tôi. Ngoài trình kết xuất HTML của chúng tôi, chúng tôi đã thêm trình kết xuất dựa trên CanvasKit mới. Chúng tôi cũng đã thêm các tính năng dành riêng cho web, chẳng hạn như tiện ích con Liên kết , để đảm bảo rằng ứng dụng của bạn đang chạy trong trình duyệt giống như một ứng dụng web.

Tìm thêm thông tin chi tiết về bản phát hành ổn định này trong bài đăng trên blog hỗ trợ web của Flutter .

Âm thanh không an toàn

An toàn không có âm thanh là một bổ sung đáng kể cho ngôn ngữ Dart, giúp tăng cường hơn nữa hệ thống loại bằng cách phân biệt loại có thể sử dụng được với loại không có khả năng vô hiệu. Điều này cho phép các nhà phát triển ngăn chặn sự cố lỗi rỗng, một lý do phổ biến khiến các ứng dụng gặp sự cố. Bằng cách kết hợp kiểm tra null vào hệ thống loại, những lỗi này có thể được phát hiện trong quá trình phát triển, do đó ngăn ngừa sự cố trong quá trình sản xuất. Tính năng an toàn không có âm thanh được hỗ trợ đầy đủ ở chế độ ổn định kể từ Flutter 2, có chứa Dart 2.12. Để biết thêm chi tiết, hãy xem bài đăng trên blog của Dart 2.12 .

Kho lưu trữ gói pub.dev đã có hơn 1.000 gói an toàn rỗng được xuất bản, bao gồm hàng trăm gói của nhóm Dart , Flutter , Firebase và Material . Nếu bạn là tác giả của gói, hãy xem lại hướng dẫn di chuyển và cân nhắc di chuyển ngay hôm nay.

Máy tính để bàn

Trong bản phát hành này, chúng tôi vui mừng thông báo rằng hỗ trợ máy tính để bàn của Flutter có sẵn trong kênh ổn định dưới cờ phát hành sớm. Điều này có nghĩa là chúng tôi đã sẵn sàng để bạn dùng thử nó như một mục tiêu triển khai cho các ứng dụng Flutter của bạn: bạn có thể coi nó như một “ảnh chụp nhanh beta” xem trước bản phát hành ổn định cuối cùng sẽ ra mắt vào cuối năm nay.

Để đưa máy tính để bàn Flutter đến mức chất lượng này, đã có những cải tiến cả lớn và nhỏ, bắt đầu bằng cách làm việc để đảm bảo rằng chỉnh sửa văn bản hoạt động giống như trải nghiệm gốc trên mỗi nền tảng được hỗ trợ, bao gồm các tính năng cơ bản như điểm xoay chuyển văn bản và khả năng để dừng sự lan truyền của một sự kiện bàn phím sau khi nó đã được xử lý . Về phía đầu vào chuột, thao tác kéo bằng thiết bị trỏ có độ chính xác cao giờ đây bắt đầu ngay lập tức thay vì chờ đợi độ trễ cần thiết khi xử lý đầu vào cảm ứng. Ngoài ra, một menu ngữ cảnh tích hợp đã được thêm vào các tiện ích TextField và TextFormField cho các ngôn ngữ thiết kế Material và Cupertino . Cuối cùng, tay cầm đã được thêm vào vào tiện ích ReorderableListView.

BEIT giới thiệu những gì mới của fluter 2

BEIT giới thiệu những gì mới của fluter 2

ReorderableListView luôn tốt trong việc di chuyển các mục với rất ít nỗ lực từ phía bạn với tư cách là nhà phát triển, nhưng nó yêu cầu người dùng bắt đầu kéo bằng cách nhấn và giữ. Điều đó có ý nghĩa trên thiết bị di động, nhưng ít người dùng máy tính để bàn sẽ nghĩ rằng phải nhấn và giữ chuột trên một mục để di chuyển nó, vì vậy bản phát hành này bao gồm một tay cầm thích hợp cho đầu vào bằng chuột hoặc cảm ứng. Một cải tiến khác cho chức năng thành ngữ nền tảng là một thanh cuộn được cập nhật hiển thị chính xác cho hệ số hình thức trên máy tính để bàn.

Bản phát hành này bao gồm tiện ích Thanh cuộn được cập nhật hoạt động tốt trong môi trường máy tính để bàn

Các widget CupertinoFormSection , CupertinoFormRow và CupertinoTextFormFieldRow giúp tạo các trường biểu mẫu đã được xác thực với tính thẩm mỹ hình ảnh từng phần của iOS dễ dàng hơn.

tiếp tục nghiên cứu các cải tiến hiệu suất cho iOS và Flutter nói chung khi nói đến trình tạo bóng và hoạt ảnh

Tiếp tục nghiên cứu các cải tiến hiệu suất cho iOS và Flutter nói chung khi nói đến trình tạo bóng và hoạt ảnh

Ngoài tính năng hoạt động cho iOS, chúng tôi đang tiếp tục nghiên cứu các cải tiến hiệu suất cho iOS và Flutter nói chung khi nói đến trình tạo bóng và hoạt ảnh. iOS tiếp tục là nền tảng hàng đầu cho Flutter và chúng tôi sẽ tiếp tục làm việc để mang đến những cải tiến hiệu suất và tính năng mới quan trọng.

Các widget mới: Autocomplete và ScaffoldMessenger

Bản phát hành này của Flutter đi kèm với hai widget mới bổ sung, AutocompleteCore và ScaffoldMessenger. AutocompleteCore đại diện cho chức năng tối thiểu cần thiết để có được chức năng tự động hoàn thành vào ứng dụng Flutter của bạn.

AutocompleteCore đại diện cho chức năng tối thiểu cần thiết để có được chức năng tự động hoàn thành vào ứng dụng Flutter của bạn.

AutocompleteCore đại diện cho chức năng tối thiểu cần thiết để có được chức năng tự động hoàn thành vào ứng dụng Flutter của bạn.

Tự động điền là một tính năng thường được yêu cầu cho Flutter, vì vậy bản phát hành này bắt đầu cung cấp chức năng này. Bạn có thể sử dụng nó ngay hôm nay, nhưng nếu bạn tò mò về thiết kế cho tính năng hoàn chỉnh, hãy xem tài liệu thiết kế tự động hoàn thành .

Tương tự như vậy, ScaffoldMessenger được tạo ra để giải quyết một số vấn đề liên quan đến SnackBar, bao gồm khả năng dễ dàng tạo SnackBar để phản ứng với hành động AppBar, tạo SnackBars để tồn tại giữa các lần chuyển đổi Scaffold và có thể hiển thị SnackBar khi hoàn thành một hành động không đồng bộ, ngay cả khi người dùng đã điều hướng đến một trang có Scaffold khác.

ScaffoldMessenger được tạo ra để giải quyết một số vấn đề liên quan đến SnackBar

ScaffoldMessenger được tạo ra để giải quyết một số vấn đề liên quan đến SnackBar

Tất cả những điều tốt đẹp này có thể là của bạn với một vài dòng mã mà bạn nên sử dụng từ bây giờ để hiển thị SnackBars của mình:

final messenger = ScaffoldMessenger.of(context);
messenger.showSnackBar(SnackBar(content: Text(‘I can fly.’)));

Như bạn có thể tưởng tượng, còn nhiều điều hơn thế nữa; để biết chi tiết, hãy xem một video xuất sắc của Kate Lovett trên ScaffoldMessenger .

Nhiều phiên bản Flutter với Add-to-App

Qua trao đổi với nhiều nhà phát triển Flutter, chúng tôi biết rằng một số lượng đáng kể bạn không có đủ điều kiện để bắt đầu một ứng dụng hoàn toàn mới nhưng bạn có thể tận dụng Flutter bằng cách thêm nó vào các ứng dụng iOS và Android hiện có của mình. Tính năng này, được gọi là Add-to-App , là một cách tuyệt vời để sử dụng lại mã Flutter của bạn trên cả hai nền tảng di động trong khi vẫn bảo toàn cơ sở mã gốc hiện có của bạn. Tuy nhiên, đối với những người trong số các bạn đang làm điều đó, đôi khi chúng tôi nghe nói rằng không rõ ràng về cách tích hợp màn hình đầu tiên vào Flutter. Việc đan xen Flutter và màn hình gốc khiến trạng thái điều hướng khó duy trì và việc tích hợp nhiều Flutter ở cấp độ xem sẽ sử dụng rất nhiều bộ nhớ.

Trước đây, các phiên bản Flutter bổ sung có cùng chi phí bộ nhớ như phiên bản đầu tiên. Trong Flutter 2, chúng tôi đã giảm chi phí bộ nhớ tĩnh của việc tạo các công cụ Flutter bổ sung từ ~ 99% xuống ~ 180kB mỗi trường hợp.

 

Các API mới để kích hoạt tính năng này đang ở bản xem trước trên kênh beta

Các API mới để kích hoạt tính năng này đang ở bản xem trước trên kênh beta

 

Các API mới để kích hoạt tính năng này đang ở bản xem trước trên kênh beta và được ghi lại trên flash.dev cùng với một tập hợp các dự án mẫu thể hiện mẫu mới này . Với thay đổi này, chúng tôi khuyên bạn nên tạo nhiều phiên bản của công cụ Flutter trong các ứng dụng gốc của bạn.

Sửa lỗi Flutter

Bất cứ khi nào bất kỳ khung công tác nào trưởng thành và tập hợp những người dùng có cơ sở mã ngày càng lớn, xu hướng theo thời gian là tránh thực hiện bất kỳ thay đổi nào đối với API khung công tác để tránh phá vỡ số lượng dòng mã ngày càng tăng. Với hơn 500.000 nhà phát triển Flutter trên một số nền tảng ngày càng tăng, Flutter 2 nhanh chóng được xếp vào danh mục này. Tuy nhiên, để chúng tôi tiếp tục cải thiện Flutter theo thời gian, chúng tôi muốn có thể thực hiện các thay đổi đột phá đối với API. Câu hỏi đặt ra là, làm thế nào để tiếp tục cải thiện API Flutter mà không làm hỏng các nhà phát triển của chúng tôi?

Câu trả lời của chúng tôi là Flutter Fix .

Flutter Fix là sự kết hợp của nhiều thứ. Đầu tiên, có một tùy chọn dòng lệnh mới cho dartcông cụ CLI được gọi là công cụ dart fixbiết nơi tìm danh sách các API không dùng nữa và cách cập nhật mã bằng các API đó. Thứ hai, đó là danh sách các bản sửa lỗi có sẵn, được đóng gói với Flutter SDK kể từ phiên bản 2. Và cuối cùng, đó là một tập hợp các tiện ích mở rộng Flutter được cập nhật cho các IDE VS Code, IntelliJ và Android Studio. danh sách các bản sửa lỗi có sẵn là các bản sửa lỗi nhanh với ít bóng đèn sẽ giúp bạn thay đổi mã chỉ bằng một cú nhấp chuột.

Ví dụ: giả sử bạn có dòng mã sau trong ứng dụng của mình:

 

Tạo tiện ích con Flutter bằng đối số không được dùng nữa

Tạo tiện ích con Flutter bằng đối số không được dùng nữa

Vì đối số của hàm tạo này không được dùng nữa, nên nó sẽ được thay thế bằng đối số sau:

 

Tạo tiện ích con Flutter với đối số không dùng nữa được thay thế

Tạo tiện ích con Flutter với đối số không dùng nữa được thay thế

 
Ngay cả khi bạn đã quen thuộc với tất cả nhiều bản Flutter không được dùng nữa, thì số lượng thay đổi bạn phải thực hiện trong mã của mình càng lớn, bạn càng khó áp dụng tất cả các bản sửa lỗi và càng dễ mắc lỗi; con người không giỏi trong những loại công việc lặp đi lặp lại này. Nhưng máy tính là; bằng cách thực hiện lệnh sau, bạn có thể xem tất cả các bản sửa lỗi mà chúng tôi biết cách thực hiện trên toàn bộ dự án của bạn:
 
$ dart fix --dry-run
 
Nếu bạn muốn áp dụng chúng hàng loạt, bạn có thể dễ dàng làm như vậy:
 
$ dart fix --apply
 
Hoặc, nếu bạn muốn áp dụng các bản sửa lỗi này một cách tương tác trong IDE yêu thích của mình, bạn cũng có thể làm điều đó.
 
áp dụng các bản sửa lỗi này một cách tương tác trong IDE yêu thích của mình, bạn cũng có thể làm điều đó

áp dụng các bản sửa lỗi này một cách tương tác trong IDE yêu thích của mình, bạn cũng có thể làm điều đó

Mặc dù chúng tôi đã đánh dấu các API cũ là không còn được dùng trong một số năm nay, nhưng bây giờ chúng tôi đã có chính sách về thời điểm chúng tôi thực sự sẽ xóa các API không dùng nữa , Flutter 2 là lần đầu tiên chúng tôi làm như vậy. Mặc dù chúng tôi chưa nắm bắt tất cả các API không dùng nữa làm dữ liệu để cung cấp Flutter Fix, chúng tôi vẫn tiếp tục bổ sung thêm từ các API không dùng nữa và sẽ tiếp tục làm như vậy với các thay đổi đột phá trong tương lai. Mục tiêu của chúng tôi là cố gắng hết sức để làm cho API của Flutter trở nên tốt nhất có thể đồng thời giữ cho mã của bạn luôn được cập nhật khi chúng tôi làm.

Flutter DevTools

Để làm rõ rằng DevTools là một công cụ nên được sử dụng để gỡ lỗi các ứng dụng Flutter của bạn, chúng tôi đã đổi tên nó thành Flutter DevTools khi nó gỡ lỗi một ứng dụng Flutter. Ngoài ra, chúng tôi đã làm rất nhiều việc để đưa nó đến chất lượng sản xuất xứng đáng với Flutter 2.

Một tính năng mới giúp bạn khắc phục sự cố của mình ngay cả trước khi bạn khởi chạy DevTools là khả năng cho Android Studio, IntelliJ hoặc Visual Studio Code để thông báo khi có một ngoại lệ phổ biến và đề nghị đưa nó lên trong DevTools để giúp bạn gỡ lỗi nó. Ví dụ: phần sau cho thấy một ngoại lệ tràn đã được đưa vào ứng dụng của bạn, điều này sẽ đưa ra một tùy chọn trong Visual Studio Code để gỡ lỗi sự cố trong DevTools.

Trình kiểm tra Flutter trong DevTools

Trình kiểm tra Flutter trong DevTools

Nhấn nút đó sẽ đưa bạn đến ngay Trình kiểm tra Flutter trong DevTools trên tiện ích con gây ra sự cố để bạn có thể khắc phục sự cố. Chúng tôi chỉ làm điều này cho các trường hợp ngoại lệ tràn bố cục ngày hôm nay nhưng kế hoạch của chúng tôi là bao gồm loại xử lý này cho tất cả các loại ngoại lệ phổ biến mà DevTools có thể là giải pháp.

Khi bạn đã chạy DevTools, các huy hiệu lỗi mới trên các tab sẽ giúp bạn theo dõi các vấn đề cụ thể trong ứng dụng của mình.

các huy hiệu lỗi mới trên các tab sẽ giúp bạn theo dõi các vấn đề cụ thể trong ứng dụng của mình.

Một tính năng mới khác trong DevTools là khả năng dễ dàng nhìn thấy hình ảnh có độ phân giải cao hơn so với hình ảnh được hiển thị, giúp theo dõi việc sử dụng bộ nhớ và kích thước ứng dụng quá mức. Để bật tính năng này, hãy kích hoạt Đảo ngược hình ảnh quá khổ trong Trình kiểm tra Flutter.

Bật tùy chọn “Invert Oversized Images” để đánh dấu hình ảnh lớn hơn mức cần thiết

Bật tùy chọn “Invert Oversized Images” để đánh dấu hình ảnh lớn hơn mức cần thiết

Bây giờ, khi bạn hiển thị một hình ảnh có độ phân giải lớn hơn đáng kể so với kích thước hiển thị của nó, nó sẽ xuất hiện lộn ngược để giúp bạn dễ dàng tìm thấy trong ứng dụng của mình.

Tùy chọn “Invert Oversized Images” đang hoạt động

Tùy chọn “Invert Oversized Images” đang hoạt động

Ngoài ra, theo nhu cầu phổ biến, ngoài việc hiển thị chi tiết về các bố cục linh hoạt trong Trình khám phá Bố cục của Trình kiểm tra Flutter, chúng tôi cũng đã thêm khả năng hiển thị các bố cục cố định, cho phép bạn gỡ lỗi các loại bố cục.

Trình khám phá bố cục mới hiển thị chi tiết bố cục cho bố cục cố định cũng như linh hoạt

Trình khám phá bố cục mới hiển thị chi tiết bố cục cho bố cục cố định cũng như linh hoạt

Và đó không phải là tất cả. Đây chỉ là bản tóm tắt một vài tính năng mới trong Flutter DevTools 2:

  • Đã thêm thông tin FPS trung bình và cải tiến khả năng sử dụng vào biểu đồ khung Flutter
  • Gọi ra các yêu cầu mạng không thành công trong trình cấu hình mạng có nhãn lỗi màu đỏ
  • Biểu đồ chế độ xem bộ nhớ mới nhanh hơn, nhỏ hơn và dễ sử dụng hơn, bao gồm một thẻ di chuột mới để mô tả hoạt động tại một thời điểm cụ thể
  • Đã thêm tìm kiếm và lọc vào tab Ghi nhật ký
  • Theo dõi nhật ký từ trước khi DevTools được bắt đầu để bạn có thể xem toàn bộ lịch sử ghi nhật ký khi bạn khởi động nó
  • Đã đổi tên chế độ xem “Hiệu suất” thành “Hồ sơ CPU” để làm rõ hơn chức năng mà nó cung cấp
  • Đã thêm lưới thời gian vào biểu đồ ngọn lửa của Hồ sơ CPU
  • Đã đổi tên chế độ xem “Dòng thời gian” thành “Hiệu suất” để làm rõ hơn chức năng mà nó cung cấp

Và đó vẫn chưa phải là tất cả. Để có đầy đủ các thay đổi, tôi đề xuất các thông báo sau:

Android Studio / Tiện ích mở rộng IntelliJ

Plugin Flutter cho dòng IDE IntelliJ cũng đã đạt được một số tính năng mới cho Flutter 2. Để bắt đầu, có một trình hướng dẫn dự án mới, phù hợp với phong cách trình hướng dẫn mới trong IntelliJ.

Android Studio / Tiện ích mở rộng IntelliJ

Android Studio / Tiện ích mở rộng IntelliJ

Android Studio / Tiện ích mở rộng IntelliJ

Ngoài ra, nếu bạn đang sử dụng IntelliJ hoặc Android Studio trên Linux để lập trình dựa trên Flutter SDK được cài đặt từ Snap Store , thì đường dẫn Flutter snap đã được thêm vào danh sách các đường dẫn SDK đã biết. Điều này giúp người dùng Flutter snap dễ dàng hơn trong việc định cấu hình Flutter SDK trong Cài đặt. Cảm ơn MarcusTomlinson @ vì đóng góp này!

Android Studio trên Linux dễ sử dụng hơn với Flutter SDK được cài đặt qua Snap

Android Studio trên Linux dễ sử dụng hơn với Flutter SDK được cài đặt qua Snap

Còn rất nhiều thứ hay ho khác mà bạn có thể đọc trong các thông báo về các bản cập nhật gần đây:

  • Trình cắm IntelliJ M51
  • Trình cắm IntelliJ M52
  • Trình cắm IntelliJ M53
  • Trình cắm IntelliJ M54

Phần mở rộng mã Visual Studio

Tiện ích mở rộng Flutter cho Visual Studio Code cũng đã được cải thiện cho Flutter 2, bắt đầu với một số cải tiến thử nghiệm, bao gồm khả năng chạy lại các thử nghiệm không thành công.

Sau hai năm phát triển, hỗ trợ LSP (Giao thức máy chủ ngôn ngữ) cho Dart hiện đang được tung ra như là cách mặc định để truy cập trình phân tích Dart để tích hợp vào Visual Studio Code cho tiện ích mở rộng Flutter. Hỗ trợ LSP cho phép một số cải tiến cho sự phát triển của Flutter, bao gồm khả năng áp dụng tất cả các bản sửa lỗi của một loại nhất định trong tệp Dart hiện tại và hoàn thành mã để tạo ra các lệnh gọi hàm hoàn chỉnh, bao gồm dấu ngoặc đơn và các đối số bắt buộc.

hỗ trợ LSP (Giao thức máy chủ ngôn ngữ)

hỗ trợ LSP (Giao thức máy chủ ngôn ngữ)

Đây chỉ là một vài bản cập nhật mà tiện ích mở rộng Visual Studio Code cho Flutter đã được hưởng gần đây. Bạn có thể đọc danh sách đầy đủ trong các thông báo sau:

  • Trình cắm mã Visual Studio v3.16
  • Trình cắm mã Visual Studio v3.17
  • Trình cắm mã Visual Studio v3.18
  • Trình cắm mã Visual Studio v3.19
  • Trình cắm mã Visual Studio v3.20

DartPad được cập nhật để hỗ trợ Flutter 2

Danh sách các bản cập nhật công cụ này sẽ không hoàn chỉnh nếu không đề cập đến DartPad, đã được cập nhật để hỗ trợ Flutter 2.

DartPad đã được cập nhật cho Flutter 2

DartPad đã được cập nhật cho Flutter 2

Giờ đây, bạn có thể dùng thử phiên bản Flutter an toàn mới mà không cần rời khỏi trình duyệt yêu thích của mình.

Cập nhật hệ sinh thái

Trải nghiệm phát triển Flutter bao gồm nhiều thứ hơn là khuôn khổ và các công cụ; nó cũng bao gồm một loạt các gói và plugin có sẵn cho các ứng dụng Flutter. Trong thời gian kể từ bản phát hành ổn định Flutter cuối cùng, nhiều điều đã xảy ra trong không gian đó. Ví dụ: giữa máy ảnh và các plugin video_player, gần 30 PR đã được hợp nhất để tăng chất lượng của cả hai. Nếu bạn đã gặp khó khăn khi sử dụng một trong hai thứ này trong quá khứ, bạn nên có một cái nhìn khác; chúng tôi nghĩ rằng bạn sẽ thấy chúng mạnh mẽ hơn nhiều.

Ngoài ra, nếu bạn là người dùng Firebase, chúng tôi vui mừng thông báo rằng các plugin phổ biến nhất đã được nâng cao chất lượng sản xuất, bao gồm hỗ trợ an toàn vô hiệu và bộ tài liệu tham khảo đầy đủ và hướng dẫn sử dụng phổ biến cho Android, iOS, web, và macOS. Các plugin này bao gồm:

  • Cốt lõi
  • Xác thực
  • Cloud Firestore
  • Chức năng đám mây
  • Nhắn tin qua đám mây
  • Lưu trữ đám mây
  • Crashlytics

Ngoài ra, nếu bạn đang tìm kiếm báo cáo sự cố cho ứng dụng của mình, bạn có thể muốn xem xét Sentry, công ty đã công bố SDK mới cho ứng dụng Flutter .

Công cụ báo cáo sự cố Sentry hiện hỗ trợ Flutter

Công cụ báo cáo sự cố Sentry hiện hỗ trợ Flutter

 

Chúng ta có gì mới trong Flutter 2?

Với SDK của Sentry dành cho Flutter, bạn có thể được thông báo về các lỗi xảy ra trên Android, iOS hoặc nền tảng gốc trong thời gian thực. Bạn có thể xem chi tiết trong tài liệu Sentry .

Ngoài ra, nếu bạn chưa thấy các plugin “cộng” của Cộng đồng Flutter , bạn sẽ muốn xem chúng. Họ đã chia nhỏ một số plugin phổ biến do nhóm Flutter phát triển ban đầu và đã bổ sung hỗ trợ an toàn vô hiệu, hỗ trợ cho các nền tảng bổ sung và một bộ tài liệu hoàn toàn mới cũng như bắt đầu khắc phục các sự cố thích hợp từ kho lưu trữ của Flutter / plugins. Các plugin này bao gồm những thứ sau:

  • Báo thức Android +
  • Android Intent +
  • Pin +
  • Kết nối +
  • Thông tin thiết bị +
  • Thông tin mạng +
  • Thông tin gói +
  • Cảm biến +
  • Chia sẻ +

Tại thời điểm này, số lượng gói và plugin tương thích với Flutter lớn hơn 15.000, điều này khiến bạn khó tìm được những gói và plugin mà bạn nên xem xét đầu tiên. Vì lý do này, chúng tôi công bố Điểm Pub (điểm phân tích tĩnh), xếp hạng mức độ phổ biến, lượt thích và, với chất lượng đặc biệt cao, một chỉ định đặc biệt cho những gói được đánh dấu là Yêu thích của Flutter . Trong thời gian cho Flutter 2, chúng tôi đã thêm một số gói mới vào danh sách yêu thích:

  • animation_text_kit
  • bottom_navy_bar
  • dao bầu
  • font_awesome_flutter
  • Flagship_local_notifications
  • just_audio

Xin chúc mừng tác giả của những gói này! Nếu bạn chưa kiểm tra chúng hoặc các gói còn lại trong danh sách , bạn nên làm như vậy.

Và cuối cùng nhưng chắc chắn không kém phần quan trọng, đối với các tác giả gói hoặc người dùng gói quan tâm đến việc liệu phiên bản mới nhất của gói có hoạt động trên phiên bản Flutter gần đây hay không, bạn sẽ muốn xem trang web pub.green mới của Codemagic .

Trang web pub.green mới của Codemagic cho thấy khả năng tương thích đối với các gói hàng đầu với các bản phát hành Flutter gần đây

Trang web pub.green mới của Codemagic cho thấy khả năng tương thích đối với các gói hàng đầu với các bản phát hành Flutter gần đây

Trang pub.green kiểm tra khả năng tương thích của các gói Flutter và Dart có sẵn trên pub.dev với các phiên bản Flutter khác nhau. Hãy coi nó như là “tôi có thể sử dụng” cho Flutter. Để biết thêm chi tiết, tôi đề xuất bài đăng trên blog thông báo từ nhóm CodeMagic .

Thay đổi đột phá

Chúng tôi đã thực hiện các thay đổi đột phá sau cho Flutter 2, nhiều thay đổi trong số đó có thể được giảm thiểu tự động bằng cách sử dụng dart fixlệnh hoặc các bản sửa lỗi nhanh trong IDE mà bạn lựa chọn:

  • 61366 Tiếp tục clip
  • 66700 Mặc định của FittedBox clipBehavior to none
  • 68905 Xóa thông số nullOk khỏi API độ phân giải màu Cupertino
  • 69808 Xóa nullOk khỏi Scaffold.of và ScaffoldMessenger.of, tạo có thểOf cho cả hai
  • 68910 Xóa tham số nullOk khỏi Router.of và đặt nó trả về giá trị không thể nullable
  • 68911 Thêm có thểLocaleOf vào Bản địa hóa
  • 68736 Xóa nullOK trong Media.queryOf
  • 68917 Xóa tham số nullOk khỏi Focus.of, FocusTraversalOrder.of và FocusTraversalGroup.of
  • 68921 Xóa tham số nullOk khỏi Shortcuts.of, Actions.find và Actions.handler
  • 68925 Xóa tham số nullOk khỏi AnimatedList.of và SliverAnimatedList.of
  • 69620 Xóa các phương thức không dùng nữa khỏi BuildContex
  • 70.726 Hủy bỏ tham số nullOk từ Navigator.of và thêm Navigator.maybeOft
  • 72017 Xóa CupertinoTextThemeData.brightness không dùng nữa
  • 72395 Xóa [PointerEnterEvent, PointerExitEvent] .fromHoverEvent không dùng nữa
  • 72532 Xóa showDialog.child không dùng nữa
  • 72890 Xóa Scaffold.resizeToAvoidBottomPadding không dùng nữa
  • 72893 Xóa các WidgetsBinding không dùng nữa. [DeferFirstFrameReport, allowFirstFrameReport]
  • 72901 Xóa StatefulElement.inheritFromElement không dùng nữa
  • 72903 Xóa các phương thức Phần tử không dùng nữa
  • 73604 Xóa CupertinoDialog không dùng nữa
  • 73745 Xóa các hành động không dùng nữaForegroundColor khỏi Cupertino [Sliver] NavigationBar
  • 73746 Xóa ButtonTheme.bar không dùng nữa
  • 73747 Xóa bỏ span không dùng nữa
  • 73748 Xóa RenderView.scheduleInitialFrame không dùng nữa
  • 73749 Xóa Layer.findAll không dùng nữa
  • 75657 Xóa tham số vestigial nullOk khỏi Localizations.localeOf
  • 74680 Xóa nullOk khỏi Actions.invoke, thêm Actions.maybeInvoke

Tóm lược

Cuối cùng, từ tất cả chúng tôi ở đây trong Nhóm Flutter tại Google, chúng tôi muốn nói – cảm ơn bạn. Cảm ơn bạn × 150.000 vì hơn 150.000 ứng dụng Flutter đã ra mắt trong cộng đồng chỉ trong hai năm qua. Trong trường hợp bạn bỏ lỡ, chúng tôi đã biên soạn một số ứng dụng Flutter yêu thích của chúng tôi trong Video Mashup này dành riêng cho bạn, cộng đồng, được phát ở phần mở đầu của bài phát biểu Flutter Engage.

Nếu không có sự hỗ trợ liên tục của bạn và sự hào hứng với những gì chúng tôi đang tạo ra, thì sẽ không thể trở thành một trong những cộng đồng nhà phát triển toàn cầu sôi động nhất trên thế giới. Chúng tôi không thể chờ đợi để xem những gì bạn sẽ xây dựng tiếp theo.

Flutter và React Native vào năm 2021 – So sánh chi tiết về Framework

 

Bài viết liên quan

2024.06.11
Hướng dẫn về Elementor: Cách quản lý trang WordPress Elementor

Mục lục1 1. Khám phá các tùy chọn Elementor1.1 Cài đặt phần tử1.2 Những Widget nào được bao gồm?2 2. […]

2024.06.01
BEIT hướng dẫn cách bán hàng trên Shopify trong 7 bước đơn giản

Học cách bán hàng trên nền tảng thân thiện với người mới bắt đầu của Shopify dễ dàng đến mức […]

2024.03.18
Xử lý hình ảnh trí tuệ nhân tạo AI là gì? – Mẹo, Công cụ & Trường hợp sử dụng

Công nghệ AI vẫn còn tồn tại và đang ghi dấu ấn trong cuộc sống hàng ngày của chúng ta. Từ […]

2024.03.17
Cách kiểm tra và cập nhật lên phiên bản WordPress mới nhất

Bạn đang tự hỏi liệu trang web của bạn có đang sử dụng phiên bản WordPress mới nhất không? Với […]

2024.03.14
BEIT xây dựng hệ thống website cho hệ thống phòng khám Y học cổ truyền

benhvienchamcuu-yhctvn.com được xây dựng bởi BEIT. Chúng tôi luôn mong muốn tạo niểm tin cho khách hàng. benhvienchamcuu-yhctvn.com chuyên về […]

2023.12.10
Website của bạn có thể đứng ở vị số 1 mãi mãi ở Google không?

Khi bạn đang xây dựng doanh nghiệp của mình và xây dựng sự hiện diện trực tuyến, bạn có một […]