Chuyển đến nội dung chính

Announcing Flutter 2

 


Phụ lục:


  • Flutter on the web

  • Flutter 2 on desktops, foldables, and embedded devices

  • The growing Flutter ecosystem

  • Dart: The secret sauce behind Flutter

  • Flutter 2: Available now

Hôm nay, chúng tôi sẽ công bố Flutter 2: một bản nâng cấp lớn cho Flutter cho phép các nhà phát triển tạo các ứng dụng đẹp, nhanh chóng và di động cho bất kỳ nền tảng nào. Với Flutter 2, bạn có thể sử dụng cùng một cơ sở mã để gửi các ứng dụng gốc cho năm hệ điều hành: IOS, Android, Windows, macOS và Linux; cũng như trải nghiệm web nhắm mục tiêu các trình duyệt như Chrome, Firefox, Safari hoặc Edge. Flutter thậm chí có thể được nhúng vào ô tô, TV và thiết bị gia dụng thông minh, mang đến trải nghiệm di động và lan tỏa nhất cho thế giới điện toán xung quanh.


Mục tiêu của chúng tôi là thay đổi cơ bản cách các nhà phát triển nghĩ về việc xây dựng

ứng dụng, bắt đầu không phải với nền tảng bạn đang nhắm mục tiêu mà là với trải nghiệm

bạn muốn tạo. Flutter cho phép bạn tạo ra những trải nghiệm tuyệt đẹp trong đó thương hiệu

và thiết kế của bạn đi đầu. Flutter rất nhanh, biên dịch nguồn của bạn thành mã máy,

nhưng nhờ sự hỗ trợ của chúng tôi về tải lại nóng trạng thái, bạn vẫn có được năng suất

của môi trường được thông dịch, cho phép bạn thực hiện các thay đổi trong khi ứng dụng

của bạn đang chạy và xem kết quả ngay lập tức. Và Flutter đang mở, với hàng nghìn cộng

tác viên bổ sung vào khung cốt lõi và mở rộng nó với một hệ sinh thái các gói.



Trong Flutter 2, được phát hành ngày hôm nay, chúng tôi đã mở rộng Flutter từ khung di

động sang khung di động, cho phép các ứng dụng của bạn chạy trên nhiều nền tảng khác

nhau mà không có hoặc ít thay đổi. Chỉ riêng trên Cửa hàng Play đã có hơn 150.000 ứng

dụng Flutter và mọi ứng dụng đều được nâng cấp miễn phí với Flutter 2 vì giờ đây chúng có

thể phát triển để nhắm mục tiêu đến máy tính để bàn và web mà không cần viết lại.


Khách hàng từ khắp nơi trên thế giới đang sử dụng Flutter, bao gồm các ứng dụng phổ

biến như WeChat, Grab, Yandex Go, Nubank, Sonos, Fastic, Bettermentrealtor.com.

Tại Google, chúng tôi phụ thuộc vào Flutter và hơn một nghìn kỹ sư tại Google đang xây

dựng ứng dụng với Dart và Flutter. Trên thực tế, nhiều sản phẩm trong số đó đã được

vận chuyển, bao gồm Stadia, Google One và Google Nest Hub.



Google Pay đã chuyển sang Flutter vài tháng trước cho ứng dụng di động hàng đầu của họ

và họ đã đạt được những thành tựu lớn về năng suất và chất lượng. Bằng cách thống nhất

cơ sở mã, nhóm đã loại bỏ sự chênh lệch về tính năng giữa các nền tảng và loại bỏ hơn

nửa triệu dòng mã. Google Pay cũng báo cáo rằng các kỹ sư của họ làm việc hiệu quả hơn

rất nhiều, với việc giảm đáng kể nợ kỹ thuật và các quy trình phát hành thống nhất như đánh

và thử nghiệm bảo mật trên cả IOS và Android.


1. Flutter on the web


Có lẽ thông báo lớn nhất duy nhất trong Flutter 2 là hỗ trợ chất lượng sản xuất cho web.


Nền tảng ban đầu của web là tập trung vào tài liệu. Nhưng nền tảng web đã phát triển để

bao gồm các API nền tảng phong phú hơn cho phép các ứng dụng có độ phức tạp cao với

