kiến thức Flutter Forward 2023

AkiraDragon

Senior Member
Tóm tắt sự kiện flutter forward 2023:
  • Breakthrough graphics performance : Sẽ thay thế dần lớp rendering sử dụng Skia thành Impeller để giải quyết hiện tượng một số app bị lag trong lần load đầu ( Đại thể là flutter team nhận thấy rằng lần đầu thực sự quan trọng, nếu user mà có trải nghiệm tệ trong lần đầu sử dụng app thì user sẽ xóa app luôn và ngay nên việc thay thế này là cực kì cần thiết, ngoài ra impeller cũng cho trải nghiệm khi sử dụng app tốt hơn hẳn skia, video cho thấy skia bị drop fps xuống 10fps trong khi impeller luôn ở 60fps). Nhờ có lớp render mới này thì flutter sẽ cho ra mắt 3D with Flutter - tương lai sẽ có các framework chuyên dựng game bằng flutter ( thằng này có vẻ tham vọng muốn đấu lại unity trên mảng game cross platform đây)
  • Seamless integration for web and mobile: chủ yếu cải tiến ở phía Flutter web, mục đích là flutter có thể tích hợp vào một trang web có sẵn như là 1 componment giúp flutter có nhiều đất diễn hơn trên các trang web hiện có thay vì như trước kia nếu sử dụng flutter thì phải build toàn bộ web. Bạn có thể viết mã bằng flutter và nhúng thẳng vào trong js, html ( giống thằng reactjs). Với mobile thì sẽ có 1 command mới cho phép tự gen ra các binding để call lib trực tiếp xuống các thư viện native thay vì phải tạo code plugin như trước đây ( tham khảo ví dụ tại https://github.com/.../tree/main/experimental/pedometer)
  • Early to new and emerging architectures: chủ yếu là sẽ hỗ trợ biên dịch các module Dart, Flutter ra WebAssembly để tăng hiệu năng cho trang web, ngoài ra cũng sẽ support cho tập lệnh mở RISC-V mục đích là flutter sẽ lấn sân sang cả các thiết bị nhúng ( trước đây chỉ có x86, ARM được hỗ trợ ). Tương lai sẽ thấy các thiết bị như tủ lạnh, điều hòa, máy sưởi có giao diện đồ họa của flutter không xa.
  • Continued focus on developer experience: Cuối cùng là hỗ trợ cho các lập trình viên thêm các công cụ giúp việc xây dựng ứng dụng năng suất hiệu quả hơn như thêm các tính năng cho Dart ( 1 ví dụ tiêu biểu là cho phép return 1 record giống như golang hình minh họa dưới). Đồng thời sẽ công bố Dart 3 cùng với game toolkit và news toolkit giúp tiết kiệm tới 80% phát triển các ứng dụng game và tin tức.

=> Link video :

Tóm lại những dev flutter tương lai có khá nhiều đất diễn trên mọi thể loại từ làm game, phát triển ứng dụng đa nền tảng hiệu suất cao (mobile,desktop, web). Phát triển giao diện cho hệ thống nhúng ( cái này khá là triển vọng), tích hợp vào các project có sẵn ...
 
Flutter giờ ngon cực, thấy community update như vũ bão luôn. Tương lai build UI cross-platform cứ mặc định Flutter thôi :big_smile:

Có thằng Delphi làm UI cũng ngon mà từ hồi về tay Embarcadero đóng kín bưng đuổi hết dev chán ghê.
 
Flutter giờ ngon cực, thấy community update như vũ bão luôn. Tương lai build UI cross-platform cứ mặc định Flutter thôi :big_smile:

Có thằng Delphi làm UI cũng ngon mà từ hồi về tay Embarcadero đóng kín bưng đuổi hết dev chán ghê.
flutter thích nhất là quả debug của n ngon, dùng trên vscode thấy thân thiện hơn thằng react native nhiều
 
:smile:Hình như mới ra 3.7.9 thì phải, cứ để cách huynh đài trải nghiệm trước nên om ít nhất một tháng rồi mới lên ver
 
flutter thích nhất là quả debug của n ngon, dùng trên vscode thấy thân thiện hơn thằng react native nhiều
Mình thích Flutter vì hướng tiếp cận widget cảm giác thân quen, cộng thêm với Dart như phiên bản rút gọn của Java. Y như chục năm về trước lần đầu build UI trên Java AWT/Swing.
Anh em từng làm Swing rồi qua Flutter thấy y hệt.
 
master channel vẫn 3.7.0 tôi b, mà như thế là đủ ngon rồi.
sorry fen, lỗi typo 3.7.0
:) Lần nào lên ver là project lại lỗi nên cứ để anh em test trước, tôi cũng ngại update vì dự án nó quá lớn, mỗi lần up là số issue cũng tăng theo
 
