Tải bản đầy đủ (.pdf) (15 trang)

Báo Cáo Đồ Án Chuyên Ngành 2 Đề Tài Xây Dựng Ứng Dụng Đa Nền Tảng Taxi App.pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.44 MB, 15 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT - HÀN

BÁO CÁO ĐỒ ÁN CHUYÊN
NGÀNH 2
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐA NỀN TẢNG
TAXI APP

Sinh viên thực hiện

: LÊ ĐÌNH TRỌNG
PHẠM ANH TÚ

Giảng viên hướng dẫn : TS. LÊ TÂN
Lớp
: 17IT3

Đà nẵng, tháng 05 năm 2021


ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT - HÀN

BÁO CÁO ĐỒ ÁN CHUYÊN
NGÀNH 2
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐA NỀN TẢNG
TAXI APP



Đà Nẵng, tháng 05 năm 2021


LỜI CẢM ƠN
Trên thực tế khơng có sự thành cơng nào mà không gắn liền
với những sự hỗ trợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay
gián tiếp của người khác. Trong suốt thời gian từ khi bắt đầu học
tập ở giảng đường đại học đến nay, em đã nhận được rất nhiều sự
quan tâm, giúp đỡ của Thầy Cơ, gia đình và bạn bè.
Với lịng biết ơn sâu sắc nhất, em xin gửi đến Thầy Cô ở
Trường Đại Học Công Nghệ Thông Tin và Truyền Thông Việt Hàn đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn
kiến thức quý báu cho em.
Em xin chân thành cám ơn thầy TS. Lê Tân đã tận tình
hướng dẫn em trong quá trình làm đồ án, những điều cần chú ý
khi làm ứng dụng. Trong thời gian làm đồ án em đã có được nhiều
kiến thức và kinh nghiệm trong lập trình, dưới sự hướng dẫn của
thầy hướng dẫn, chúng em không những thu được rất nhiều kiến
thức bổ ích, mà cịn tích lũy được nhiều kinh nghiệm hữu ích cho
cơng việc sau này.
Mặc dù đã rất cố gắng hoàn thiện bản báo cáo đồ án với tất
cả sự nỗ lực, tuy nhiên, do chưa có nhiều kinh nghiệm trong việc
làm ứng dụng di động, cũng như thời gian có hạn, kiến thức cịn
hạn chế nên bản báo cáo này chắc chắn sẽ không thể tránh khỏi
những thiếu sót. Chúng em rất mong nhận được sự quan tâm,
thơng cảm và những đóng góp q báu của các thầy cô và các bạn
để bản báo cáo này ngày càng hoàn thiện hơn.
Sau cùng, em xin kính chúc các thầy cơ trong Trường Đại
Học Cơng Nghệ Thông Tin và Truyền Thông Việt - Hàn dồi dào
sức khỏe để tiếp tục truyền đạt kiến thức cho thế hệ mai sau.



MỞ ĐẦU
Hiện nay, sự phát triển của công nghệ thông tin ở nước ta
đang bước vào thời kỳ mới với việc triển khai rộng rãi các ứng
dụng tin học vào mỗi nhu cầu của người dân. Khồng ai còn nghi
ngờ gì về vai trị của cơng nghệ thơng tin trong đời sống, trong
khoa học kĩ thuật, kinh doanh, cũng như trong mọi mặt của xã hội,
ngay cả đối với một cá nhân.
Trong cuộc sống hiện nay việc sử dụng những ứng dụng
điện thoại di động đang ngày càng trở nên phổ biến, từ những ứng
dụng trò chơi đến những ứng dụng, phục vụ cho nhu cầu cuộc
sống hàng ngày như mua sắm, đọc báo, xem phim… Hiện nay
việc đi lại bằng phương tiện công cộng đang ngày càng trở nên
phổ biến, đặc biệt là đi taxi và một ứng dụng kết nối hành khách
và lái xe sẽ giúp việc đi lại trở nên dễ dàng và thuận tiện hơn là rất
cần thiết, giúp nhu cầu cuộc sống của con người được nâng cao.
Được sự đồng ý của nhà trường và giáo viên hướng dẫn em
đã được thực hiện đồ án chuyên ngành 2 là: Xây dựng ứng dụng
gọi xe taxi. Ứng dụng này giúp cho người dùng có thể tìm xe, gọi
xe, cũng như biết được chi phí khi đi là bao nhiêu. Là ứng dụng có
thể tính tiền bằng quãng đường đi được thông qua google maps và
nhiều tiện ích khác.
Bằng sự cố gắng nỗ lực của bản thân đặc biệt là sự giúp đỡ
tận tình, chu đáo của thầy TS. Lê Tân em đã hoàn thành đồ án
đúng thời hạn. Do thời gian làm đồ án có hạn và trình độ cịn
nhiều hạn chế nên khơng thể tránh khỏi những thiếu sót. Em rất
mong nhận dược sự đóng góp của các thầy cơ để bài đồ án này
được hoàn thiện hơn.
Em xin chân thành cảm ơn!



