Dart là gì?
Dart là một ngôn ngữ lập trình hướng đối tượng, mã nguồn mở, được phát triển bởi Google vào năm 2011. Ngôn ngữ này được tối ưu hóa đặc biệt cho việc phát triển giao diện người dùng (UI) mượt mà trên nhiều nền tảng (Mobile, Web, Desktop).
Dart thường được gắn liền với Flutter framework, một lựa chọn cho việc xây dựng mobile app. Tuy nhiên, Dart không chỉ dùng cho việc xây dựng ứng dụng di động, ngôn ngữ này còn được áp dụng cho nhiều dự án phát triển phần mềm đa lĩnh vực khác.

Tính năng của ngôn ngữ Dart
Object-Oriented
Dart là một ngôn ngữ lập trình hướng đối tượng (OOP) thuần túy với mọi giá trị là một đối tượng, nó hỗ trợ đầy đủ các đặc điểm của OOP như class-based, tính kế thừa, tính đa hình. Lập trình hướng đối tượng giúp chúng ta tổ chức mã nguồn một cách rõ ràng và dễ quản lý cũng như có khả năng tái sử dụng mã một cách hiệu quả. Bạn cũng sẽ thấy quen thuộc khi viết code vì các khái niệm trong Dart sẽ giống đến 80% như trong Java – một ngôn ngữ lập trình hướng đối tượng phổ biến.
Strong Typing
Ngôn ngữ Dart là một ngôn ngữ strongly typed, nghĩa là nó đảm bảo rằng kiểu của một object không bị thay đổi đột ngột trong chương trình. Dart có các quy tắc và những hạn chế để đảm bảo rằng giá trị của một biến luôn khớp với static type của biến đó.
Garbage Collection
Dart có 1 bộ gom rác tương tự như Java; Garbage Collection trong Dart là chương trình chạy nền, theo dõi toàn bộ trạng thái hoạt động của các Object, tìm ra những Object không được dùng đến và xóa nó đi. Điều này giúp tối ưu khả năng sử dụng bộ nhớ của thiết bị với các ứng dụng viết bằng Dart.
JIT & AOT Compilation
Dart hỗ trợ cả hai phương pháp biên dịch là Ahead-Of-Time (AOT) và Just-In-Time (JIT) giúp tối ưu hóa quy trình phát triển ứng dụng. AOT cho phép biên dịch mã nguồn thành mã máy gốc trước khi ứng dụng được khởi chạy, giúp cải thiện tốc độ và hiệu suất của ứng dụng. JIT là kỹ thuật biên dịch thời gian thực, nó cho phép hot reloading nhờ biên dịch ngay sau khi code được lưu; từ đó tăng tốc độ viết code của lập trình viên.
Asynchronous Programming
Lập trình bất đồng bộ (Asynchronous) giúp bạn thực hiện các action (hành động) trong cùng một lúc mà không cần theo tuần tự; ví dụ như các hành động lấy dữ liệu từ phía Backend thông qua API. Ngôn ngữ Dart hỗ trợ lập trình bất đồng bộ thông qua lớp Future (giống với Promise trong JavaScript) hay sử dụng async/ await tương tự trong nhiều ngôn ngữ lập trình khác.
Ứng dụng của ngôn ngữ lập trình Dart
Xây dựng ứng dụng di động
Xây dựng ứng dụng di động bằng Flutter framework là ứng dụng phổ biến và nổi bật nhất của ngôn ngữ lập trình Dart. Flutter cho phép lập trình viên viết code một lần bằng ngôn ngữ Dart và build ứng dụng ra để chạy được trên cả nền tảng Android lẫn iOS. Điều này giúp tiết kiệm thời gian, chi phí cũng như tăng tính đồng nhất giữa các ứng dụng khi phát triển bằng Flutter.
Xây dựng ứng dụng Web
Ngôn ngữ Dart ban đầu được thiết kế nhằm mục đích thay thế cho JavaScript trong phát triển Web. Trải qua những lần cập nhật lên phiên bản mới, ý định này đã không còn là hướng đi chính của đội ngũ phát triển Dart. Mặc dù vậy, với bộ công cụ như DartPad hay các thư viện như AngularDart (nếu bạn chưa biết thì Angular cũng là một sản phẩm của Google) thì Dart hoàn toàn có khả năng xây dựng các ứng dụng Web tương tác với người dùng một cách hiệu quả. Ngoài ra, bạn cũng có thể sử dụng Dart để biên dịch thành JavaScript để tái sử dụng source code một cách hữu ích.
Xây dựng ứng dụng server-side
Google cung cấp sẵn cho chúng ta thư viện dart:io cùng các gói mở rộng Aqueduct trong Dart giúp ngôn ngữ này có khả năng xây dựng các ứng dụng service-side một cách hiệu quả. Aqueduct là một framework HTTP mở rộng dùng để xây dựng các REST API trên Dart VM (máy ảo Dart), trong đó tích hợp sẵn một ORM (Object-Relational Mapping – ánh xạ đến CSDL) kiểu tĩnh. Sử dụng Dart cho ứng dụng server-side có thể giúp bạn tận dụng được một số ưu điểm về hiệu năng của ngôn ngữ này.
Xây dựng ứng dụng Desktop
Framework Flutter không chỉ cho phép bạn build ứng dụng ra các nền tảng mobile mà còn có thể build ra ứng dụng dành cho Desktop. Flutter for Desktop cho phép lập trình viên xây dựng ứng dụng chạy được trên nền tảng Windows, macOS và Linux từ cùng một source code ban đầu viết bằng Dart.
Xây dựng công cụ dòng lệnh
Dart còn được nhiều nhà phát triển sử dụng để tạo ra các công cụ hoặc tiện ích dòng lệnh (CLI – Command Line Interface) giúp tự động hóa các tác vụ liên quan đến quản lý dự án hay các công việc khác một cách hiệu quả. Khi bạn đã quen với Dart thì việc sử dụng ngôn ngữ này cho nhiều mục đích khác nhau sẽ dễ dàng hơn so với việc dùng một ngôn ngữ hoàn toàn độc lập.





Khoá học lập trình game con rắn cho trẻ em