đồ họa 2D và 3D được tăng tốc phần cứng cũng như các API sơn và bố cục linh hoạt. Hỗ

trợ web của Flutter được xây dựng dựa trên những đổi mới này, cung cấp một khuôn khổ

tập trung vào ứng dụng để tận dụng tối đa tất cả những gì web hiện đại cung cấp.


Bản phát hành đầu tiên này tập trung vào ba tình huống ứng dụng cụ thể:


  • Progressive web apps (PWAs) kết hợp phạm vi tiếp cận của web với khả năng 

của ứng dụng dành cho máy tính để bàn.

  • Single page apps (SPAs) tải một lần và truyền dữ liệu đến và đi từ các dịch vụ 

internet.

  • Đưa các ứng dụng di động Flutter hiện có lên web, cho phép chia sẻ mã cho cả 

hai trải nghiệm.


Trong những tháng trước, khi chúng tôi chuẩn bị cho việc phát hành ổn định hỗ trợ web,

chúng tôi đã đạt được nhiều tiến bộ trong việc tối ưu hóa hiệu suất, thêm một công cụ kết

xuất hỗ trợ CanvasKit mới được xây dựng với WebAssembly. Flutter Plasma, một bản demo

do thành viên cộng đồng Felix Blaschke xây dựng, cho thấy sự dễ dàng trong việc xây dựng

trải nghiệm đồ họa web tinh vi với Dart và Flutter cũng có thể chạy nguyên bản trên máy tính

để bàn hoặc thiết bị di động.


Chúng tôi đã mở rộng Flutter để cung cấp nền tảng web tốt nhất. Trong những tháng gần

đây, chúng tôi đã thêm tính năng tự động điền văn bản, kiểm soát các URL trên thanh địa chỉ

và định tuyến cũng như các tệp kê khai PWA. Và vì trình duyệt trên máy tính để bàn cũng

quan trọng như trình duyệt trên thiết bị di động, chúng tôi đã thêm thanh cuộn tương tác

và phím tắt, tăng mật độ nội dung mặc định ở chế độ máy tính để bàn và thêm hỗ trợ trình

đọc màn hình cho khả năng truy cập trên Windows, macOS và Chrome OS.


Một số ví dụ về các ứng dụng web được xây dựng bằng Flutter đã có sẵn. Trong số các

nhà giáo dục, iRobot nổi tiếng với Root educational robots phổ biến của họ. Hỗ trợ sản xuất

của Flutter cho web cho phép iRobot sử dụng môi trường lập trình giáo dục hiện có của họ

và chuyển nó lên web, mở rộng tính khả dụng của nó cho Chromebook và các thiết bị

khác trong đó trình duyệt là lựa chọn tốt nhất. Bài đăng trên blog của iRobot có tất cả các chi

tiết về tiến trình của họ cho đến nay và lý do tại sao họ chọn Flutter.



Một ví dụ khác là Rive, người cung cấp cho các nhà thiết kế một công cụ mạnh mẽ để tạo

hoạt ảnh tùy chỉnh có thể chuyển đến bất kỳ nền tảng nào. Ứng dụng web cập nhật của họ,

hiện đã có trong bản beta, được xây dựng hoàn toàn bằng Flutter và là một bức thư tình

gửi đến tất cả những gì Flutter có thể cung cấp trong môi trường này.



2. Flutter 2 on desktops, foldables, and embedded devices


Ngoài các thiết bị di động truyền thống và web, Flutter đang ngày càng mở rộng sang các

loại thiết bị khác và chúng tôi đã nêu bật ba mối quan hệ đối tác trong bài phát biểu hôm

nay chứng minh tính di động của Flutter.


Để bắt đầu, Canonical đang hợp tác với chúng tôi để đưa Flutter lên máy tính để bàn, với các

kỹ sư đóng góp mã để hỗ trợ phát triển và triển khai trên Linux. Trong sự kiện hôm nay,

nhóm Ubuntu đã trình chiếu bản demo ban đầu về ứng dụng trình cài đặt mới của họ đã

được viết lại bằng Flutter. Đối với Canonical, điều quan trọng là chúng có thể mang lại