NHẬN XÉT
(Của giảng viên hướng dẫn)

.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................

.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................
.............................................................................................................


MỤC LỤC
Chương 1 PHÁT BIỂU BÀI TOÁN...................................................................1
1.1 . Giới thiệu về đề tài xây dựng ứng dụng gọi xe...........................................1
1.1.1 . Quy trình nghiệp vụ...........................................................................1
1.1.2 . Những khó khăn, thuận lợi.................................................................1
1.1.3 . Bài toán quản lý hệ thống gọi xe........................................................2
1.2 . Những công nghệ áp dụng..........................................................................3
Chương 2 TỔNG QUAN...................................................................................4
2.1 . Giới thiệu về đề tài:....................................................................................4
2.2 . Mục đích nghiên cứu:.................................................................................5
2.3 . Phương pháp nghiên cứu:...........................................................................6
Chương 3 CƠ SỞ LÝ THUYẾT........................................................................7
3.1 Flutter...........................................................................................................7
3.1.1 . Giới thiệu về Flutter:..........................................................................7
3.1.2 . Mơ hình cấu tạo nên một project Flutter............................................8
3.1.3 . Ưu điểm của Flutter...........................................................................9
3.1.4 . Các thành phần quan trọng trong Flutter............................................9
3.2 . Dart..........................................................................................................11
3.2.1 . Giới thiệu ngôn ngữ Dart.................................................................11
3.2.2 . Đặc điểm của ngôn ngữ Dart:..........................................................12
3.2.3 . Những ưu điểm của Dart:.................................................................12
3.2.4 . Cài đặt Dart......................................................................................12
Chương 4 PHÂN TÍCH THIẾT KẾ HỆ THỐNG.............................................13

4.1 . Khảo sát và phân tích bài tốn..................................................................13
4.1.1 . Khảo sát và phân tích hiện trạng......................................................13
4.1.2 . Phân tích bài tốn.............................................................................15
4.1.3 . Đặc tả yêu cầu hệ thống...................................................................15
4.1.4 . Biểu đồ.............................................................................................16
4.1.5 . Mơ tả chức năng...............................................................................17
4.1.6 . Phân tích u cầu (Mơ hình xử lý DFD)..........................................18
Chương 5 THIẾT KẾ ỨNG DỤNG.................................................................21
5.1 . Welcome Page..........................................................................................21
5.2 . Login Pages..............................................................................................22
5.3 . Sign Up Pages..........................................................................................23
5.4 . Lưu thông tin lên Firebase........................................................................23
5.5 . Home Pages, Menu..................................................................................24
5.6 . Lộ trình đi................................................................................................25
5.7 . Tính cước đường đi..................................................................................25
Chương 6 KẾT LUẬN.....................................................................................26
6.1 . Kết quả đạt được của đề tài......................................................................26
6.2 . Hạn chế của đề tài....................................................................................26
6.3 . Hướng phát triển của đề tài......................................................................26


DANH MỤC HÌNH
Hình 1. Mơ hình cấu tạo nên một project Flutter...................................................8
Hình 2. Biểu đồ ngữ cảnh....................................................................................16
Hình 3. Biểu đồ phân rã chức năng......................................................................17
Hình 4. Sơ đồ luồng mức đỉnh.............................................................................18
Hình 5. Quản lý khách hàng................................................................................19
Hình 6. Quản lý tài xế..........................................................................................19
Hình 7. Quản lý chuyến đi...................................................................................20
Hình 8. Quản lý thanh tốn..................................................................................20

Hình 9. Welcome Page.........................................................................................21
Hình 10. Login Page............................................................................................22
Hình 11. Sign Up Page.........................................................................................23
Hình 12. Lưu dữ liệu Firebase.............................................................................23
Hình 13. Home Page Hình 14. Menu...............................................................24
Hình 15. Lộ trình.................................................................................................25
Hình 16. Phí cước................................................................................................25