Đang làm embedded nhảy vô làm flutter thấy phê vl
Embeded có LVGL ngon vãi luôn. Nếu làm linux thì không nói rồi. Mà k rõ Flutter build đc stable cho linux chưa
Trước đá qua Flutter làm thử vài mockup lấy trên mạng kết quả khá xịn. Tuy nhiên có điểm trừ là phải học Dart, và có tỷ cái component mimic Android & iOS. Sao bọn nó ko làm mấy component neutral để styling từ đầu nhỉ :censored:
Ngoài ra còn luôn thấy nhắc mấy cái concept BLoC, không rõ quan trọng ko và nếu quan trọng sao ko adopt nó officially. Hay giống ReactJS ngày xưa bị ngộ độc Redux
 
Mình thích Flutter vì hướng tiếp cận widget cảm giác thân quen, cộng thêm với Dart như phiên bản rút gọn của Java. Y như chục năm về trước lần đầu build UI trên Java AWT/Swing.
Anh em từng làm Swing rồi qua Flutter thấy y hệt.

hồi làm mobile bằng RN thấy cũng hài vãi, làm app trên nền web :lol:, rồi về lại widget base như flutter lại thấy nó make sense cho mảng app

giờ flutter mình cần nó làm cross desktop app đấu với maui của M$ thì hơn là web, hướng game cũng là một hướng hay
 
Đá chết react native được chưa nhỉ?
ObUZxHe.png
nbp37Fk.png
 
Embeded có LVGL ngon vãi luôn. Nếu làm linux thì không nói rồi. Mà k rõ Flutter build đc stable cho linux chưa
Trước đá qua Flutter làm thử vài mockup lấy trên mạng kết quả khá xịn. Tuy nhiên có điểm trừ là phải học Dart, và có tỷ cái component mimic Android & iOS. Sao bọn nó ko làm mấy component neutral để styling từ đầu nhỉ :censored:
Ngoài ra còn luôn thấy nhắc mấy cái concept BLoC, không rõ quan trọng ko và nếu quan trọng sao ko adopt nó officially. Hay giống ReactJS ngày xưa bị ngộ độc Redux
linux, window, mac os đêu có stable hết rồi, bloc là 1 trong các state manement được sử dụng trong flutter thôi, flutter n cũng suggest dùng nhiều state mamenent khác chứ ko riêng j bloc
 
hồi làm mobile bằng RN thấy cũng hài vãi, làm app trên nền web :lol:, rồi về lại widget base như flutter lại thấy nó make sense cho mảng app

giờ flutter mình cần nó làm cross desktop app đấu với maui của M$ thì hơn là web, hướng game cũng là một hướng hay
MAUI vẫn bắt phải cài .net core runtime thì sao đấu lại flutter, thằng flutter build ra native code luôn chả cần chạy j trung gian cả.
 