trải nghiệm tuyệt vời nhưng đẹp mắt trên nhiều cấu hình phần cứng khác nhau. Trong tương

lai, Flutter là lựa chọn mặc định cho các ứng dụng dành cho máy tính để bàn và thiết bị di

động trong tương lai do Canonical tạo ra.



Thứ hai, Microsoft đang tiếp tục mở rộng hỗ trợ cho Flutter. Ngoài sự hợp tác liên tục để

cung cấp hỗ trợ Windows chất lượng cao trong Flutter, hôm nay Microsoft còn phát hành

các đóng góp cho công cụ Flutter hỗ trợ loại thiết bị Android có thể gập lại mới nổi. Các thiết

bị này giới thiệu các mẫu thiết kế mới, với các ứng dụng có thể mở rộng nội dung hoặc tận

dụng tính chất màn hình kép để cung cấp trải nghiệm song song. Trong một bài đăng trên

blog từ nhóm kỹ thuật Surface, họ thể hiện công việc của mình và mời những người khác

tham gia cùng họ để hoàn thành việc triển khai chất lượng cao hoạt động trên Surface Duo

và các thiết bị khác.



Cuối cùng, Toyota, nhà sản xuất ô tô bán chạy nhất thế giới, đã công bố kế hoạch mang lại

trải nghiệm kỹ thuật số tốt nhất trên thị trường cho xe, bằng cách xây dựng hệ thống thông

tin giải trí được cung cấp bởi Flutter. Sử dụng Flutter đánh dấu một sự khởi đầu lớn trong

cách tiếp cận so với cách phần mềm trong xe đã được phát triển trong quá khứ. Toyota đã

chọn Flutter vì hiệu suất cao và tính nhất quán của trải nghiệm, khả năng lặp lại nhanh chóng

và công thái học dành cho nhà phát triển cũng như cơ chế cảm ứng bậc trên điện thoại

thông minh. Bằng cách sử dụng API nhúng của Flutter, Toyota có thể điều chỉnh Flutter cho

các nhu cầu riêng của hệ thống trên xe.



Chúng tôi rất vui được tiếp tục hợp tác với Toyota và những người khác để đưa Flutter đến

với xe cộ, TV và các thiết bị nhúng khác và chúng tôi hy vọng sẽ chia sẻ thêm các ví dụ

khác trong những tháng tới.


3. The growing Flutter ecosystem


Hiện có hơn 15.000 gói cho Flutter và Dart: từ các công ty như Amazon, Microsoft, Adobe, Alibaba, eBaySquare; đến các gói chính như Lottie, SentrySVG, cũng như các gói ưa thích của Flutter như sign_in_with_apple, google_fonts, geolocatorsqflite.


Hôm nay, chúng tôi sẽ công bố bản phát hành beta của

Quảng cáo trên điện thoại di động của Google cho Flutter, một SDK mới hoạt động với

AdMob và AdManager để cung cấp nhiều định dạng quảng cáo, bao gồm quảng cáo biểu

ngữ, quảng cáo xen kẽ, quảng cáo gốc và video có tặng thưởng. Chúng tôi đã thử nghiệm

SDK này với một số khách hàng chính, chẳng hạn như Sua Música, nền tảng âm nhạc lớn

nhất dành cho các nghệ sĩ độc lập ở Mỹ Latinh và hiện chúng tôi đã sẵn sàng mở SDK

quảng cáo trên thiết bị di động của Google cho Flutter để áp dụng rộng rãi hơn.



Chúng tôi cũng sẽ công bố các bản cập nhật

Flutter plug-ins for several core Firebase services: Xác thực, Cloud Firestore, Chức năng

đám mây, Nhắn tin qua đám mây, Bộ nhớ trên đám mây và Crashlytics, bao gồm hỗ trợ về

tính an toàn bằng âm thanh và đại tu gói Nhắn tin qua đám mây.


4. Dart: The secret sauce behind Flutter


Như chúng tôi đã lưu ý, Flutter 2 có thể di chuyển đến nhiều nền tảng và hệ số hình thức

khác nhau. Việc chuyển đổi dễ dàng sang hỗ trợ web, máy tính để bàn và nhúng một phần

