intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đồ án tốt nghiệp Công nghệ thông tin: Tìm hiểu về flutter và ứng dụng

Chia sẻ: Hades Hades | Ngày: | Loại File: PDF | Số trang:87

106
lượt xem
22
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung đồ án bao gồm ba chương: Chương 1 - Tìm hiểu về Flutter, giới thiệu về Flutter, các tính năng, kiến trúc, tổng quan của Flutter. Chương 2 - Tìm hiểu về Website, giới thiệu những điều cơ bản về website, cách thức hoạt động và phân loại trang web. Chương 3 - Ứng dụng thực nghiệm, xây dựng ứng dụng trên hai nền tảng là Android và iOS. Mời các bạn tham khảo!

Chủ đề:
Lưu

Nội dung Text: Đồ án tốt nghiệp Công nghệ thông tin: Tìm hiểu về flutter và ứng dụng

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CÔNG NGHỆ HẢI PHÒNG ------------------------------- ĐỒ ÁN TỐT NGHIỆP NGÀNH : CÔNG NGHỆ THÔNG TIN Sinh viên : Đỗ Thế Hiệp Giảng viên hướng dẫn: TS. Đỗ Văn Chiểu HẢI PHÒNG – 2021
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CÔNG NGHỆ HẢI PHÒNG ----------------------------------- TÌM HIỂU VỀ FLUTTER VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY NGÀNH: CÔNG NGHỆ THÔNG TIN Sinh viên : Đỗ Thế Hiệp Giảng viên hướng dẫn: TS. Đỗ Văn Chiểu HẢI PHÒNG – 2021
  3. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CÔNG NGHỆ HẢI PHÒNG -------------------------------------- NHIỆM VỤ ĐỀ TÀI TỐT NGHIỆP Sinh viên: Đỗ Thế Hiệp Mã SV: 1712111001 Lớp : CT2101C Ngành : Công nghệ thông tin Tên đề tài: Tìm hiểu Flutter và ứng dụng
  4. NHIỆM VỤ ĐỀ TÀI 1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt nghiệp - Tìm hiểu về Flutter, cài đặt, biên dịch hệ thống. - Tìm hiểu về Website, viết ứng dụng đọc website trên di động, và biên dịch hệ thống lên các thiết bị Android và iOS 2. Các tài liệu, số liệu, thiết bị cần thiết - Sách Flutter Fast: 65 Example Apps. - Khóa học Flutter cơ bản của Cafedev. - Thiết bị: o Máy tính chạy hệ điều hành macOS. o Máy tính chạy hệ điều hành Windows. o Điện thoại di động chạy hệ hiều hành Android. o Điện thoại di động chạy hệ điều hành iOS.
  5. CÁN BỘ HƯỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Họ và tên : Đỗ Văn Chiểu Học hàm, học vị : Tiến sĩ Cơ quan công tác : Trường Đại học Quản lý và Công nghệ Hải Phòng Nội dung hướng dẫn: + Tìm hiểu Flutter, cài đặt, biên dịch hệ thống. + Tìm hiểu 1 website, viết ứng dụng đọc website trên di động. Đề tài tốt nghiệp được giao ngày 12 tháng 04 năm 2021 Yêu cầu phải hoàn thành xong trước ngày 03 tháng 07 năm 2021 Đã nhận nhiệm vụ ĐTTN Đã giao nhiệm vụ ĐTTN Sinh viên Giảng viên hướng dẫn Hải Phòng, ngày.....tháng.....năm 2021 TRƯỞNG KHOA
  6. CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN TỐT NGHIỆP Họ và tên giảng viên: Đỗ Văn Chiểu Đơn vị công tác: Khoa Công nghệ thông tin, Trường Đại học Quản lý và Công nghệ Hải Phòng Họ và tên sinh viên: Đỗ Thế Hiệp Ngành: Công nghệ thông tin Nội dung hướng dẫn: - Tìm hiểu Flutter, cài đặt, biên dịch hệ thống. - Tìm hiểu 1 website, viết ứng dụng đọc website trên di động, biên dịch hệ thống qua cá thiết bị iOS và Android 1. Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp ………………………………………………………………………………….….... ………………………………………………………………………………….…… ………………………………………………………………………………….…… 2. Đánh giá chất lượng của đồ án/khóa luận (so với nội dung yêu cầu đã đề ra trong nhiệm vụ Đ.T. T.N trên các mặt lý luận, thực tiễn, tính toán số liệu…) ………………………………………………………………………………….…… ………………………………………………………………………………….…… ………………………………………………………………………………….…… ………………………………………………………………………………….…… 3. Ý kiến của giảng viên hướng dẫn tốt nghiệp Đạt Không đạt Điểm:……………………………………... Hải Phòng, ngày.....tháng 07 năm 2021 Giảng viên hướng dẫn (Ký và ghi rõ họ tên) QC20-B18
  7. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN CHẤM PHẢN BIỆN Họ và tên giảng viên: ............................................................................................ Đơn vị công tác: ................................................................................................... Họ và tên sinh viên: Đỗ Thế Hiệp Ngành: Công nghệ thông tin Đề tài tốt nghiệp: Tìm hiểu Flutter và ứng dụng 1. Phần nhận xét của giảng viên chấm phản biện ………………………………………………………………………………….…… ………………………………………………………………………………….…… ………………………………………………………………………………….…… ………………………………………………………………………………….…… ………………………………………………………………………………….…… ………………………………………………………………………………….…… 2. Những mặt còn hạn chế ………………………………………………………………………………….…… ………………………………………………………………………………….…… ………………………………………………………………………………….…… ………………………………………………………………………………….…… ………………………………………………………………………………….…… ………………………………………………………………………………….…… 3. Ý kiến của giảng viên chấm phản biện Được bảo vệ Không được bảo vệ Điểm:…………………. Hải Phòng, ngày.....tháng 07 năm 2021 Giảng viên chấm phản biện (Ký và ghi rõ họ tên) Trang 7
  8. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng MỤC LỤC CHƯƠNG 1 TÌM HIỂU VỀ FLUTTER ..................................... 16 1.1 Flutter là gì ..................................................................................... 16 1.2 Điều làm Flutter trở lên độc đáo .................................................... 17 1.3 Các tính năng của Flutter ............................................................... 17 1.4 Kiến trúc của Flutter ....................................................................... 18 1.4.1 Kiến trúc Flutter ........................................................................... 18 1.4.2. Flutter Engine.............................................................................. 18 1.4.3. Thư viện nền tảng (Foundation Library) .................................... 18 1.4.4. Vật dụng (widget) ....................................................................... 19 1.4.5. Thiết kế các widget cụ thể .......................................................... 19 1.5. Giới thiệu về ngôn ngữ lập trình Dart ........................................... 20 1.5.1 Kiểu dữ liệu.................................................................................. 20 1.5.2 Các biến và các hàm .................................................................... 21 1.5.3. Toán tử (Operators)..................................................................... 21 1.5.4. Ra quyết định và các loại vòng lặp ............................................. 22 1.5.5 Bình luận (Comments) ................................................................. 23 1.5.6. Tiếp tục và Phá vỡ(Continue and Break) ................................... 24 1.5.7 Từ khóa Final và Const ................................................................ 24 1.5.8. Lập trình hướng đối tượng .......................................................... 25 1.6. Một số loại Widgets của Flutter thường gặp................................. 29 1.6.1 Widget Flutter .............................................................................. 29 1.6.2 widget hiển thị.............................................................................. 30 1.6.3 widget ẩn ...................................................................................... 34 1.7. Tìm hiểu về bố cụ(layout) giao diện trong Flutter ........................ 36 1.7.1 Bố cục .......................................................................................... 36 1.7.2 Bố cục một widget ....................................................................... 37 1.7.3. Các loại widget bố cục ................................................................ 37 1.8. Tìm hiểu về Cử chỉ(Gestures) với giao diện trong Flutter ........... 39 Trang 8
  9. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng 1.8.1 Con trỏ ......................................................................................... 40 1.8.2 Cử chỉ ........................................................................................... 40 1.8.3 Dò cử chỉ ...................................................................................... 41 1.9. Quản lý State ................................................................................. 41 1.9.1. State (Trạng thái) là gì ................................................................ 42 1.10 Tìm hiểu về Navigator và Routing trong Flutter ......................... 44 1.10.1 Tạo routes................................................................................... 44 1.10.2 Điều hướng đến route thứ hai bằng phương thức Navigator.push() ................................................................................... 45 1.10.3 Quay lại route đầu tiên bằng phương thức Navigator.pop ()..... 46 1.11. Tìm hiểu về Database trong Flutter ............................................ 46 1.11.1 Cơ sở dữ liệu SQLite ................................................................. 46 1.11.2 Firebase – NoSQL lưu trữ online .............................................. 50 CHƯƠNG 2 TÌM HIỂU VỀ WEBSITE ..................................... 51 2.1 Website là gì ................................................................................... 51 2.2 Cấu tạo của 1 website ..................................................................... 51 2.3 Các loại website và phân loại Website .......................................... 53 2.3.1 Phân loại website theo cấu trúc website ...................................... 53 2.3.2 Phân loại website theo quyền sở hữu .......................................... 54 2.3.3 Phân loại website theo chức năng................................................ 54 2.3.4 Phân loại webite theo lĩnh vực hoạt động.................................... 57 2.4 Tìm hiểu về Website Hợp Tác Xã Nông nghiệp và Du lịch Cộng đồng Cổ Loa ......................................................................................... 57 CHƯƠNG 3 BẢN HƯỚNG DẪN SỬ DỤNG VÀ ỨNG DỤNG THỰC NGHIỆM ........................................................................ 58 3.1. Bản hướng dẫn sử dụng................................................................. 58 3.1.1 Bản hướng dẫn sử dụng trên hệ điều hành Windows .................. 58 3.1.2 Bản hướng đẫn sử dụng trên hệ điều hành Mac OS .................... 64 3.2 Xây dựng ứng dụng thực nghiệm................................................... 70 Trang 9
  10. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng 3.2.1 Webview ...................................................................................... 71 3.2.2 Splash screen ................................................................................ 77 3.2.3 Checking Internet ......................................................................... 78 3.2.4 Cấu hình và một số lỗi ................................................................. 83 KẾT LUẬN ................................................................................ 85 TÀI LIỆU THAM KHẢO .......................................................... 87 Trang 10
  11. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng MỤC LỤC HÌNH ẢNH Hình 1.1: Các tính năng của Flutter ............................................................ 17 Hình 1.2: Kiến trúc Flutter.......................................................................... 19 Hình 1.3: Bảng kiểu dữ liệu trong ngôn ngữ Dart ...................................... 20 Hình 1.4: Các câu lệnh quyết định if, if-else .............................................. 23 Hình 1 5: Cây Widget ................................................................................. 30 Hình 1. 6 Widget Cột .................................................................................. 34 Hình 1.7: BIểu tượng và nhãn dán trong flutter ......................................... 36 Hình 1.8: Nội dung của Container .............................................................. 36 Hình 1.9 Sự khác biệt giữa trạng thái ứng dụng và trạng thái tức thời ...... 43 Hình 2.1 Mô hình cơ bản về hoạt động của một website trên Internet .............................................................................................................52 Hình 2.2 Các hoạt động của trang web động và trang web tĩnh ....................54 Hình 2.3 Mạng xã hội Facebook ....................................................................56 Hình 2.4 DIễn đàn công nghệ Voz .................................................................56 Hình 2.5 Website Hợp tác xã Nông nghiệp và Du lịch Cộng đồng Cổ Loa ..58 Hình 3.1 Nhấp chuột phải vào biểu tượng Proprerties......................60 Hình 3.2 Truy cập Advanced system settings ................................................60 Hình 3.3 Sửa biến môi trường Path ................................................................61 Hình 3 4 Thêm đường dẫn thư mục bin của Flutter vào Edit environment variable .............................................................................................................61 Hình 3.5 Mở AVD Manager ...........................................................................62 Hình 3.6 chọn tạo mới một thiết bị máy ảo ....................................................62 Hình 3.7 Thiết lập chọn cấu hình phần cứng..................................................63 Hình 3.8 Cấu hình máy ảo trong android studio ............................................63 Hình 3.9 Bảng AVD nơi chứa thông tin các máy ảo đã tạo ...........................64 Hình 3.10 Chạy lệnh flutterdoctor trong cmd để kiểm tra môi trường lập trình, thiết bị, và các gói ..................................................................................64 Hình 3.11 Ứng dụng Xcode trên App Store ...................................................65 Hình 3.12 chạy lệnh flutter doctor trên terminal(iOS) ...................................66 Hình 3.13 Ảnh minh họa tải 2 plugin dart vs flutter ......................................67 Hình 3.14 Cấu trúc của một project flutter .....................................................68 Hình 3.15 Ứng dụng minh họa về Flutter.......................................................70 Hình 3.16 Ứng dụng webview chạy trên thiết bị android ..............................71 Hình 3.17 Ứng dụng webview chạy trên thiết bị iOS ....................................71 Hình 3.18 thư mục pubspec.yaml nơi thêm cách gói(package) .....................72 Trang 11
  12. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng Hình 3.19 Thêm ảnh vào các thư mục mipmap..............................................77 Hình 3.20 Splash Screen được chạy khi khởi động ứng dụng .......................78 Hình 3.21 Tên của ứng dụng sau khi đã đổi ...................................................82 Hình 3.22 Thêm biểu tượng icon vào các thư mục mitmap ...........................83 Hình 3.23 Biểu tượng của ứng dụng sau khi đã đổi .......................................83 Hình 3.24 đăng nhập tài khoản developer của apple ......................................84 Hình 3.25 Lỗi không nhận các thiết bị có OS version từ 14.5 trở lên............85 Trang 12
  13. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ Từ viết tắt Nghĩa tiếng anh Nghĩa tiếng việt Một thương hiệu đặc tả ngôn ngữ kịch bản được tiêu chuẩn hóa bởi Ecma ECMA ECMAScript International thông qua ECMA-262 và ISO/IEC 16262 Bộ công cụ phát triển phần SDK Software Development Kit mềm Application Programming Giao diện lập trình ứng API Interface dụng Debug hàm nào chạy hàm JIT Just In Time đó thì ở đây nó sẽ viết đến đâu biên dịch ngay đến đấy Khi chạy chương trình, nó AOT Ahead Of Time sẽ biên dịch từ đầu đến cuối OOP Object Oriented Programming Lập trình hướng đối tượng Định vị tài nguyên thống nhất. Cụ thể, URL là địa URL Uniform Resource Locator chỉ của một tài nguyên duy nhất trên Web. Môi trường tích hợp dùng Integrated Development IDE để viết code để phát triển Environment ứng dụng. một nền tảng lập trình và cũng là một nền tảng thực thi ứng dụng chủ yếu trên Framework hệ điều hành Microsoft Windows được phát triển bởi Microsoft OEM Original Equipment Nhà sản xuất thiết bị gốc Manufacturer Widgets Tiện ích HTML Hypertext Markup Language Nó giúp người dùng tạo và cấu trúc các thành phần trong trang web hoặc ứng dụng XHTML Extensible HyperText Markup Ngôn ngữ Đánh dấu Siêu Language văn bản Mở rộng Trang 13
  14. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng LỜI CẢM ƠN Lời đầu tiên cho em gửi lời cảm ơn sâu sắc đến gia đình, người thân của em. Đã động viên, giúp đỡ, cổ vũ, tạo cho em thêm động lực để em có thể hoàn thành đồ án trong thời gian được giao. Em xin chân thành cảm ơn đến các thầy cô Ban Giám Hiệu Trường Đại học Quản lý và Công Nghệ Hải Phòng, các thầy cô thuộc các Ban, Ngành của trường đã tạo mọi điều kiện để em có thể đăng kí được đồ án tốt nghiệp và hoàn thành. Em xin chân thành cảm ơn các thầy giáo cô giáo trong Khoa Công nghệ thông tin giảng dạy cho em những kiến thức bổ ích trong vòng bốn năm qua, giúp đỡ, cung cấp cho em những kiến thức nền tảng để em có thể hoàn thành được đề tài tốt nghiệp. Đặc biệt em xin chân thành cảm ơn thầy giáo, TS. Đỗ Văn Chiểu trong thời gian làm tốt nghiệp vừa qua, thầy đã giành nhiều thời gian và tâm huyết để hướng dẫn em thực hiện đề tài này. Em xin cảm ơn các bạn, các anh, các chị đồng nghiệp đã giúp đỡ em có thêm những kiến thức nền tảng về lập trình, để em có thể hoàn thành tốt đề tài tốt nghiệp của em. Dưới đây là kết quả của quá trình tìm hiểu và nghiên cứu mà em đã đạt được trong thời gian vừa qua. Mặc dù rất cố gắng và được thầy cô giúp đỡ nhưng do hiểu biết và kinh nghiệm của mình còn hạn chế nên có thể đây chưa phải là kết quả mà thầy cô mong đợi từ em. Em rất mong nhận được những lời nhận xét và đóng góp quý báu của thầy cô để bài luận văn của em được hoàn thiện hơn cũng như cho em thêm nhiều kinh nghiệm cho công việc sau này. Em xin chân thành cảm ơn ! Hải Phòng, ngày......tháng......năm 2021 Sinh viên Đỗ Thế Hiệp Trang 14
  15. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng LỜI NÓI ĐẦU Với sự gia tăng đáng kinh ngạc của sự phát triển ứng dụng di động trong thập kỷ qua, iOS và Android đã trở thành những hệ điều hành hàng đầu. Điều này dẫn đến sự trỗi dậy của toàn bộ ngành công nghiệp với một số framework cho phép các nhà phát triển xây ứng dụng di động. Hầu hết các framework phát triển di động này được xây dựng để hỗ trợ phát triển ứng dụng kết hợp tương thích với cả iOS và Android. Google đã đưa ra một bộ công cụ phát triển phần mềm giao diện người dùng mã nguồn mở Flutter, được công bố lần đầu tiên vào năm 2015 và chính thức ra mắt vào năm 2017. Để tạo ra 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 . Trong nội dung này, em xin trình bày về “Flutter và ứng dụng”, để đáp ứng nhu cầu cần tìm hiểu về lập trình ứng dụng trên Mobile, dành cho mọi người có đam mê và sở thích về khả năng lập trình các ứng dụng tương thích trên iOS và Android. Đóng góp một phần nhỏ về kiến thức cơ bản dành cho những ai yêu thích muốn tìm hiểu đến Flutter. Nội dung đồ án bao gồm ba chương: Chương 1 Tìm hiểu về Flutter, giới thiệu về Flutter, các tính năng, kiến trúc, tổng quan của Flutter. Chương 2 Tìm hiểu về Website, giới thiệu những điều cơ bản về website, cách thức hoạt động và phân loại trang web. Chương 3 Ứng dụng thực nghiệm, xây dựng ứng dụng trên hai nền tảng là Android và iOS. Hải Phòng, ngày.....tháng......năm 2021 Sinh viên thực hiện Đỗ Thế Hiệp Trang 15
  16. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng 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.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
  17. ĐỒ Á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.v. 1.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. 1.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. Hình 1.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
  18. ĐỒ Á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. 1.4 Kiến trúc của Flutter 1.4.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.  Động cơ Flutter (Flutter Engine)  Thư viện nền tảng (Foundation Library)  Vật dụng (Widgets)  Thiết kế các widget cụ thể (Design Specific Widgets) 1.4.2. 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. 1.4.3. 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
  19. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng 1.4.4. 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. Hình 1.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. 1.4.5. 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
  20. ĐỒ ÁN TỐT NGHIỆP Trường Đại học Quản lí và Công nghệ Hải Phòng 1.5. 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.5.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. Hình 1.3: Bảng kiểu dữ liệu trong ngôn ngữ Dart Trang 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
8=>2