Embeded có LVGL ngon vãi luôn. Nếu làm linux thì không nói rồi. Mà k rõ Flutter build đc stable cho linux chưa
Trước đá qua Flutter làm thử vài mockup lấy trên mạng kết quả khá xịn. Tuy nhiên có điểm trừ là phải học Dart, và có tỷ cái component mimic Android & iOS. Sao bọn nó ko làm mấy component neutral để styling từ đầu nhỉ :censored:
Ngoài ra còn luôn thấy nhắc mấy cái concept BLoC, không rõ quan trọng ko và nếu quan trọng sao ko adopt nó officially. Hay giống ReactJS ngày xưa bị ngộ độc Redux
ReactJS ngộ độc Redux là sao thím?
BLoC nó có nhiều ưu điểm nhất so với đám còn lại, an toàn ổn định nên hay được nhắc đến thôi. Ngoài ra còn nhiều thằng ngon hơn tuỳ trường hợp.
 
Embeded có LVGL ngon vãi luôn. Nếu làm linux thì không nói rồi. Mà k rõ Flutter build đc stable cho linux chưa
Trước đá qua Flutter làm thử vài mockup lấy trên mạng kết quả khá xịn. Tuy nhiên có điểm trừ là phải học Dart, và có tỷ cái component mimic Android & iOS. Sao bọn nó ko làm mấy component neutral để styling từ đầu nhỉ :censored:
Ngoài ra còn luôn thấy nhắc mấy cái concept BLoC, không rõ quan trọng ko và nếu quan trọng sao ko adopt nó officially. Hay giống ReactJS ngày xưa bị ngộ độc Redux
bloc thì nó quá tốt nếu pj to, nhiều screen, nhìn thì rườm rà nhưng scale lên thì rất khỏe, language khác sang mà có base rx thì bloc đọc hiểu cái 1, t thì thích riverpod hơn,
 
Mấy bác xài BLoC thường provide ngay Material widget hay provide khi vào screen cần dùng. Nếu là cái thứ 2 thì khi navigate sang screen khác cũng cần dùng bloc đó thì mấy bác xử lí như nào
 
Mấy bác xài BLoC thường provide ngay Material widget hay provide khi vào screen cần dùng. Nếu là cái thứ 2 thì khi navigate sang screen khác cũng cần dùng bloc đó thì mấy bác xử lí như nào
E dùng nhiều cách lắm bác , cơ mà chưa biết cái nào tối ưu nhất : truyền params context cũ , stream listen event (event bus) , provide từ đầu ở material , global variable . Không biết bác có cách nào hay hơn cho em tham khảo với !!
 
E dùng nhiều cách lắm bác , cơ mà chưa biết cái nào tối ưu nhất : truyền params context cũ , stream listen event (event bus) , provide từ đầu ở material , global variable . Không biết bác có cách nào hay hơn cho em tham khảo với !!
Mình cũng làm đủ kiểu hết nên mới lên đây tham khảo thêm nè. Mình hiện đang dùng Navigator widget để làm nested navigation rồi provide ở ngay chỗ widget Navigator luôn
 
ReactJS ngộ độc Redux là sao thím?
BLoC nó có nhiều ưu điểm nhất so với đám còn lại, an toàn ổn định nên hay được nhắc đến thôi. Ngoài ra còn nhiều thằng ngon hơn tuỳ trường hợp.
ReduxJS hay nói rộng ra là global state. Khi dev dùng không biết cái nào nên là localstate, cái nào nên là global, team ngày xưa thì all-in redux luôn ko bao giờ đụng vào local state. Trong các component connect()/dispatch loạn xạ, data flow rất rối rắm, refactor thở khẽ k dám sửa nhiều. Nguyên thuỷ của React suggest 1-way parent -> child hoặc child -> parent, hơi boilerplate + drill props xuống nhiều, nhưng dễ đọc.
bloc thì nó quá tốt nếu pj to, nhiều screen, nhìn thì rườm rà nhưng scale lên thì rất khỏe, language khác sang mà có base rx thì bloc đọc hiểu cái 1, t thì thích riverpod hơn,
Giả sử nếu làm Flutter mà ko có BLoC thì liệu có khoai hơn nhiều ko thím? Nhớ trước thằng BLoC có 1 rival khác mà tên chỉ có 2 hay 3 chữ, ngày càng đẻ ra nhiều
 
Back
Top