Đồ án: tìm hiểu về flutter và ứng dụng

Tổng hợp kiến thức Đồ án tìm hiểu về flutter và ứng dụng, tiếp cận khoa học, hỗ trợ học tập và nghiên cứu hiệu quả trong chuyên ngành

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2021

87
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Flutter và tầm quan trọng

Flutter là một framework mã nguồn mở được phát triển bởi Google, cho phép các lập trình viên xây dựng các ứng dụng di động đa nền tảng với một codebase duy nhất. Flutter sử dụng ngôn ngữ lập trình Dart và cung cấp một bộ công cụ mạnh mẽ để tạo ra các giao diện người dùng đẹp mắt và phản ứng nhanh chóng. Trong đồ án tốt nghiệp về Flutter và ứng dụng, sinh viên tìm hiểu sâu về cách cài đặt, biên dịch hệ thống Flutter, và phát triển các ứng dụng thực tế. Framework này đã trở thành lựa chọn hàng đầu của các nhà phát triển vì khả năng tạo ra các ứng dụng chất lượng cao cho cả nền tảng AndroidiOS một cách hiệu quả.

1.1. Những điểm độc đáo của Flutter

Flutter nổi bật với khả năng hot reload, cho phép nhà phát triển thấy ngay những thay đổi trong mã mà không cần khởi động lại ứng dụng. Ngoài ra, Flutter cung cấp một thư viện widget phong phú, giúp tạo ra các giao diện đẹp mắt một cách dễ dàng. Hiệu suất cao, hỗ trợ đa nền tảng, và cộng đồng phát triển lớn là những ưu điểm vượt trội của Flutter so với các framework khác.

1.2. Các tính năng chính của Flutter

Các tính năng chính của Flutter bao gồm: Material DesignCupertino Design cho giao diện người dùng, native performance với khả năng truy cập trực tiếp tài nguyên hệ thống, widget customizable để xây dựng giao diện linh hoạt, và Firebase integration để kết nối các dịch vụ backend. Những tính năng này giúp nhà phát triển tạo ra các ứng dụng chuyên nghiệp và hiệu quả.

II. Kiến trúc Flutter và ngôn ngữ Dart

Kiến trúc Flutter được xây dựng dựa trên ba tầng chính: tầng framework, tầng enginetầng nền tảng. Tầng framework được viết bằng Dart và cung cấp các widget và API để xây dựng giao diện. Tầng engine là Skia, một engine vẽ đồ họa hiệu suất cao giúp render các widget. Ngôn ngữ Dart là một ngôn ngữ hướng đối tượng hiện đại, dễ học và mạnh mẽ, được thiết kế đặc biệt cho Flutter. Trong đồ án tốt nghiệp, sinh viên cần nắm vững các kiến thức về kiến trúc Flutter và những khái niệm cơ bản của Dart như kiểu dữ liệu, biến, hàm, và lập trình hướng đối tượng.

2.1. Kiến trúc chi tiết của Flutter

Kiến trúc Flutter gồm Foundation Library cung cấp các dịch vụ cơ bản, tầng widget chứa các widget được xây dựng sẵn, và rendering layer thực hiện vẽ giao diện. Tất cả được kết nối qua Dart framework, giúp tạo ra các ứng dụng hiệu quả và mượt mà trên các thiết bị di động.

2.2. Ngôn ngữ lập trình Dart cơ bản

Dart hỗ trợ các kiểu dữ liệu cơ bản như int, double, String, bool, và các tập hợp như List, Map, Set. Sinh viên cần hiểu rõ về biến, hàm, vòng lặp, điều kiện, cũng như lập trình hướng đối tượng với class, inheritance, và polymorphism để phát triển ứng dụng Flutter hiệu quả.

III. Widget Layout và Gesture trong Flutter

Widget là những thành phần cơ bản của Flutter, đại diện cho các yếu tố giao diện người dùng từ nút bấm đến danh sách. Flutter cung cấp hai loại widget: Stateless Widget cho những widget không thay đổi trạng thái, và Stateful Widget cho những widget có khả năng thay đổi trạng thái. Bố cục (Layout) trong Flutter được xử lý bởi các widget bố cục như Column, Row, Stack, Container, giúp sắp xếp các widget con một cách linh hoạt. Cử chỉ (Gesture) cho phép người dùng tương tác với ứng dụng thông qua các sự kiện như tap, long press, drag, swipe. Trong đồ án tốt nghiệp, sinh viên học cách sử dụng các widget phổ biến, xây dựng layout phức tạp, và xử lý gesture để tạo ra giao diện tương tác người dùng tốt.

