Flutter: SDK viết mobile app cho Android và iOS của Google
Bài viết giới thiệu về Flutter - SDK phát triển ứng dụng di động đa nền tảng của Google sử dụng ngôn ngữ Dart. Tác giả phân tích các tính năng nổi bật như hot reload, reactive programming, hệ thống widget và khả năng truy cập tính năng native, đồng thời so sánh với React Native để giúp lập trình viên có cái nhìn tổng quan về công nghệ mới này.

Ngôn ngữ Dart
Dart là ngôn ngữ được Google phát triển, tham vọng là sẽ thay thế Javascript. Nói chung không biết thay thế được không nhưng cũng khá hứa hẹn. Bời vì Javascript giờ bá quá, cái gì cũng làm được. Mà cái gì cũng làm được đâm ra lại không tốt.
Mấy anh kĩ sư Google không thích Javascript nên quyết tâm phát triển Dart. Thật ra mình cũng mới nhìn sơ qua code của Dart chứ chưa code thử luôn. Một nhận xét là khá giống Javascript :))
Anh em vào đây test thử ngôn ngữ Đát tờ nha: https://dartpad.dartlang.org/
Trên trang chủ của Dart, bạn sẽ thấy dòng quảng cáo sau:
Ám chỉ ai thì bạn biết rồi đó.
Dart ngon hay dở thì tương lai sẽ trả lời. Còn hiện tại, muốn cạnh với Javascript thì phải ít nhất làm được những gì Javascript có thể làm. Front end thì Dart làm được rồi ( một phần nào thôi ), giờ tới cross platform cho mobile app. Ai cũng biết React Native, Ionic giờ đang phổ biến. Do đó Google cũng ra Flutter để cạnh tranh, đương nhiên là code bằng Dart rồi.
Giới thiệu Flutter
Không liên quan nhưng tiếng Anh flutter là vỗ cánh ( làm nhớ đến Swift là tên chim, mấy anh này thích đặt tên chim chóc quá ha ).
Hot reload
Tương tự như React Native, Flutter cũng có hot reload. Viết code rồi save lại khỏi chạy cũng thấy được sự thay đổi nên build UI sẽ nhanh hơn
Reactive programming
Cũng kiểu setState() sẽ chạy lại hàm build() ( bên React Native là hàm render() )
class CounterState extends State {
int counter = 0;
void increment() {
// Tells the Flutter framework that state has changed,
// so the framework can run build() and update the display.
setState(() {
counter++;
});
}
Widget build(BuildContext context) {
// This method is rerun every time setState is called.
// The Flutter framework has been optimized to make rerunning
// build methods fast, so that you can just rebuild anything that
// needs updating rather than having to individually change
// instances of widgets.
return new Row(
children: [
new RaisedButton(
onPressed: increment,
child: new Text('Increment'),
),
new Text('Count: $counter'),
],
);
}
}
Widget
Bên RN được xây dựng theo Component, còn Flutter thì có khái niệm 'mới' là widget. Chắc cũng sẽ sinh ra cái gì đó giống Redux thôi :))
Native features
Flutter cũng có thể truy cập cái API của native. Ví dụ dưới đây là code lấy % pin của máy:
Future getBatteryLevel() async {
var batteryLevel = 'unknown';
try {
int result = await methodChannel.invokeMethod('getBatteryLevel');
batteryLevel = 'Battery level: $result%';
} on PlatformException {
batteryLevel = 'Failed to get battery level.';
}
setState(() {
_batteryLevel = batteryLevel;
});
}
Kết
Hiện tại Flutter mới ra bản alpha. Nếu đem so sánh với React Native thì không công bằng đúng không. Nhưng theo mình thấy hiện tại thì Flutter không ngon như những gì quảng cáo. Cộng đồng ít, document viết cũng không ngon như React Native. Tuy nhiên nếu bạn muốn dẫn đầu xu hướng, là người tiên phong thì nên học và làm thử Dart với Flutter nhé. Lúc mình viết về React Native hay Kotlin đều chưa hot, giờ khá hot rồi nè. Biết đâu sau này bạn là chuyên gia Dart tại Việt Nam thì sao?
Related Posts
Discover more content you might enjoy

Game Theory trong thời đại AI: Khi máy móc tham gia vào "trò chơi"
Bài viết phân tích sự giao thoa giữa lý thuyết trò chơi (Game Theory) và trí tuệ nhân tạo, giải thích cách AI đang thay đổi các nguyên lý cân bằng Nash và chiến lược tối ưu. Tác giả đưa ra các ví dụ thực tế về ứng dụng trong kinh doanh, giao thông và an ninh mạng.

Bài này không phải AI viết
Suy ngẫm chân thành về giá trị của việc viết thủ công trong kỷ nguyên AI. Dù AI có thể tạo nội dung hiệu quả, bài viết này là lời khẳng định về sự kết nối cá nhân và giá trị độc đáo mà con người mang lại cho văn bản của mình.

Dự đoán về Vibe Coding: Cách AI sẽ biến đổi việc tạo ra phần mềm
Bài viết phân tích cách 'vibe coding' - phương pháp lập trình dựa trên mô tả ý định thay vì viết code trực tiếp - sẽ dân chủ hóa việc phát triển phần mềm. Tác giả dự đoán về sự chuyển đổi từ giao diện dòng lệnh sang thiết kế trực quan, sự xuất hiện của phần mềm tự cải thiện, và tác động đến cấu trúc tổ chức công ty cũng như các thị trường ngách chưa được khai thác.

Dùng AI để hỗ trợ đầu tư crypto
Bài viết chia sẻ 7 mẹo thực tế để sử dụng AI (như Claude.ai và ChatGPT) hỗ trợ hiểu rõ whitepaper và tài liệu kỹ thuật của các dự án blockchain. Từ việc yêu cầu tóm tắt đơn giản, giải thích như cho trẻ em, đặt câu hỏi làm rõ, sử dụng ví dụ, tạo tình huống giả định, chuyển đổi thuật ngữ, đến so sánh nhiều nguồn tài liệu - giúp nhà đầu tư đưa ra quyết định đầu tư crypto sáng suốt hơn.

Sống ảo
Bài viết chia sẻ góc nhìn cá nhân về hiện tượng 'sống ảo' trên mạng xã hội. Tác giả phân tích bốn khía cạnh tích cực của việc chia sẻ cuộc sống trên nền tảng số: lưu giữ kỷ niệm như một dạng nhật ký, kết nối với người có cùng sở thích, tạo ấn tượng với người khác, và mang lại niềm vui. Bài viết cũng đưa ra lời khuyên về cách sống ảo lành mạnh không ảnh hưởng tiêu cực đến cuộc sống thực.

Hôm nay bạn làm gì?
Bài viết suy ngẫm về giá trị của thời gian và cách chúng ta sử dụng từng ngày trong cuộc sống. Tác giả đặt câu hỏi 'Hôm nay bạn làm gì?' để khuyến khích người đọc sống trọn vẹn với hiện tại theo tinh thần 'Carpe diem', đồng thời nhắc nhở về việc thời gian là thứ ta hiểu rõ nhưng không thể kiểm soát.