1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn lập trình cho thiết bị di động đề tài xây dựng ứng dụng dự báo thời tiểt realtime sử dụng flutter

15 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Mỗi nền tảng này cần các loại code khác nhau để phát triển ứng dụng.. Flutter không phảilà lựa chọn cho bạn nếu bạn đang phát triển: Các ứng dụng web được phát triển nhanh và tức thì –

Trang 1

TRƯỜNG ĐẠI HỌC PHENIKAAKHOA CÔNG NGHỆ THÔNG TIN

Ha Noi, 28/11/202

Trang 2

CHƯƠNG I MỞ ĐẦU

1.1 Đặt vấn đề1.2 Giải pháp1.3 Phạm vi đề tài

CHƯƠNG II CÔNG NGHỆ SỬ DỤNG

1 Tổng quan về FlutterFlutter là gì?Flutter tốt cho cái gì?Phát triển ứng dụng với Flutter

Pros(Ưu)Cons(Nhược)2 Tìm hiểu về ngôn ngữ Dart

Dart là gì?

Tại sao lại chọn Dart? Những ưu điểm của nó?Tại sao lại chọn Dart

Những ưu điểm của Dart

CHƯƠNG III PHÁT TRIỂN VÀ TRIỂN KHAI CHƯƠNG TRÌNH

Giao diện login và signupGiao diện homeGiao diện giỏ hàngGiao diện chi tiết sản phẩm

CHƯƠNG IV KẾT LUẬN

1 Ưu điểm và nhược điểm1.1 Ưu điểm

1.2 HẠN CHẾ2 SOURCE CODE

Trang 3

CHƯƠNG I MỞ ĐẦU1.1 Đặt vấn đề

Khoa học công nghệ phát triển nhiều người dùng cũng có nhiều thói quen mua hàng mới ví dụ như lướt web để mua hàng online thay vì phải đến tận shop để mua những thứ mình cần Điều này vừa tiết kiệm thời gian đồng thời cũng giảm bớt chi phí và khoảng cách đi lại cũng như giúp người dùng thoải mái xem được nhiều mẫu mã và giá cả của từng loại sản phẩm nên ngày càng được nhiều người ưa chuộng hơn.

Dựa vào xu hướng mới của khách hàng một cửa hàng thời trang nam có tênlà FOR G muốn xây dựng một Application riêng để có thể kết hợp giữa việc bánquần áo trực tiếp ở cửa hàng như trước đây với việc bán hàng online với mục đích giúp tăng doanh số bán hàng và quảng bá sản phẩm của cửa hàng mình được rộng rãi hơn.

Nhiệm vụ xây dựng một ứng dụng website kinh doanh thời trang nam Hệ thống mới sẽ cho phép khách hàng đăng ký đăng nhập tài khoản để shop thuậntiện cho việc quản lý và thập dữ liệu từ khách hàng Với máy tính kết nối mạng thì người quản lý shop và nhận viện có thể truy cập được vào hệ thống quản lý shop mọi lúc mọi nơi, điều này rất quan trọng ảnh hưởng trực tiếp đến trải nghiệm khách hàng vì khi khách hàng gặp vấn đề thì người quản lý shop và nhận viên có thể tư vấn và hỗ trợ khách hàng bất cứ lúc nào

1.2 Giải pháp

Hệ thống sẽ được phát triển như một Application bán thời trang nam Người dùng (khách hàng) có thể tương tác với hệ thống thông qua nhiều loại thiết bị có kết nối internet( máy tính, điện thoại thông minh, máy tính bảng…) Người dùng (khách hàng) có thể tìm kiếm được những sản phẩm mà họ quan tâm đồng thời họ cũng có thể xem được những thông tin chi tiết của sản phẩm mà của hàng đã đăng lên(tên, kích thước, màu sắc, giá cả).

Người dùng (khách hàng) có thể đăng ký và đăng nhập tài khoản vào hệ thống để đặt hàng hoặc là thêm sản phẩm vào giỏ hàng của họ

Người quản lý có thể đăng nhập vào hệ thống để thực hiện nhiệm vụ giám sát của mình Họ có thể chỉnh sửa, thêm bớt, thay đổi thông tin và giá cả của