3.1. Các loại Widget thường gặp

Các widget thường gặp bao gồm Text để hiển thị văn bản, Button cho các nút bấm, Image để hiển thị hình ảnh, TextField cho nhập liệu, và ListView cho danh sách cuộn. Container là một widget linh hoạt để tạo hộp với background, padding, margin, và border. Nắm vững các widget này giúp xây dựng giao diện nhanh chóng.

3.2. Bố cục và tương tác người dùng

ColumnRow sắp xếp widget theo chiều dọc và ngang. Stack xếp chồng widget lên nhau. GestureDetector bắt sự kiện gesture từ người dùng. Navigator quản lý điều hướng giữa các màn hình. Kết hợp các layout widgetgesture handler tạo ra giao diện tương tác mượt mà và chuyên nghiệp.

IV. Ứng dụng thực nghiệm và triển khai trên Android iOS

Một phần quan trọng của đồ án tốt nghiệp về Flutter là xây dựng ứng dụng thực nghiệm, cụ thể là một ứng dụng đọc website trên di động. Ứng dụng này tương tác với website Hợp Tác Xã Nông nghiệp và Du lịch Cộng đồng Cổ Loa, cho phép người dùng xem thông tin từ website trên thiết bị di động. Sinh viên cần học cách tích hợp API web, xử lý dữ liệu JSON, và lưu trữ dữ liệu cục bộ bằng SQLite hoặc Firebase. Cuối cùng, ứng dụng phải được biên dịch và triển khai trên cả AndroidiOS để đảm bảo tương thích đa nền tảng.

4.1. Xây dựng ứng dụng đọc website

Ứng dụng đọc website sử dụng HTTP client để lấy dữ liệu từ website, sau đó hiển thị thông tin một cách đẹp mắt trên màn hình. Ứng dụng cần có giao diện thân thiện, tốc độ tải nhanh, và khả năng lưu dữ liệu offline. Sinh viên sử dụng package http, json serialization, và local database để hoàn thành chức năng.

4.2. Biên dịch và triển khai trên Android iOS

Biên dịch ứng dụng Flutter cho Android sử dụng GradleAndroid NDK, tạo ra file APK hoặc AAB. Cho iOS, sử dụng XcodeCocoaPods để tạo IPA. Quá trình này yêu cầu cài đặt SDK phù hợp, cấu hình signing certificates, và thử nghiệm trên thiết bị thực. Kỹ năng này rất quan trọng cho việc đưa ứng dụng vào sử dụng thực tế.

22/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1 TÌM HIỂU VỀ FLUTTER 1.1 Flutter là gì Flutter là một bộ SDK đa nền tảng có thể hoạt động trên iOS và Android do Google phát triển được sử dụng để tạo ra các ứng dụng dành cho di động (native app). Flutter gồm 2 thành phần quan trọng:  Một SDK (Software Development Kit): Một bộ sưu tập các công cụ sẽ giúp bạn phát triển các ứng dụng của mình.  Một Framework (UI Library based on widgets): Một tập hợp các thành phần giao diện người dùng (UI) có thể tái sử dụng (button, text inputs, slider, v.) giúp bạn có thể cá nhân hóa tùy theo nhu cầu của riêng mình. Nói chung, tạo một ứng dụng di động là một công việc rất phức tạp và đầy thử thách.

Có rất nhiều framework có sẵn, cung cấp các tính năng tuyệt vời để phát triển các ứng dụng di động. Để phát triển các ứng dụng dành cho thiết bị di động, Android cung cấp một framework gốc dựa trên ngôn ngữ Java và Kotlin, trong khi iOS cung cấp một framework dựa trên ngôn ngữ Objective-C/Swift. Vì vậy, chúng ta cần hai ngôn ngữ và framework khác nhau để phát triển ứng dụng cho cả hai hệ điều hành. Ngày nay, để khắc phục sự phức tạp này, có một số framework đã được giới thiệu hỗ trợ cả hệ điều hành cùng với các ứng dụng dành cho máy tính để bàn.

Những loại framework này được gọi là công cụ phát triển đa nền tảng [1]. Framework phát triển đa nền tảng có khả năng viết một code và có thể triển khai trên nhiều nền tảng khác nhau (Android, iOS và Máy tính để bàn). Nó tiết kiệm rất nhiều thời gian và nỗ lực phát triển của các nhà phát triển. Có một số công cụ có sẵn để phát triển đa nền tảng, bao gồm các công cụ dựa trên web.