Chương 1

PHÁT BIỂU BÀI TOÁN

1.1. Giới thiệu về đề tài xây dựng ứng dụng gọi xe.
Trong cuộc sống hiện nay việc sử dụng những ứng dụng điện thoại di động
đang ngày càng trở nên phổ biến, từ những ứng dụng trò chơi đến những ứng
dụng phục vụ cho nhu cầu cuộc sống hàng ngày như mua sắm, đọc báo, xem
phim… và em muốn giới thiệu một ứng dụng phục vụ cho nhu cầu đi lại của còn
người. Giúp nhu cầu cuộc sống của con người được nâng cao.
Ứng dụng này giúp cho người dùng có thể tìm xe, gọi xe, cũng như biết
được chi phí khi đi là bao nhiêu. Là ứng dụng có thể tính tiền bằng qng đường
đi đượcthơng qua Google maps và nhiều tiện ích khác. Mặc dù đã cố gắng nhưng
do hạnchế về mặt thời gian và trình độ nên ứng dụng cịn nhiều sai sót và chưa
hồn chỉnh, mong thầy cơ thơng cảm và góp ý cho em.
1.1.1. Quy trình nghiệp vụ.
Hệ thống gọi xe và đi xe taxi theo kiểu truyền thống là khi khách hàng có
nhu cầu đi lại bằng taxi. Thì phải gọi điện đến số tổng đài của một hãng xe taxi
nào mà khách hàng biết. Khi khách hàng gọi đến tổng đài thì tổng đài viên sẽ tiếp
nhận yêu cầu của khách hàng và tổng đài viên sẽ thông báo đến tất cả các xe của
hãng thơng tin có khách hàng tại địa chỉ của khách hàng.

Khi đó, lái xe nào chấp nhận thì sẽ xácnhận lại với tổng đài viên, tổng đài
viên chấp nhận thì lái xe sẽ đến địa chỉ được cung cấp để đón khách. Lái xe đến
đón khách và đi đến vị trí mà khách u cầu. Số tiền được tính bằng đồng hồ trên
xe theo số km thực tế đi được nhân với giá của từng quãng đường cộng với giá
mở cửa.
1.1.2. Những khó khăn, thuận lợi.
 Những khó khăn:
o Quy trình gọi xe theo hệ thống cũ gây khó khăn cho việc gọi xe và đi lại.
 Khi khách hàng gọi điện lên tổng đài để đặt xe thì sẽ làm cho khách
hàng mất thêm tiền điện thoại, đồng thời cũng sẽ tốn thời gian cho
cả khách hàng và lái xe sẽ được chọn khi phải thông qua tổng đài
để đặt xe.
 Khách hàng khơng có nhiều loại xe và hạng xe để chọn.
 Khách hàng không thể so sánh giá của các hạng xe với nhau để có
thể chọn được xe có giá phù hợp với nhu cầu của mình.

1


 Khách hàng không thể biết được số tiền mà mình có thể phải trả
cho qng đường mà mình đi cũng như thời gian đi và số km.
 Hành khách sẽ khơng thể thấy được là có lái xe nào đang đến chỗ
mình khơng.
 Lái xe khơng thể thấy được thơng tin hành khách cũng như khơng
biết được vị trí điểm đón và điểm đến của khách hàng cũng như
thơng tin liên hệ với hành khách, mà phải thông qua tổng đài.
 Lái xe, hành khách cũng không thể thấy được cung đường đi mà
mình sẽ đi.
 Quy trình gọi xe theo hệ thống gọi xe trên ứng dụng được xây dựng
trên nền tảngandroid sẽ có những khó khăn như: Khó khăn cho việc

tính tốn thời gian, qng đường, vị trí hiện tại của hành khách và
lái xe thơng qua Google.
 Những thuận lợi:
o Đáp ứng nhu cầu của khách hàng một cách nhanh nhất có thể.
o Tiếp kiệm chi phí, thời gian cho khách hàng.
o Giúp lái xe thuận tiện hơn khi đón khách, và có nhiều cơ hội có
khách hàng hơn.
o Có nhiều ưu đãi, khuyến mãi hơn cho cả khách hàng và lái xe.
1.1.3. Bài toán quản lý hệ thống gọi xe
Hệ thống gọi xe trên nền tảng android là khi khách hàng có nhu cầu đi lại.
Khách hàng chỉ cần mở ứng dụng lên chọn điểm đón, điểm đến và nhấn nút yêu
cầu xe, là có thể có xe để đi. Đồng thời khách hàng cịn có thể xem trước giá
cước theo ước tính của từng hạng xe.
Khách hàng có thể chọn với nhiều hạng xe khác nhau. Mỗi loại lại gồm
nhiều loại xe để chọn. Khách hàng có thể xem trực tiếp thơng tin lái xe, thơng tin
về cước của hạng xe mà mình chọn và cịn có thể thấy những xe nào đang ở gần
mình để có thể chọn trực tiếp hạng xe và lái xe mà mình thích, nếu xe đó đang
bận thì hệ thống sẽ tự động gọi một xe khác.
Đồng thời khách hàng cịn có thể xem được cước ước tính, thời gian ước
tính cũng như quãng đường ngắn nhất theo google map. Lái xe cũng có thể thấy
được thơng tin của khách hàng khi khách hàng yêu cầu xe và lái xe có thể đến
điểm đón mà khách hàng đã chọn để đón khách. Sau khi đón được khách và đi
đến địa chỉ mà khách hàng chọn thì lái xe sẽ bấm vào nút hoàn tất chuyến đi để
kết thúc chuyến. Khi đó thì một màn hình thanh tốn sẽ được hiển thị lên cho lái
2


xe. Màn hình thanh tốn sẽ bao gồm thơng tin về số tiền tính theo số km đo được
bằng google map, và các phí khác nếu có như phí cầu đường.
Sau đó lái xe sẽ u cầu thanh tốn và biên lai thanh toán sẽ được hiển thị

lên cho khách hàng, khách hàng xem thơng tin và thanh tốn bằng tiền mặt cho
lái xe. Bài toán quản lý của hệ thống gọi xe sẽ là phải làm sao khắc phục được
những khó khăn của q trình gọi xe theo hệ thống cũ. Như hệ thống sẽ phải giải
quyết được bài tốn làm sao để khơng gây tốn thời gia cho cả khách hàng và lái
xe. Giảm thiểu chi phí cho khách hàng, cho phép khách hàng có nhiều lựa chọn
trong việc đi lại như có nhiều hạng xe và loại xe. Cung cấp thông tin của những
lái xe và hành khách yêu cầu xe để đảm bảo an toàn, và sự an tâm của hành
khách. Cung cấp thông tin vê bảng giá của từng hạng xe, cước ước tính trong
quãng đường mà hành khách chọn đối với từng hạng xe. Làm sao để hiển thị
được vị trí hành khách, lái xe,thời gian, số km một cách trực quan.

1.2. Những công nghệ áp dụng
Để lập trình được ứng dụng trên nền tảng android ta cần sử dụng những công
nghệ phần mềm sau:
 Dart: một ngơn ngữ lập trình hướng đối tượng do Google phát
triển(OOP).
 Flutter: một UI framework của Google tạo ra các giao diện chất lượng
cao
 Android studio: là môi trường phát triển tích hợp (IDE) chính thức
dành chophát triển nền tảng Android được cung cấp miễn phí bởi
google.
 Firebase.

3


Chương 2

TỔNG QUAN


2.1. Giới thiệu về đề tài:
 Tại sao chọn Flutter mà không phải là ngôn ngữ khác?
 Nếu bạn đang tìm kiếm các phương pháp thay thế để phát triển ứng
dụngAndroid, bạn nên cân nhắc thử Flutter của Google, một framework
dựatrên ngơn ngữ lập trình Dart.
 Các ứng dụng được xây dựng với Flutter hầu như không thể phân biệt
vớinhững ứng dụng được xây dựng bằng cách sử dụng Android SDK, cả
vềgiao diện và hiệu suất. Hơn nữa, với những tinh chỉnh nhỏ, chúng có
thểchạy trên thiết bị iOS.
 Phát triển ứng dụng thống nhất: Flutter có các công cụ và thư viện đểgiúp
bạn dễ dàng đưa ý tưởng của mình vào cuộc sống trên iOS vàAndroid.
Nếu bạn chưa có kinh nghiệm phát triển trên thiết bị di động, thìFlutter là
một cách dễ dàng và nhanh chóng để xây dựng các ứng dụng diđộng tuyệt
đẹp. Nếu bạn là một nhà phát triển iOS hoặc Android có kinhnghiệm, bạn
có thể sử dụng Flutter cho các View của bạn và tận dụngnhiều code Java /
Kotlin / ObjC / Swift hiện có của bạn.
 Framework hiện đại và reactive: Dễ dàng tạo giao diện người dùng củabạn