Trang 4

các loại sản phẩm đồng thời nhận những khiếu nại từ phía khách hàng để nhanh chóng hỗ trợ cũng như là tư vấn cho khách hàng.

1.3 Phạm vi đề tài

1 Tìm hiểu về lập trình Thiết bị di động2 Tìm hiểu về Flutter, Dart

3 Phân trang và xây dựng bố cục trong App4 Xây dựng ứng dụng di động sử dụng Flutter

CHƯƠNG II CÔNG NGHỆ SỬ DỤNG

Đối với phát triển ứng dụng di động iOS và Android là hai nền tảng chính Mỗi nền tảng này cần các loại code khác nhau để phát triển ứng dụng Từ đó các công ty phát triển ứng dụng di động đã dẫn đến việc phát triển ứng dụng đa nền tảng, có nghĩa là viết một và chạy trên nhiều nền tảng khác nhau Việc phát triển ứng dụng đa nền tảng là phát triển các ứng dụng di độngtheo cách mà chúng có thể chạy trên nhiều nền tảng khác nhau nhưng chỉ code1 lần Trong kiểu phát triển này chỉ cần code một lần và theo cách mà ứng dụngAndroid, iOS hoặc Windows hỗ trợ Phát triển đa nền tảng đã trở nên khá phổbiến vì các tính năng, sự tiện lợi và công cụ được các developer yêu thích Một số công cụ phổ biến để phát triển đa nền tảng bao gồm là Xamarin củaMicrosoft, React Native của Facebook và PhoneGap từ Adobe Mỗi công cụphát triển đa nền tảng này có các tính năng khác nhau cùng với ưu và nhượcđiểm khác nhau Các developer luôn tìm kiếm một cái gì đó mới và được cảitiến để làm cho các quy trình phát triển ứng dụng trở nên hiệu quả và tiết kiệmthời gian khi làm ứng dụng đa nền tảng.

1 Tổng quan về Flutter

1.1 Flutter là gì?

Flutter là một bộ công cụ phát triển ứng dụng đa nền tảng đáng kinh ngạc, được giới thiệu bởi Google Nó sử dụng ngôn ngữ Dart để lập trình Flutter được ra mắt vào năm 2018 với các tính năng còn thiếu của các công cụ phát triển đa nền tảng trước đó Các ứng dụng được xây dựng với Flutter có thể

Trang 5

chạy trên Android, iOS, Raspberry Pi và Google Fuchsia,,một nền tảng phát triển ứng dụng khác do Google phát triển.

Flutter đang được sử dụng bởi các developer, điều đó chứng tỏ rằng có một cái gì đó độc đáo đã tồn tại và thu hút các developer Dưới đây là một trong những điều đó:

1 Khả năng hỗ trợ nhiều API Firebase hơn2 Có công cụ riêng Sửa lỗi

3 Tài liệu cải tiến Hỗ trợ phát triển windows4 Hiệu suất được nâng cao

5 Công cụ cho Android Studio và Visual Studio Code6 Các tính năng bổ sung như video, biểu đồ và quảng cáo 1.2 Flutter dùng cho việc gì ?

Kể từ khi Flutter trở nên nổi tiếng, câu hỏi này đã được đưa ra Trước khiquyết định xây dựng một ứng dụng di động Flutter, mọi người luôn muốn biết rằng nó hỗ trợ phát triển cho loại nào và không cho loại nào Flutter không phảilà lựa chọn cho bạn nếu bạn đang phát triển:

 Các ứng dụng web được phát triển nhanh và tức thì – Các loại ứng dụng web nhỏ.

 Các ứng dụng cần thư viện riêng không phổ biến – Flutter là còn mới và nó không có tất cả các thư viện riêng trong kho lưu trữ của nó, vì vậy nếu bất kỳ thư viện gốc không phổ biến nào được yêu cầu bởi một ứng dụng của bạn, nó có thể làm phức tạp quá trình phát triển ứng dụng của bạn Trong trường hợp đó, các nhà phát triển sẽ phải thêm các custom và mà chắc chắn sẽ mất thời gian.

 Các ứng dụng giao tiếp với phần cứng bluetooth – Tính năng này có thể được xây dựng riêng cho cả Android và iOS và sau đó được thêm vào ứng dụng Flutter Tuy nhiên, điều này có thể tốn thời gian lập trình.