Mỗi framework này có mức độ thành công khác nhau trong ngành công nghiệp di động. Gần đây, một framework công tác mới đã được giới thiệu trong họ phát triển đa nền tảng có tên là Flutter được phát triển từ Google. Flutter là một bộ công cụ giao diện người dùng để tạo các ứng dụng nhanh, đẹp, được biên dịch nguyên bản cho thiết bị di động, web và máy tính để bàn với một ngôn ngữ lập trình và cơ sở code duy nhất. Nó là miễn phí và code nguồn mở.

Ban đầu nó được phát triển từ Google và bây giờ được quản lý theo tiêu chuẩn ECMA. Ứng dụng Flutter sử dụng ngôn ngữ lập trình Dart để tạo ứng dụng. Flutter chủ yếu được tối ưu hóa cho các ứng dụng di động 2D có thể chạy trên cả nền tảng Android và iOS. Chúng ta cũng có thể sử dụng nó để xây dựng các ứng Trang 16 ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng dụng đầy đủ tính năng, bao gồm máy ảnh, bộ nhớ, vị trí địa lý, mạng, SDK của bên thứ ba, v.2 Điều làm Flutter trở lên độc đáo Flutter khác với các framework khác vì nó không sử dụng WebView cũng như các widget OEM (Original Equipment Manufacturer) đi kèm với thiết bị.

Thay vào đó, nó sử dụng công cụ kết xuất hiệu suất cao của riêng mình để vẽ các widget. Nó cũng triển khai hầu hết các hệ thống của nó như hoạt ảnh, cử chỉ và widget bằng ngôn ngữ lập trình Dart cho phép các nhà phát triển đọc, thay đổi, thay thế hoặc loại bỏ mọi thứ một cách dễ dàng. Nó cung cấp khả năng kiểm soát tuyệt vời cho các nhà phát triển đối với hệ thống.3 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: Các tính năng của Flutter Code nguồn mở(Open-Source:): Flutter là một framework code nguồn mở và miễn phí để phát triển các ứng dụng di động.

Đa nền tảng(Cross-platform): Tính năng này cho phép Flutter viết code một lần, duy trì và có thể chạy trên các nền tảng khác nhau. Nó 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. Trang 17 ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng Tải lại nóng(Hot Reload): Bất cứ khi nào nhà phát triển thực hiện thay đổi trong code, thì những thay đổi này có thể được nhìn thấy ngay lập tức với Tải lại nóng. Nó có nghĩa là những thay đổi hiển thị ngay lập tức trong chính ứng dụng.

Đây là một tính năng rất tiện dụng, cho phép nhà phát triển sửa các lỗi ngay lập tức. Các tính năng và SDK gốc có thể truy cập (Accessible Native Features and SDKs): Tính năng này cho phép quá trình phát triển ứng dụng dễ dàng và thú vị thông qua code gốc của Flutter, tích hợp bên thứ ba và các API nền tảng. Do đó, chúng tôi có thể dễ dàng truy cập SDK trên cả hai nền tảng. Code tối thiểu (Minimal code): Ứng dụng Flutter được phát triển bởi ngôn ngữ lập trình Dart, sử dụng biên dịch JIT và AOT để cải thiện thời gian khởi động tổng thể, hoạt động và tăng tốc hiệu suất.

JIT nâng cao hệ thống phát triển và làm mới giao diện người dùng mà không cần nỗ lực thêm vào việc xây dựng hệ thống mới. Widget: framework công tác Flutter cung cấp các widget có khả năng phát triển các thiết kế cụ thể có thể tùy chỉnh. Quan trọng nhất, Flutter có hai bộ widget: Material Design và các widget Cupertino giúp mang lại trải nghiệm không có trục trặc trên tất cả các nền tảng.4 Kiến trúc của Flutter 1.1 Kiến trúc Flutter Trong phần này, chúng ta sẽ thảo luận về kiến trúc của Flutter framework. Kiến trúc Flutter chủ yếu bao gồm bốn thành phần.

Flutter Engine Nó là một cổng để giúp chạy các ứng dụng di động chất lượng cao và cơ bản dựa trên ngôn ngữ C ++. Nó triển khai các thư viện lõi Flutter bao gồm animation và đồ họa, tệp và mạng I / O, kiến trúc plugin, hỗ trợ trợ năng và thời gian chạy dart để phát triển, biên dịch và chạy các ứng dụng Flutter. Phải sử dụng thư viện đồ họa mã nguồn mở của Google, Skia, để hiển thị đồ họa cấp thấp. Thư viện nền tảng (Foundation Library) Nó chứa tất cả các gói cần thiết cho các khối build cơ bản để viết một ứng dụng Flutter.