với framework hiện đại, reactive của Flutter và tập hợp các platform,layout
và widget phong phú. Giải quyết các thách thức giao diện ngườidùng khó
khăn của bạn với các API mạnh mẽ và linh hoạt cho 2D,animation,
gesture, hiệu ứng và hơn thế nữa.
 UI đẹp và biểu cảm: Thỏa mãn người dùng của bạn với các widget built-in
đẹp mắt của Flutter theo Material Design và Cupertino (iOS-flavor),các
API chuyển động phong phú, scroll tự nhiên mượt mà và tự nhận
thứcđược nền tảng.
 Chạy ở 60 fps, giao diện.
 Người dùng được tạo ra với Flutter thực thi tốt hơn nhiều so với nhữngứng
dụng được tạo ra với các framework phát triển đa nền tảng khácchẳng hạn
như React Native và Ionic. Một số lí do khiến bạn có thể hứngthú với
Flutter:

o Flutter sử dụng Dart, một ngôn ngữ nhanh, hướng đối tượng vớinhiều
tính năng hữu ích như mixin, generic, isolate, và static type.
o Flutter có các thành phần UI của riêng nó, cùng với một cơ chế đểkết
xuất chúng trên nền tảng Android và iOS. Hầu hết các thànhphần giao
4


diện người dùng, đều sẵn dùng, phù hợp với các nguyêntắc của
Material Design.
o Các ứng dụng Flutter có thể được phát triển bằng cách4 sử dụngIntelliJ
IDEA, một IDE rất giống với Android Studio.
Hiện nay có rất nhiều ngơn ngữ hổ trợ đa nền tảng một cái tên lớn phải
nhắc đến là React Native. Các công ty lớn như UberEats, Discord
và Facebook đã chuyển sang React Native – như một phần tất yếu của sự dịch
chuyển công nghệ. Nhưng Google cũng khơng chịu thua. Họ đã nhận thấy độ phủ
sóng của React Native. Sau 2 năm nghe ngóng, Google cho ra mắt phiên bản
alpha của Flutter.
 Hỗ trợ hot reload:
Thông thường với lập trình Android bằng Android Studio. Mỗi lần chúng
tathay đổi một dịng code thì đều phải build và chạy lại ứng dụng.Hot reload sẽ
giúp chúng ta không phải build lại ứng dụng và chỉ reload lạimàn hình đã thay
đổi code mà thôi. Điều này sẽ tiết kiệm rất nhiều thời giancho developer.
 Code structure:
Ngược với React Native, Flutter không tách biệt data, style, và
templates.Mình biết bạn có thể cảm thấy kì lạ nếu như bạn đã quen với React
native.Tuy nhiên, cách tiếp cận này cũng thuận tiện và được khá nhiều người
chấp thuận. Flutter không cần thêm ngôn ngữ tạo giao diện như JSX hoặc
XMLhay các công cụ đặc biệt để tạo layout.Khi sử dụng Flutter, bạn có thể tiết
kiệm thời gian khi không cần phảichuyển từ chế độ thiết kế sang code và ngược
lại. Flutter cho phép bạn làmmọi thứ trong cùng một màn hình. Ngồi ra, tất cả

các cơng cụ cần thiết đềucó thể truy cập từ cùng một vị trí.
 Cài đặt mơi trường phát triển:
Flutter được đơn giản hóa q trình cài đặt. Framework này cũng cung
cấpmột cơng cụ hữu ích để kiểm tra lỗi hệ thống được gọi là ” Flutter doctor”.
 Hiệu suất sử dụng:
Flutter là kiến trúc cho phép chúng ta xây dựng các ứng dụng native,
cóhiệu suất nhanh. Bởi vì Flutter khơng cần cầu nối, nó có thể hoạt độngnhanh
hơn nhiều. Do đó, Flutter có thể chạy animation với 60 khung hình/giây.

2.2. Mục đích nghiên cứu:
 Cũng cố và nắm chắc kiến thức về lập trình di động
 Tạo ra một phần mềm ứng dụng vào thực tế.
 Phương pháp để xây dựng một ứng dụng
 Biết được cách để tiếp cận một ngôn ngữ mới