lớn là nhờ vào Dart, ngôn ngữ lập trình của Google được tối ưu hóa để phát triển đa nền

tảng.


Dart kết hợp một bộ khả năng độc đáo để xây dựng ứng dụng:

  • Tính di động không có gì đáng ngạc nhiên, với các trình biên dịch tạo mã máy Intel và ARM hiệu suất cao cho thiết bị di động và máy tính để bàn, cũng như đầu ra JavaScript được tối ưu hóa chặt chẽ cho web. Cùng một mã nguồn khung Flutter biên dịch cho tất cả các mục tiêu này.
  • Phát triển lặp đi lặp lại với tải lại nóng trạng thái trên máy tính để bàn và thiết bị di động, cũng như cấu trúc ngôn ngữ được thiết kế cho các mẫu không đồng bộ, đồng thời của lập trình giao diện người dùng hiện đại.
  • Hiệu suất cấp Google trên tất cả các nền tảng này, với tính năng an toàn tuyệt đối đảm bảo các ràng buộc không có trong thời gian chạy cũng như trong quá trình phát triển.

Không có ngôn ngữ nào khác kết hợp tất cả các khả năng này; có lẽ đây là lý do tại sao Dart

một trong những ngôn ngữ phát triển nhanh nhất trên GitHub.


Dart 2.12, có sẵn ngày hôm nay, là bản phát hành lớn nhất của chúng tôi kể từ phiên bản

2.0, với sự hỗ trợ về tính an toàn bằng âm thanh. An toàn âm thanh null có khả năng xóa bỏ

các ngoại lệ tham chiếu null đáng sợ, cung cấp đảm bảo khi phát triển và thời gian chạy mà

các loại chỉ có thể chứa giá trị null nếu nhà phát triển lựa chọn rõ ràng. Hơn hết, tính năng

này không phải là một thay đổi đột ngột: bạn có thể thêm dần nó vào mã của mình theo tốc

độ của riêng bạn, với công cụ di chuyển có sẵn để trợ giúp bạn khi bạn đã sẵn sàng.


Bản cập nhật hôm nay cũng bao gồm việc triển khai ổn định FFI, cho phép bạn viết mã

hiệu suất cao tương tác với các API dựa trên C;

công cụ lập hồ sơ và nhà phát triển tích hợp mới được viết bằng Flutter; và một số cải tiến

về hiệu suất và kích thước giúp nâng cấp thêm mã của bạn mà không mất phí ngoài việc

biên dịch lại. Để biết thêm thông tin, hãy xem bài đăng trên blog thông báo dành riêng cho

Dart 2.12.


5. Flutter 2: Available now


Còn nhiều điều để nói về Flutter 2 hơn chúng tôi có thể đưa vào bài viết này. Trên thực tế,

danh sách thô các yêu cầu kéo được hợp nhất là một tài liệu 200 trang! Hãy truy cập blog

kỹ thuật riêng biệt trên Flutter 2 để biết thêm thông tin về nhiều tính năng mới và cải tiến

hiệu suất mà chúng tôi nghĩ sẽ làm hài lòng các nhà phát triển Flutter hiện có và tải xuống

ngay hôm nay.



Chúng tôi cũng có một mẫu mới lớn giới thiệu mọi thứ mà chúng tôi vừa đề cập, được xây

dựng với sự hợp tác của gskinner, một nhóm thiết kế từng đoạt giải thưởng có trụ sở

tại Edmonton, Canada. Flutter Folio là một ứng dụng sổ lưu niệm được thiết kế cho tất cả

các thiết bị của bạn. Trải nghiệm màn hình nhỏ được thiết kế để ghi lại nội dung; màn hình

lớn hơn hỗ trợ chỉnh sửa với các thành ngữ dành riêng cho máy tính để bàn và máy tính

bảng; và trải nghiệm web được điều chỉnh để chia sẻ. Tất cả những trải nghiệm phù hợp

này chia sẻ cùng một cơ sở mã, là mã nguồn mở và có sẵn cho bạn sử dụng.