Các thư viện này được viết bằng ngôn ngữ Dart. Trang 18 ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng 1. Vật dụng (widget) Trong Flutter, mọi thứ đều là một widget, đó là khái niệm cốt lõi của framework. Widget trong Flutter về cơ bản là một thành phần giao diện người dùng ảnh hưởng và kiểm soát chế độ xem và giao diện của ứng dụng.

Nó đại diện cho một mô tả bất biến về một phần của giao diện người dùng và bao gồm đồ họa, văn bản, hình dạng và animation được tạo bằng các widget. Các widget tương tự như các thành phần React. Trong Flutter, ứng dụng tự nó là một widget chứa nhiều widget con. Điều đó có nghĩa rằng ứng dụng là tiện ích con cấp cao nhất và giao diện người dùng của nó được xây dựng bằng cách sử dụng một hoặc nhiều tiện ích con, bao gồm các tiện ích con phụ.

Tính năng này giúp bạn tạo một giao diện người dùng phức tạp rất dễ dàng.2: Kiến trúc Flutter Trong ví dụ trên, chúng ta có thể thấy rằng tất cả các thành phần đều là các widget có chứa các widget con. Do đó, ứng dụng Flutter tự nó là một widget. Thiết kế các widget cụ thể Framework Flutter có hai bộ widget phù hợp với các ngôn ngữ thiết kế cụ thể. Đây là Material Design cho ứng dụng Android và Cupertino Style cho ứng dụng IOS.

Trang 19 ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng 1. Giới thiệu về ngôn ngữ lập trình Dart Dart là một ngôn ngữ lập trình hướng đối tượng mã nguồn mở, có mục đích chung với cú pháp kiểu C do Google phát triển vào năm 2011. Mục đích của lập trình Dart là tạo giao diện người dùng frontend cho web và ứng dụng dành cho thiết bị di động. Nó đang được phát triển tích cực, được biên dịch sang mã máy gốc để xây dựng ứng dụng di động, lấy cảm hứng từ các ngôn ngữ lập trình khác như Java, JavaScript, C # và Typed mạnh.

Vì Dart là một ngôn ngữ biên dịch nên bạn không thể thực thi code của mình trực tiếp; thay vào đó, trình biên dịch phân tích cú pháp nó và chuyển nó thành code máy. Nó hỗ trợ hầu hết các khái niệm chung của ngôn ngữ lập trình như lớp, giao diện, hàm, không giống như các ngôn ngữ lập trình khác. Ngôn ngữ Dart không hỗ trợ mảng trực tiếp. Nó hỗ trợ tập hợp, được sử dụng để sao chép cấu trúc dữ liệu như mảng, generic và kiểu tùy chọn.1 Kiểu dữ liệu Dart là một ngôn ngữ lập trình Strongly Typed.

Nó có nghĩa là, mỗi giá trị bạn sử dụng trong ngôn ngữ lập trình của mình có một kiểu là chuỗi hoặc số và phải được biết chính xác là kiểu dữ liệu gì trước khi code được biên dịch. Ở đây, chúng ta sẽ thảo luận về các kiểu dữ liệu cơ bản phổ biến nhất được sử dụng trong ngôn ngữ lập trình Dart. Loại dữ liệu Thí dụ Mô tả Nó chứa văn bản. Trong phần này, bạn có thể sử dụng dấu ngoặc kép đơn hoặc kép.

Khi Chuỗi String myName = cafedev.vn; bạn quyết định dấu ngoặc kép, bạn phải nhất quán với lựa chọn của mình. Kiểu dữ liệu num là viết tắt của một số. Dart có hai loại số:Số num, int, double int age = 25;double = 125,50; nguyên (Là một số không có chữ số thập phân.)Double (Nó là một số có chữ số thập phân.) Nó sử dụng từ khóa bool để bool var_name = true;Hoặcbool Boolean biểu thị giá trị Boolean true và var_name = false; false. Nói chung, mọi thứ trong Dart là một đối tượng (ví dụ: Số vật Person = Persion() nguyên, Chuỗi).

Nhưng một đối tượng cũng có thể phức tạp hơn.3: Bảng kiểu dữ liệu trong ngôn ngữ Dart Trang 20 ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng 1.2 Các biến và các hàm Các biến là không gian tên trong bộ nhớ lưu trữ các giá trị. Tên của một biến được gọi là định danh(identifiers). Chúng là nơi chứa dữ liệu, có thể lưu trữ giá trị của bất kỳ kiểu nào. Ví dụ: Khi khai báo một biến var myAge = 50 ; Ở đây, myAge là một biến lưu trữ giá trị số nguyên 50.

Chúng ta cũng có thể cho nó là int và double.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