Giới Thiệu Về Ngôn Ngữ Lập Trình Dart Cơ Bản
- 04-05-2024
- Toanngo92
- 0 Comments
Mục lục
Mục tiêu bài học:
- Xác định Dart và giải thích lịch sử của Dart
- Mô tả các tính năng của Dart
- Liệt kê các lợi ích của Dart
- Giải thích cách cài đặt Dart Software Development Kit trong Android Studio
- Nhận biết cú pháp cơ bản trong Dart
- Giải thích các định danh trong Dart
- Liệt kê các từ khóa cơ bản trong Dart
- Mô tả quá trình tạo ứng dụng Dart đơn giản và thực thi nó
Buổi học giới thiệu các khái niệm, tính năng cơ bản và giải thích chi tiết về lịch sử và lợi ích của Dart. Nó tiếp tục giải thích cách cài đặt Dart, Kit Phát triển Phần mềm (SDK) trong Android Studio. Buổi học tường thuật về cách tạo một ứng dụng Dart đơn giản bằng cách sử dụng cú pháp, định danh và từ khóa cơ bản trong Dart.
Dart là ngôn ngữ lập trình gì?
Dart là một ngôn ngữ lập trình mã nguồn mở được phát triển bởi Google. Mặc dù nó có thể được sử dụng cho phát triển phía máy chủ, nhưng nó được thiết kế chủ yếu cho phía máy khách.
SDK cho Dart bao gồm trình biên dịch Máy ảo Dart và một tiện ích gọi là dart2js, nó tạo ra mã JavaScript giống hệt với một kịch bản Dart. Kịch bản này cho phép chạy Dart trên các trang web không hỗ trợ Dart.
Dart cũng là một ngôn ngữ lập trình đa nền tảng hoặc độc lập với nền tảng, điều này có nghĩa là nó có thể chạy trên một số hệ điều hành như Windows, Linux, MacOS, và như vậy. Các hệ điều hành khác nhau mà Dart hỗ trợ như sau:
Các lớp, đa hình, giao diện và trừu tượng hóa đều được hỗ trợ bởi Dart, điều này làm cho nó trở thành một ngôn ngữ lập trình Hướng đối tượng. Mã Dart được biên dịch thành mã máy hoặc được dịch và biên dịch thành JavaScript. Dart chạy như một ngôn ngữ thông dịch được hỗ trợ bởi Máy ảo Dart (DVM).
Cú pháp của ngôn ngữ lập trình Dart theo cú pháp đơn giản theo kiểu C. Đây là một ngôn ngữ được coi là đa mục đích và được sử dụng để phát triển nhiều loại ứng dụng và chương trình khác nhau. Nó được sử dụng rộng rãi trong việc phát triển các ứng dụng Web, ứng dụng di động, ứng dụng máy tính để bàn, máy chủ, và như vậy.
Dưới đây là các loại ứng dụng khác nhau mà Dart có thể được sử dụng để phát triển:
Lịch sử của Dart
Dự án Dart được bắt đầu bởi Lars Bak. Lars là một lập trình viên người Đan Mạch nổi tiếng với công việc của mình trên các máy ảo. Ông đã đóng góp nhiều cho việc khởi đầu của dự án Dart và dự án này được giới thiệu lần đầu tiên tại Hội nghị GOTO tại Aarhus, Đan Mạch.
Sau đó, Ecma International đã tạo ra một hội đồng kỹ thuật TC52 để quy định ngôn ngữ. Trong tháng 7 năm 2014, phiên bản đầu tiên của đặc tả ngôn ngữ Dart đã được tiêu chuẩn hóa và phiên bản thứ hai của cùng một đặc tả được chấp thuận sáu tháng sau đó bởi Ecma International.
darte là trình biên dịch ban đầu được sử dụng và nó có khả năng tạo ra mã JavaScript, nhưng sau đó đã bị Google loại bỏ. Sau đó, trình biên dịch Frog đã được giới thiệu, nhưng do không hiệu quả trong việc biên dịch mã, nó đã bị loại bỏ hoàn toàn. Trình biên dịch thứ ba và cuối cùng được sử dụng là dart2js. Đây là một thành công khi được giới thiệu và vẫn tiếp tục được sử dụng trong Dart cho mục đích biên dịch. Dưới đây là sự tiến hóa của các trình biên dịch khác nhau được sử dụng bởi Dart:
Đặc điểm, Sử dụng và Lợi ích của Dart
Dart được coi là một ngôn ngữ lập trình hướng đối tượng mã nguồn mở hỗ trợ một loạt các tiện ích lập trình như các lớp, giao diện, trừu tượng hóa và bộ sưu tập. Nó được phát triển cho cả máy chủ và trình duyệt.
Các tính năng của Dart như sau:
- Thư viện Phong phú: Dart bao gồm nhiều thư viện tích hợp như core, math, convert, async, và nhiều hơn nữa. Nó cũng bao gồm một SDK để xây dựng nhiều loại ứng dụng. Có thể xuất bất kỳ mã Dart nào đã viết với tên miền chính xác vào các thư viện. Mã Dart được xuất này có thể được sử dụng trong bất kỳ ứng dụng nào khác hoặc cùng một ứng dụng với sự trợ giúp của câu lệnh nhập.
- Độc lập nền tảng: Dart bao gồm một máy ảo gọi là Máy ảo Dart chạy trên tất cả các hệ điều hành, từ đó, làm cho nó độc lập với nền tảng. Điều này có nghĩa là Dart chạy trên Windows, Linux, MacOS, và bất kỳ hệ điều hành nào mà bạn có thể nghĩ đến.
- Dễ học: Dart có cú pháp đơn giản, giúp dễ hiểu và học nhanh chóng. Cú pháp của Dart khá tương tự với C#, Java và JavaScript. Do đó, bất kỳ ai đã quen với cú pháp của những ngôn ngữ này có thể dễ dàng học và hiểu cú pháp của Dart.
- Mã nguồn mở: Dart được coi là một ngôn ngữ lập trình mã nguồn mở vì nó có sẵn miễn phí và miễn phí sử dụng cho bất kỳ ai. SDK Dart có sẵn để tải về miễn phí trên trang web chính thức của Dart: https://dart.dev/get-dart/archive
- Cộng đồng: Dart có sự hỗ trợ mạnh mẽ và phổ biến trên khắp thế giới. Sự hỗ trợ từ cộng đồng là rất lớn. Do đó, nếu có bất kỳ khó khăn nào trong mã Dart, dễ dàng nhận được sự giúp đỡ và sửa chữa bất kỳ vấn đề nào phát sinh. Dart cũng có một nhóm phát triển chuyên dụng làm việc để cải thiện ngôn ngữ và chức năng.
- Hỗ trợ Trình duyệt: Dart hỗ trợ tất cả các trình duyệt hiện đại như Chrome, Mozilla Firefox, Internet Explorer và các trình duyệt khác. Việc biên dịch mã Dart thành mã JavaScript tối ưu bởi trình biên dịch dart2js tích hợp giúp Dart có thể chạy trên tất cả các trình duyệt.
- Đa luồng: Chương trình Dart hỗ trợ và hỗ trợ nhiều luồng bằng cách sử dụng Isolates, từ đó biến Dart trở thành một ngôn ngữ lập trình bất đồng bộ. Isolate Dart là một phiên bản của luồng, nhưng khác biệt từ luồng. Những Isolate này là các công nhân độc lập và không chia sẻ bộ nhớ. Kết nối giữa các quá trình được thiết lập bằng cách truyền các tin nhắn được serialize.
- Hướng đối tượng: Dart được coi là một ngôn ngữ lập trình hướng đối tượng. Điều này ngụ ý rằng Dart hỗ trợ các khái niệm cơ bản như lớp, đối tượng, giao diện, trừu tượng hóa, đa hình và các khái niệm tiên tiến như mixin và hệ thống kiểu mạnh mẽ.
- An toàn kiểu dữ liệu: Hệ thống kiểu được theo dõi trong Dart khá vững chắc. Điều này đảm bảo rằng không thể xảy ra sự không phù hợp giữa một biểu thức và một giá trị. Kiểm tra kiểu, cả tĩnh và thời gian chạy, được thực hiện để xác định rằng giá trị của một biến phù hợp với kiểu tương ứng cho biến đó. Hơn nữa, hệ thống kiểm tra kiểu cũng cảnh báo về các sửa đổi được thực hiện trong thời gian trước đó, điều này rất có lợi.
- Biên dịch linh hoạt: Dart cung cấp tính linh hoạt cho việc biên dịch mã. Nó cũng biên dịch mã nhanh chóng. Dart có hai loại quy trình biên dịch.
Chúng được mô tả như sau:
Just In Time (JIT) | Ahead of Time (AOT) |
Trình biên dịch JIT (Just-In-Time) chuyển đổi mã nguồn chương trình thành mã máy nguyên thủy ngay trước khi thực thi chương trình. Các trình biên dịch JIT có thể được sử dụng để cải thiện tốc độ và thời gian chạy của ứng dụng. Họ cũng cố gắng dự đoán các chỉ thị sẽ được thực thi tiếp theo để mã có thể được biên dịch trước. | Trình biên dịch AOT (Ahead of Time) biên dịch mã trước khi nó được gửi đến môi trường thời gian chạy chạy mã. Thông thường, nó được sử dụng khi một ứng dụng sẵn sàng cho triển khai trên máy chủ, App Store hoặc Play Store. Nó cũng biên dịch mã Dart thành mã JavaScript trước khi trình duyệt tải xuống và chạy mã. |
Sử dụng của Dart
Dart được sử dụng cùng với Flutter để xây dựng ứng dụng di động, ứng dụng máy tính để bàn và ứng dụng web. Đây là một trong những cách sử dụng phổ biến nhất của Dart hiện nay. Ưu điểm lớn nhất của việc xây dựng ứng dụng bằng Dart và Flutter là tính đa nền tảng. Điều này có nghĩa là một có thể xây dựng một ứng dụng chỉ với một mã nguồn thay vì xây dựng các ứng dụng riêng biệt cho iPhone, Android hoặc các thiết bị khác. Dart không chỉ giới hạn ở việc xây dựng các ứng dụng frontend, mà còn có thể được sử dụng ở phía backend như ngôn ngữ lập trình phía máy chủ.
Các ưu điểm của Dart bao gồm:
Các hướng dẫn từng bước để cài đặt Dart SDK trong Android Studio
- Mở Android Studio và mở một dự án hiện tại hoặc tạo một dự án mới.
- Trong Android Studio, chọn “File” từ thanh menu ở phía trên cùng của màn hình.
- Chọn “Settings” (hoặc “Preferences” trên macOS) để mở cửa sổ Thiết lập.
- Trong cửa sổ Thiết lập, chọn “Plugins” từ menu bên trái.
- Trong tab Plugins, tìm kiếm “Dart” trong thanh tìm kiếm.
- Khi tìm thấy plugin Dart, nhấp vào nút “Install” để cài đặt plugin.
- Sau khi cài đặt hoàn tất, khởi động lại Android Studio để áp dụng các thay đổi.
- Khi Android Studio khởi động lại, Dart SDK sẽ được tự động cài đặt và tích hợp vào trong môi trường phát triển của bạn.
- Bây giờ bạn đã có thể bắt đầu sử dụng Dart để phát triển ứng dụng trong Android Studio.
Lưu ý: Đảm bảo rằng bạn đã cài đặt và cấu hình Android Studio đúng cách trước khi cài đặt Dart SDK.
Hiểu cú pháp cơ bản của Dart
Cú pháp cơ bản trong một chương trình Dart bao gồm một số yếu tố như từ khóa, loại dữ liệu, biến, hằng số, chuỗi ký tự, và các ký hiệu. Những yếu tố này được sử dụng trong các câu lệnh và biểu thức trong các chương trình Dart. Biến được sử dụng để lưu trữ dữ liệu thuộc các loại dữ liệu khác nhau.
Đoạn mã bên dưới cho thấy một ví dụ đơn giản về việc định nghĩa biến cho một số và một chuỗi tương ứng.
void main() {
int x = 5;
String y = "Daniel";
}
Hàm main()
được sử dụng là một hàm được định nghĩa sẵn trong Dart. Phương thức main()
hoạt động như một điểm nhập cho một ứng dụng Dart. Một biến x được khai báo và gán kiểu dữ liệu ‘int
‘. Một biến khác y cũng được khai báo và gán là ‘string
‘. Tương tự, có thể khai báo và gán các biến khác với các loại dữ liệu khác nhau. Sau khi khai báo các biến, chúng được gán giá trị thông qua các câu lệnh gán. Ở đây, x là một số nguyên được gán giá trị là 5, trong khi đó, y được gán một giá trị chuỗi là “Daniel”.
Chú thích trong Dart: Một chú thích là một mã không thể đọc được bởi trình biên dịch. Nó giúp dễ hiểu mã và luồng của chương trình. Chú thích cũng có thể được sử dụng để thông báo cho các nhà phát triển khác đang cộng tác trên cùng một mã về các nhiệm vụ đang được thực hiện.
Một ví dụ về một chú thích được hiển thị trong Đoạn mã 2.
void main(){
// Dòng chú thích này sẽ không được thực thi bởi trình biên dịch
int a = 10;
Định danh trong Dart
Định danh là tên chung cho các phần tử như biến, hàm, mảng, danh sách và vân vân. Có một tập hợp các quy tắc phải tuân thủ khi đặt tên cho một định danh.
Định danh Hợp lệ: Các phần tử tuân theo tập hợp các quy tắc để đặt tên cho một định danh được coi là định danh hợp lệ.
Định danh Không hợp lệ: Các phần tử không tuân thủ tập hợp các quy tắc để đặt tên cho một định danh được coi là định danh không hợp lệ.
Nguyên tắc đặt tên định danh như sau:
Bảng bên dưới trình bày một số ví dụ về số nhận dạng hợp lệ và không hợp lệ.
Hợp lệ | Không hợp lệ |
lastName | last Name |
last_name | last-name |
sumVar | —hame |
name | ‘name’ |
Từ khóa trong Dart
Từ khóa trong Dart là các từ được dành riêng mà trình biên dịch hiểu theo cách đặc biệt. Mỗi từ khóa có một ý nghĩa và mục đích duy nhất trong ngôn ngữ lập trình Dart. Từ khóa không phân biệt chữ hoa chữ thường và không thể được sử dụng để đặt tên cho biến, hàm và lớp.
Dưới đây là những từ khóa quan trọng nhất trong Dart:
abstract | import | else | super | in | as | enum | switch |
assert | export | interface | sync | async | extends | await | this |
throw | library | break | continue | try | catch | final | class |
Tạo một Ứng dụng Dart Hello World đơn giản
Hãy cùng xem xét một ví dụ để hiểu cách tạo một ứng dụng Dart đơn giản.
Tạo và Cấu hình Ứng dụng
Một nhà phát triển có thể thực hiện các bước sau:
Bước 1: Sử dụng Trình duyệt tệp trong Windows, tạo một thư mục DartHelloWorldProgram trong một vị trí phù hợp trên hệ thống.
Hình bên dưới thể hiện việc tạo một thư mục mới có tên DartHelloWorldProgram.
Bước 2: Khởi chạy ứng dụng Android Studio.
Bước 3: Nhấp vào File và mở thư mục đã tạo trước đó bên trong Android Studio. Quan sát các tệp được tạo tự động khi thư mục được mở trong Android Studio.
Bước 4: Chuột phải vào dự án và sau đó, nhấp vào New > File. Đặt tên tệp là HelloWorld.dart.
Hình bên dưới thể hiện quá trình tạo tệp HelloWorld.dart.
Tập tin sẽ được tạo. Hiện tại, loại tệp này không được công nhận bởi Studio Android.
Bước 5: Nhấn vào File và chọn Cài đặt. Sau đó, nhấn vào Ngôn ngữ và Khung phần mềm từ menu bên và chọn Dart. Khi lựa chọn từ menu bên đã được nhấn, chọn hộp kiểm có tên, Kích hoạt hỗ trợ Dart cho dự án DartHelloWorldProgram.
Bước 6: Sao chép đường dẫn nơi SDK Dart được lưu trữ trên hệ thống của bạn và dán đường dẫn SDK vào ô đường dẫn SDK Dart trong Android Studio. Hình ảnh 1.3 sẽ hiển thị cách đặt Đường dẫn SDK Dart.
Bước 7: Bước tiếp theo là nhấp vào Thêm/Sửa Cấu hình trong Android Studio và mở rộng Mặc định.
Bước 8: Sau đó, chọn Ứng dụng Dòng lệnh Dart từ Mặc định.
Bước 9: Cuối cùng, chọn đường dẫn cho tệp Dart và bỏ chọn hộp kiểm có tên ‘Chế độ Kiểm tra’ nếu nó được chọn mặc định, sau đó nhấp vào Áp dụng.
Hình bên dưới mô tả việc chọn Ứng dụng Dòng lệnh Dart.
Thêm phương thức main()
Phương thức main()
là phương thức quan trọng nhất và được coi là điểm vào cho bất kỳ ứng dụng Dart nào. Đây là một phương thức được thiết lập trước và có nhiệm vụ thực thi bất kỳ ứng dụng Dart nào. Nó cũng chịu trách nhiệm thực thi tất cả các hàm bao gồm cả các hàm thư viện được định nghĩa trước và các hàm được định nghĩa bởi người dùng. Một ứng dụng Dart không có phương thức main()
là không thể thực thi được. Từ khóa void()
trong phương thức main()
đơn giản chỉ là nó trả về void
. Nó cũng có thể có một tham số tùy chọn List<string>
.
Trong ví dụ hiện tại, hàm print()
có thể được sử dụng trong mã để in một chuỗi trong bảng điều khiển hoặc cửa sổ terminal.
Để thêm phương thức main()
vào ứng dụng, thực hiện các bước sau:
Bước 1: Đi đến tệp HelloWorld.dart.
Bước 2: Tạo một phương thức main()
và thêm mã để in ra ‘Hello World’ bên trong phương thức main như được thể hiện trong đoạn mã bên dưới.
void main() {
print("Hello World");
}
Bước 3: Lưu chương trình.
Thực thi Ứng dụng
Để thực thi ứng dụng, nhà phát triển phải chuột phải vào tệp HelloWorld.dart và chọn Chạy HelloWorld.dart. Hình bên dưới mô tả cách chạy tệp. ‘Hello World’ sẽ được in ra trong cửa sổ terminal của Android Studio.
Hình bên dưới hiển thị kết quả sau khi tệp được thực thi.
Tổng kết
- Dart là một ngôn ngữ mã nguồn mở tập trung vào khách hàng, dùng để phát triển ứng dụng nhanh chóng trên nhiều nền tảng khác nhau.
- Mục tiêu của Dart là trở thành ngôn ngữ lập trình mang lại hiệu suất tốt nhất cho việc phát triển trên nhiều nền tảng.
- Dart được thiết kế để phục vụ cho việc phát triển khách hàng với ưu tiên là sự tải lại nhanh trong ít hơn một giây cùng với chất lượng sản xuất cao trên nhiều mục tiêu biên dịch khác nhau (Web, di động và desktop).
- Dart cung cấp ngôn ngữ và môi trường thực thi để hỗ trợ ứng dụng Flutter.
- Dart hỗ trợ tất cả các trình duyệt hiện đại như Chrome, Mozilla Firefox, Internet Explorer và các trình duyệt khác cho ứng dụng Web.
- Chương trình Dart hỗ trợ và ủng hộ đa luồng bằng cách sử dụng Isolates.