Nếu bạn chưa dùng thử Flutter, chúng tôi nghĩ rằng bạn sẽ thấy nó là một bản nâng cấp lớn cho trải nghiệm phát triển ứng dụng của bạn. Trong Flutter, chúng tôi đang cung cấp một bộ công cụ mã nguồn mở để xây dựng các ứng dụng đẹp và nhanh chóng nhắm mục tiêu đến thiết bị di động, máy tính để bàn, web và thiết bị nhúng từ một cơ sở mã duy nhất, được xây dựng để giải quyết nhu cầu khắt khe của Google và của khách hàng. Flutter là mã nguồn mở và miễn phí. Chúng tôi rất vui khi thấy những gì bạn xây dựng với Flutter 2!

Nhận xét

Bài đăng phổ biến từ blog này

Jetpack Compose VS SwiftUI !VS Flutter

  Việc phát triển Android đã trở nên dễ dàng hơn khi các bản cập nhật liên tục đến. Sau bản cập nhật 2020.3.1, rất nhiều thứ đã thay đổi. Nhưng thay đổi chính mà tôi nghĩ hầu hết các nhà phát triển phải chờ đợi là Jetpack Compose cho ứng dụng sản xuất. Và Kotlin là lựa chọn duy nhất cho jetpack Compose, cũng là ngôn ngữ được ưu tiên. Để biết thêm chi tiết hoặc các thay đổi trên Jetpack Compose, bạn có thể truy cập vào https://developer.android.com/jetpack/compose Tương tự, IOS Development cũng cung cấp một tùy chọn để phát triển khai báo, SwiftUI. Trong IDE, không có thay đổi nào do điều này. Nhưng khái niệm gần giống với Jetpack Compose. Thay vì bảng phân cảnh, chúng tôi tạo giao diện người dùng bằng Swift. Để biết thêm chi tiết hoặc các thay đổi trên SwiftUI, hãy truy cập https://developer.apple.com/xcode/swiftui/ Hãy xem cách cả hai hoạt động bằng cách sử dụng một dự án demo. Tôi đã lấy một số ví dụ về số lần chạm tương tự của Flutter. 1. Android Jetpack Compose Chúng tôi có thể tạo

Thiết kế giao diện với DotNetBar (Phần 1)

Đây là phiên bản DotNetBar hỗ trợ C# và Visual Basic https://www.dropbox.com/s/wx80jpvgnlrmtux/DotNetBar.rar  , phiên bản này hỗ trợ giao diện Metro cực kỳ “dễ thương” Các bạn load về và cài đặt, khi cài đặt xong sẽ có source code mẫu của tất cả các control. Để sử dụng được các control của DotNetBar các bạn nhớ add item vào controls box. Thiết kế giao diện với DotNetBar, giao diện sẽ rất đẹp. Link các video hướng dẫn chi tiết cách sử dụng và coding: http://www.devcomponents.com/dotnetbar/movies.aspx Hiện tại DotNetBar có rất nhiều công cụ cực mạnh, trong đó có 3 công cụ dưới đây: DotNetBar for Windows Forms Requires with Visual Studio 2003, 2005, 2008, 2010 or 2012.   DotNetBar for WPF Requires with Visual Studio 2010 or 2012 and Windows Presentation Foundation.   DotNetBar for Silverlight Requires with Visual Studio 2010 or 2012 and Silverlight. Dưới đây là một số hình ảnh về các control trong DotnetBar.   Metro User Interface  controls with Metro Tiles, toolbars, slide panels, forms,

Một số bài tập Winform C#

Một số bài tập: 1. Mô phỏng game đoán số. Luật chơi:         o Đúng số và đúng vị trí   +         o Đúng số mà sai vị trí      ?         o Sai số và sai vị trí          -         . . .         - Kết quả được tạo ngẫu nhiên từ các số có 4 chữ số.         - Các chữ số có giá trị từ 0-6.         - Người chơi có 6 lần đoán. Chương trình tham khảo: 2. In số điện tử Yêu cầu: người dùng nhập vào 1 số ( hoặc 1 chuỗi số) yêu cầu in ra số đó dưới dạng số điện tử. Chương trình tham khảo: 3. Mô phỏng game CARO  (update) 4. Mô phỏng game DÒ MÌN (update)