Trang 6

Từ quan điểm của chủ sở hữu ứng dụng, việc phát triển một ứng dụng với Flutter rất nhanh và ít tốn kém Và những lợi thế khác của việc sử dụng Flutter để phát triển ứng dụng như:

Uu điểm

● Hot reload – Bất kỳ thay đổi nào được thực hiện trên ứng dụng sẽ được hiển thị ngay lập tức cho các nhà phát triển và điều đó làm cho quá trình xem UI dễ dàng và ít tốn thời gian Tuy nhiên, những thay đổi có thể mấtvài phút để reload.

● Hoàn hảo cho MVP – Flutter là lựa chọn tốt nhất nếu bạn đang muốn xâydựng nhanh chóng để hiển thị nó cho các nhà đầu tư tiềm năng của bạn Phải mất ít thời gian hơn để xây dựng ứng dụng native cho cả iOS và Android Điều này sẽ cho các nhà đầu tư của bạn thấy MVP của bạn trông như thế nào và bạn sẽ không lãng phí thời gian để phát triển ứng dụng cho hai nền tảng khác nhau.

● Ít code – Flutter sử dụng ngôn ngữ lập trình Dart là ngôn ngữ lập trình hướng đối tượng Không cần code chương trình hoàn toàn xong rồi mới build và xem mà chỉ cần nếu có bất kỳ thay đổi nào được thực hiện thì nó cho phép Hot reload.

● Phát triển đa nền tảng – Flutter là một công cụ phát triển đa nền tảng Trong trường hợp này, code chỉ được thực hiện một lần và sau đó cùng

Trang 7

một mã có thể được sử dụng trong nền tảng khác Ngoài ra, Flutter là quyền truy cập duy nhất để phát triển trong nền tảng Google Fuchsia Với cổng thông tin dành cho nhà phát triển Fuchsia hiện đang hoạt động,các nhà phát triển đang thử sức với nó Nhìn vào sự tiếp nhận của nó cho đến nay, nó được cho là sẽ thay thế Android trong tương lai, đó chính xác là chiến lược của Google đằng sau Flutter.

● Widgets – Phát triển ứng dụng Flutter có lợi thế là có nhiều widget(Có thể hiểu nó như control UI nào đó) trông đẹp mắt, nhanh và tùy biến Các widget là cần thiết cho một ứng dụng bởi vì điều đó làm cho các ứngdụng trở nên thú vị Flutter có một loạt các material design tuyệt vời hoạt động tốt và có thể được tùy chỉnh theo nhu cầu Các widget được thống nhất cho tất cả các nền tảng.

● Các Theme khác nhau – Các theme của cùng một ứng dụng là khác nhau đối với iOS và Android Sự khác biệt không nằm ở màu sắc chủ đề và thiết kế mà còn hơn thế nữa Flutter cho phép đưa vào các theme khác nhau trong khi code cho cả hai nền tảng.

Nhược điểm

● Giới hạn chỉ dành cho thiết bị di động – Để xây dựng một ứng dụng với Flutter có nghĩa là xây dựng một ứng dụng chỉ dành cho thiết bị di động Flutter vẫn không có sẵn cho các trình duyệt web Điều này có thể tác động lớn đến quyết định của bạn trên nền tảng phát triển này Nếu bạn đang tìm kiếm sự linh hoạt tối đa thì có lẽ Flutter không phải là lựa chọn phù hợp.(Nó thể dev cho web nhưng đang trong quá trình review nên aelót dép hóng thoy)

● Rất ít thư viện – Flutter không có thư viện Những cái phổ biến nhất mà Google quyết định đưa vào là có sẵn nhưng nhiều thư viện hữu ích vẫn không có sẵn Nếu một nhà phát triển muốn sử dụng bất kỳ thư viện không có sẵn nào, anh ta sẽ phải tự xây dựng nó, đây là một quá trình mất thời gian.

