CHƯƠNG 1. Tổng quan về Flutter 1. Flutter là gì Flutter là một framework phát triển ứng dụng di động mã nguồn mở được phát triển bởi Google. Nó được sử dụng để xây dựng các ứng dụng di động chất lượng cao trên nhiều nền tảng, bao gồm cả iOS và Android, từ một mã nguồn duy nhất.
Flutter sử dụng ngôn ngữ lập trình Dart, cũng được phát triển bởi Google, là một ngôn ngữ có hiệu suất cao và dễ dàng để học. Một trong những đặc điểm nổi bật của Flutter là giao diện người dùng mượt mà và đẹp mắt, nhờ vào việc sử dụng các widget được xây dựng sẵn và một cơ chế vẽ giao diện tùy chỉnh. Flutter cung cấp một loạt các tính năng và công cụ phát triển mạnh mẽ như hot reload, cho phép nhà phát triển thấy ngay những thay đổi của họ trên ứng dụng mà không cần phải khởi động lại. Điều này giúp tăng tốc quá trình phát triển và kiểm tra ứng dụng.
Tóm lại, Flutter là một công cụ phát triển ứng dụng di động hiệu quả, linh hoạt và mạnh mẽ, được sử dụng rộng rãi trong cộng đồng phát triển để xây dựng các ứng dụng di động đa nền tảng. Các tính năng của Flutter Flutter cung cấp các phương pháp dễ dàng và đơn giản để bắt đầu xây dựng các ứng dụng dành cho thiết bị di động và máy tính để bàn đẹp mắt với một bộ thiết kế material design và widget phong phú. Ở đây, chúng ta sẽ thảo luận về các tính năng chính của nó để phát triển framework di động. 1 Tổng quan của Flutter Flutter là một framework mã nguồn mở và hoàn toàn miễn phí, được sử dụng để xây dựng ứng dụng di động.
Flutter là một framework mã nguồn mở và hoàn toàn miễn phí dành cho việc phát triển ứng dụng di động. Đặc điểm đa nền tảng của nó cho phép việc viết mã một lần, duy trì và chạy trên nhiều hệ điều hành khác nhau, tiết kiệm thời gian, công sức và tiền bạc của các nhà phát triển. Tính năng Tải lại nóng cho phép những thay đổi trong mã nguồn được áp dụng ngay lập tức vào ứng dụng, giúp nhà phát triển dễ dàng sửa lỗi và cập nhật ứng dụng một cách nhanh chóng. Khả năng truy cập các tính năng và SDK gốc của thiết bị giúp việc phát triển ứng dụng trở nên dễ dàng hơn bằng cách tích hợp các API và chức năng của hệ thống mà không cần phải tạo ra các giải pháp thay thế.
3 Flutter cung cấp một ngôn ngữ lập trình Dart để phát triển ứng dụng với mã nguồn tối thiểu và sử dụng các công cụ biên dịch để tối ưu hóa hiệu suất hoạt động và thời gian khởi động. Với các widget đặc biệt, Flutter cho phép tạo ra các thiết kế độc đáo và tùy chỉnh, hỗ trợ cả Material Design và Cupertino để mang lại trải nghiệm không gián đoạn trên tất cả các nền tảng. Kiến trúc Flutter Kiến trúc của Flutter chủ yếu gồm bốn thành phần cốt lõi: Động cơ Flutter (Flutter engine): Là phần quan trọng nhất của Flutter, nó điều khiển việc vẽ giao diện người dùng, tương tác với nền tảng và quản lý trạng thái ứng dụng. Thư viện nền tảng (Foundation Library): Cung cấp gồm các lớp và hàm để tương tác với các tính năng cơ bản của hệ thống, bao gồm điều khiển I/O, địa phương hóa và truy cập vào các tính năng nền tảng.
Vật dụng (Widgets): Đây là các thành phần cơ bản của giao diện người dùng trong Flutter, được sử dụng để xây dựng và tổ chức giao diện. Thiết kế các widget cụ thể (Design Specific Widgets): Là các widget được thiết kế sẵn theo các quy tắc thiết kế cụ thể như Material Design hoặc Cupertino, giúp tạo ra giao diện có cấu trúc và diễn đạt theo đúng phong cách của từng nền tảng. Flutter engine Một cổng đã được phát triển để hỗ trợ việc chạy các ứng dụng di động chất lượng cao, được viết bằng ngôn ngữ C++. Cổng này tích hợp những thư viện chính của Flutter như animation, đồ họa, tệp và mạng I/O, cùng với kiến trúc plugin và tính năng trợ năng.
Ngoài ra, nó cung cấp sự hỗ trợ cho việc phát triển, biên dịch và chạy các ứng dụng Flutter thông qua thời gian chạy Dart. Để hiển thị đồ họa ở mức độ thấp, cổng này sử dụng thư viện đồ họa mã nguồn mở từ Google, Skia. Thư viện nền tảng (Foundation library) Nó bao gồm tất cả các gói cần thiết để xây dựng các khối cơ bản trong quá trình phát triển ứng dụng Flutter. Các thư viện này được viết bằng ngôn ngữ Dart 1.
Vật dụng (widget) Trong Flutter, mọi thứ được coi như một widget, đây là ý tưởng cốt lõi của framework này. Widget trong Flutter đại diện cho các thành phần giao diện người dùng, chi phối cách hiển thị và tương tác của ứng dụng. Chúng thể hiện một mô tả không thay đổi về một phần của giao diện người dùng và có thể chứa đựng đồ họa, văn bản, hình dạng và animation. Widget trong Flutter có tính tương đồng với các thành phần trong React.
Trong Flutter, ứng dụng chính được coi là một widget, bên trong đó chứa nhiều widget con. Điều này có nghĩa là ứng dụng là widget cao nhất trong cây phân cấp, và giao diện người dùng của nó được tạo thành từ một hoặc nhiều widget con, bao gồm cả những widget con có tính phức tạp. Tính năng này giúp tạo ra giao diện người dùng phức tạp một cách dễ dàng và linh hoạt. 2 Kiến trúc của Flutter Trong ví dụ trên, chúng ta thấy rằng mọi thành phần đều được xây dựng dưới dạng các widget, mỗi widget có thể chứa các widget con.
Do đó, ứng dụng Flutter tự nó cũng được xem như là một widget, với khả năng chứa các widget con để tạo ra giao diện người dùng phức tạp. Thiết kế các widget cụ thể Framework Flutter cung cấp hai bộ widget phù hợp với các ngôn ngữ thiết kế cụ thể. Đó là Material Design, được áp dụng cho các ứng dụng Android, và Cupertino Style, phù hợp cho các ứng dụng iOS. Giới thiệu về ngôn ngữ lập trình Dart Dart là một ngôn ngữ lập trình được phát triển bởi Google, chủ yếu được thiết kế để xây dựng ứng dụng web, di động, và server.
Dựa trên cú pháp của nhiều ngôn ngữ lập trình khác như C, Java, JavaScript, Dart mang lại một môi trường lập trình hiện đại và linh hoạt. 6 Dưới đây là một số đặc điểm và ưu điểm chính của Dart: Đa nền tảng (Cross-platform): Dart có thể được sử dụng để phát triển ứng dụng cho nhiều nền tảng như web (bằng Dart web), di động (với Flutter), và cả server. Lập trình hướng đối tượng (OOP): Dart hỗ trợ lập trình hướng đối tượng với các tính năng như class, object, inheritance, và encapsulation. Thực thi trên máy ảo Dart (Dart VM): Dart có thể được thực thi trực tiếp trên Dart VM, điều này giúp tăng cường hiệu suất của ứng dụng.
Cú pháp đơn giản: Cú pháp của Dart là dễ đọc và dễ hiểu, giúp người lập trình dễ dàng tìm hiểu và sử dụng ngôn ngữ này. Thuận lợi cho lập trình web: Dart được thiết kế để làm việc cùng với các trình duyệt web hiện đại và có thể thực hiện trên cả client và server. Flutter Framework: Dart được sử dụng làm ngôn ngữ chính cho Flutter, một framework UI đa nền tảng cho việc xây dựng ứng dụng di động chất lượng cao. Hỗ trợ rộng rãi: Dart có cộng đồng người sử dụng đông đảo và sự hỗ trợ chính thức từ Google, điều này giúp giải quyết vấn đề và cung cấp tài nguyên phong phú cho những người phát triển.
Dart đặc biệt khi kết hợp với Flutter, đã trở thành một lựa chọn mạnh mẽ cho việc phát triển ứng dụng di động và web hiện đại. Tổng quan về UML 1. UML là gì UML là viết tắt của "Unified Modeling Language" (Ngôn ngữ mô hình hóa thống nhất), là một ngôn ngữ đồ họa được sử dụng để mô hình hóa, thiết kế và trình 7 bày các phần mềm. UML cung cấp một tập hợp các biểu đồ và ký hiệu để diễn giải cấu trúc và hành vi của một hệ thống phần mềm.
UML được phát triển bởi Object Management Group (OMG) vào những năm 1990 và đã trở thành một chuẩn công nghiệp trong việc mô hình hóa phần mềm. UML không chỉ được sử dụng trong giai đoạn phát triển phần mềm, mà còn trong việc tài liệu hóa, truyền thông và hiểu cấu trúc của hệ thống. Một số dạng biểu đồ UML phổ biến UML cung cấp một loạt các biểu đồ để mô hình hóa các khía cạnh khác nhau của hệ thống phần mềm. Dưới đây là một số biểu đồ UML phổ biến: Biểu đồ lớp (Class Diagram): Mô tả cấu trúc của các lớp trong hệ thống, bao gồm các thuộc tính, phương thức và mối quan hệ giữa chúng.
Biểu đồ Use Case (Use Case Diagram): Mô tả các tác nhân (actors) và các ca sử dụng (use cases) của hệ thống, giúp hiểu các chức năng và yêu cầu của người dùng. Biểu đồ Tuần tự (Sequence Diagram): Mô tả các tương tác giữa các đối tượng trong hệ thống theo thứ tự thời gian, giúp hiểu các quá trình xử lý và luồng điều khiển của hệ thống. Biểu đồ Trạng thái (State Diagram): Mô tả các trạng thái và các sự kiện mà hệ thống có thể trải qua, giúp hiểu hành vi và luồng trạng thái của hệ thống. Biểu đồ hoạt động (Activity Diagram): Mô tả các hoạt động và luồng điều khiển của hệ thống, giúp hiểu quy trình và tương tác giữa các hoạt động.
Ứng Dụng của UML UML được sử dụng trong mọi giai đoạn của quy trình phát triển phần mềm, từ việc phân tích và thiết kế ban đầu cho đến triển khai và kiểm thử. Nó cung cấp một cách tiêu chuẩn và hợp nhất để mô hình hóa hệ thống phần mềm, giúp tăng cường sự hiểu biết và giao tiếp giữa các thành viên trong nhóm phát triển và giữa các bên liên 8 quan như khách hàng và nhà phát triển. UML cũng hỗ trợ tái sử dụng mã, cải thiện khả năng bảo trì và nâng cao chất lượng của phần mềm. Tổng quan về Android Studio Android Studio, là một trình biên soạn mã chính thức dành cho việc phát triển ứng dụng Android, được coi là ngôi nhà của các nhà phát triển sáng tạo.
Với nền tảng mạnh mẽ của IntelliJ IDEA, nó mang đến cho người dùng một môi trường linh hoạt và tiện ích, giúp họ tạo ra và quản lý các ứng dụng một cách hiệu quả. Android Studio đem lại sự thuận tiện và linh hoạt trong việc làm việc với mã nguồn.