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.

Nghề
Bài viết chia sẻ trải nghiệm cá nhân về việc lựa chọn nghề nghiệp từ thời cấp ba, phản ánh về môn Hướng Nghiệp không hiệu quả và những yếu tố ảnh hưởng đến quyết định nghề nghiệp như ảnh hưởng từ bạn bè, gia đình và truyền thông. Tác giả kể về hành trình trở thành lập trình viên và những suy ngẫm về việc liệu mình đã chọn đúng ngành hay chưa.

Day 27 - Profitable MVP in 30 Days - Thử làm app nhảm
Bài viết ngày 27 của thử thách xây dựng MVP có lợi nhuận, tác giả quyết định từ bỏ ý tưởng Group Opener và chuyển sang phát triển một 'app nhảm' - ứng dụng đơn giản, dễ làm nhưng vẫn có tiềm năng sinh lợi nhuận. Bài viết giải thích khái niệm 'app nhảm' là những ứng dụng có tính năng đơn giản, dễ bị đánh giá thấp nhưng thực tế có thể đạt được lượt tải khổng lồ, như các ứng dụng phát âm thanh hài hước hay giả lập uống bia đã đạt hàng chục triệu lượt tải.