● Không hỗ trợ TV – Mặc dù phát triển Flutter được hỗ trợ trong cả điện thoại di động iOS và Android nhưng nó không có sẵn cho Apple TV hoặc Android TV.

● Chưa có hỗ trợ CI – Các nền tảng khác chắc chắn cho phép hỗ trợ tích hợp liên tục như Jenkins và Travis cho các ứng dụng iOS và Android

Trang 8

nhưng Flutter thì không Có các giải pháp khác thay vì các nền tảng CI này nhưng để sử dụng, các nhà phát triển sẽ phải thiết lập các bộ công cụ.

2 Tìm hiểu về ngôn ngữ Dart

Dart là ngôn ngữ lập trình đa mục đích ban đầu được phát triển bởi Google và sau đó được Ecma (ECMA-408) phê chuẩn làm tiêu chuẩn Nó được sử dụngđể xây dựng các ứng dụng web, server, máy tính để bàn và thiết bị di động Dart là một ngôn ngữ hướng đối tượng, được xác định theo lớp, với cơ chế garbage-collected, sử dụng cú pháp kiểu C để dịch mã tùy ý sang JavaScript Nóhỗ trợ interface, mixin, abstract, generic, static typing và sound type (2 cái cuốicó thể hiểu là type-safe) Dart là ngôn ngữ mã nguồn mở và miễn phí, được phát triển trên GitHub Hiện nay Dart đã release phiên bản 2.2

Các nhà phát triển tại Google và các nơi khác sử dụng Dart để tạo các ứng dụng chất lượng cao, quan trọng cho iOS, Android và web Với các tính năng nhắm đến sự phát triển phía khách hàng, Dart rất phù hợp cho cả ứng dụng di động và web Dart giúp bạn tạo ra những trải nghiệm đẹp, chất lượng cao trên tất cả các màn hình, với:

● Một ngôn ngữ được tối ưu hóa cho client● Framework mạnh mẽ

● Công cụ linh hoạt

Cú pháp Dart rõ ràng và súc tích, công cụ của nó đơn giản nhưng mạnh mẽ Type-safe giúp bạn xác định sớm các lỗi tinh tế Dart có các thư viện cốt lõi và một hệ sinh thái gồm hàng ngàn package.

Nhanh Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn để có được dự đoán hiệu suất cao và khởi động nhanh trên các thiết bị di động và web.Di động Dart biên dịch thành mã ARM và x86, để các ứng dụng di động của Dart có thể chạy tự nhiên trên iOS, Android và hơn thế nữa Đối với các ứng dụng web, chuyển mã từ Dart sang JavaScript.

Trang 9

Dễ gần Dart quen thuộc với nhiều nhà phát triển hiện có, nhờ vào cú pháp và định hướng đối tượng không gây ngạc nhiên của nó Nếu bạn đã biết C ++, C # hoặc Java, bạn có thể làm việc hiệu quả với Dart chỉ sau vài ngày.

Reactive Dart rất phù hợp với lập trình Reactive, với sự hỗ trợ để quản lý cácđối tượng tồn tại trong thời gian ngắn, chẳng hạn như các widget UI, thông qua phân bổ đối tượng nhanh và GC Dart hỗ trợ lập trình không đồng bộ thông qua các tính năng ngôn ngữ và API sử dụng các đối tượng Future và Stream.

CHƯƠNG III PHÁT TRIỂN VÀ TRIỂN KHAI CHƯƠNG TRÌNH

Giao diện login và signup

Trang 12

Giao diện home

Trang 13

Giao diện giỏ hàng

Trang 14

Giao diện chi tiết sản phẩm

CHƯƠNG IV KẾT LUẬN

1 Ưu điểm và nhược điểm 1.1 Ưu điểm

Cơ bản nắm được những kiến thức, các bước xây dựng một ứng dụng di động, thực hiện đúng quy trình.

Trang 15

Xây dựng hệ thống hợp lý, bước đầu xây dựng được một ứng dụng1.2 HẠN CHẾ

Còn đơn giản, chưa có nhiều tính năng so với những web hiện tại trên thị trường.

2 SOURCE CODE

QuyenAnh2002/ForG_Application (github.com)

Ngày đăng: 23/07/2024, 17:18

w