5


 Nắm được những kiến thức cơ bản về Android Studio

2.3. Phương pháp nghiên cứu:
 Thu thập tham khảo các tài liệu trên các trang web
 Tham khảo ý kiến của giảng viên hướng dẫn để hoàn thiện phần mềm
 Xây dựng một phần mềm với công cụ hỗ trợ Flutter và ngôn ngữ Dart

6


Chương 3

CƠ SỞ LÝ THUYẾT


3.1 Flutter.
3.1.1. Giới thiệu về Flutter:
Flutter là một Framework viết trên nền ngôn ngữ Dart. Flutter được sinh ra
như một Cross-platform framework nhưng khác với những Cross-platform hiện
tại, Flutter viết mã và build ra các đoạn mã thực thi tương ứng trên cácthiết bị
khác nhau thay vì build ra thành các đoạn mã được tối ưu và chạy trên những môi
trường trung gian.
Flutter được viết chia làm hai tầng. Tầng ở trên sử dụng ngôn ngữ cung cấp
các đoạn mã xây dựng lên một ứng dụng Flutter. Các đoạn mã này cung cấp
phương tiện để có thể thay đổi và chỉnh sửa chúng. Từ đó giúp ứng dụng của lập
trình viên có thể được tùy chỉnh theo mong muốn. Tầng Application này giúp lập
trình viên thay đổi mã nguồn ứng dụng ở thời điểm compile time. Tầng thứ hai
của Flutter nằm ở sâu bên dưới và được viết bằng C++. Tầng Shell này chứa các
công tụ trợ giúp ứng dụng Flutter trong quá trình chạy. Nổibật cần lưu ý ở tầng
này là máy ảo Dart VM. Khái niệm máy ảo là khái niệm về một ứng dụng chạy
song song với mã nguồn chính như một phần của ứng dụng.
 Flutter là SDK dành cho thiết bị di động của Google để tạo ra các giao
diện native chất lượng cao trên iOS và Android trong thời gian ngắn.
Flutter làm việc với source code có sẵn, được sử dụng bởi các nhà phát
triển và các tổ chức trên khắp thế giới, đồng thời nó open-source và miễn
Tải bản FULL (33 trang): />phí.
Dự phịng: fb.com/TaiHo123doc.net

 Flutter có các cơng cụ và thư viện để giúp bạn dễ dàng đưa ý tưởng của
mình vào cuộc sống trên iOS và Android. Nếu bạn chưa có kinh nghiệm
phát triển trên thiết bị di động, thì Flutter là một cách dễ dàng và nhanh
chóng để xây dựng các ứng dụng di động tuyệt đẹp. Nếu bạn là một nhà
phát triển iOS hoặc Android có kinh nghiệm, bạn có thể sử dụng Flutter
cho các View của bạn và tận dụng nhiều code Java / Kotlin / ObjC / Swift

hiện có của bạn.
 Flutter sử dụng Dart, một ngôn ngữ nhanh, hướng đối tượng với nhiều tính
năng hữu ích như mixin, generic, isolate, và static type.
 Flutter có các thành phần UI của riêng nó, cùng với một cơ chế để kết xuất
chúng trên nền tảng Android và iOS. Hầu hết các thành phần giao diện
người dùng đều sẵn dùng, phù hợp với các nguyên tắc của Material
Design.
7


3.1.2. Mơ hình cấu tạo nên một project Flutter.

Hình 1. Mơ hình cấu tạo nên một project Flutter

 Phần lớn nhất chính là: My App
 Bên trong Material App sẽ có các thuộc tính: title, theme, và home . Trong
đó,
tên
title

ý
nghĩa
tương
đương
với
Android@string/app_name để được đặt trong AndroidManifest với thuộc
tínhapplication:android: name, hay với iOS là Product Name, hay chí ít là
Identity#Display name. Tên theme này có vai trị tương tự như phần theme
trong values / styles của Android. Cuối cùng là home. Vai trò của tên này
tương ứng với việc bạn định nghĩa Activity.

 Scaffold: đóng vai trị như phần nền để bố trí các thành phần khác theo
phong các Material Design hay Material Theming. Nếu bạn đã quen với
việc viết ứng dụng Android theo phong cách mặc định là Google cung
cấp
thông
qua
theme
Theme.AppCompat hay
android:Theme.Material thì bạn khơng cịn lạ gì với Scaffold này. Nó
8
9762460



×