1. Trang chủ
  2. » Tất cả

Báo Cáo Thực Tập Lập Trình Flutter Trên Thiết Bị Di Động.pdf

15 88 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

Thông tin cơ bản

Tiêu đề Báo Cáo Thực Tập Lập Trình Flutter Trên Thiết Bị Di Động
Tác giả Nguyễn Võ Đức Thắng
Người hướng dẫn Phạm Thị Hoài Chi
Trường học Trường Đại Học Công Nghệ Thông Tin - Khoa Công Nghệ Phần Mềm
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo thực tập
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 15
Dung lượng 356,08 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TTDN 19522213 NguyễnVõĐứcThắng SE501 N11 PMCL TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP LẬP TRÌNH FLUTTER TRÊN THIẾT BỊ DI ĐỘNG Công ty thực tập Công ty TNHH Hopee Ng[.]

Trang 1

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

KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

LẬP TRÌNH FLUTTER TRÊN THIẾT BỊ

DI ĐỘNG

Công ty thực tập : Công ty TNHH Hopee Người phụ trách : Phạm Thị Hoài Chi Thực tập sinh : Nguyễn Võ Đức Thắng

TP Hồ Chí Minh, tháng 12 năm 2022

Trang 2

LỜI MỞ ĐẦU

Ngày nay, tỉ lệ dùng internet lên tới 70% dân số, tức khoảng 68 triệu người (thống kê bởi VNetwork) Song hành với nó là sự phát triển của ngành công nghệ thông tin nói chung và sự vươn lên mạnh mẽ của các ứng dụng trên điện thoại di động nói riêng

Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải là ngoại lệ Ngành công nghiệp mobile non trẻ của Việt Nam đã và đang phát triển mạnh mẽ, để hòa nhập với những công

ty hàng đầu về công nghệ trên thế giới Bên cạnh những công ty trẻ tuổi trong nước, những công

ty lớn trên thế giới cũng gia nhập vào thị trường Việt Nam, góp phần rất lớn vào sự phát triển tích cực của công nghệ mobile của Việt Nam

Các ứng dụng trên mobile được sử dụng và biết đến rộng rãi trong cộng đồng, cũng như khả năng truy cập bằng nhiều thiết bị và nền tảng như IOs và Android Vì vậy em quyết định chọn lập trình Flutter trên thiết bị di động làm định hướng cho việc thực tập của mình

Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như tham gia vào môi trường làm việc chuyên nghiệp, em có dự định thực tập trong kỳ một năm bốn Vì vậy,

em quyết định chọn công ty TNHH Hopee - một môi trường lý tưởng, hiện đại, chuyên nghiệp

để thực hiện dự định này

Trang 3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty TNHH Hopee đã tạo điều kiện cho em có cơ hội được thực tập tại công ty

Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của các anh/chị, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được một website hoàn chỉnh Chân thành cảm ơn các anh/chị đã bỏ ra nhiều thời gian, công sức để hướng dẫn chúng em hoàn thành đợt thực tập này

Đặc biệt cảm ơn chị Phạm Thị Hoài Chi đã hướng dẫn và giúp đỡ cho chúng em tận tình cả những khó khăn trong công việc, đến những khó khăn trong việc làm quen với môi trường mới Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều kiện em làm bài báo cáo này

Nguyễn Võ Đức Thắng Tp.HCM, ngày 27 tháng 12 năm 2022

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

Chương 1 GIỚI THIỆU CÔNG TY THỰC TẬP 1

Chương 2 NỘI DUNG THỰC TẬP 2

1.3 Tìm hiểu và tập huấn quy trình làm việc, kiến thức mới 3

1.3.2 Tìm hiểu các ngôn ngữ và framework (Dart - Flutter) 3

Chương 3 THỰC HIỆN DỰ ÁN 5

Chương 4 CHI TIẾT VỀ DỰ ÁN 8

Trang 6

Chương 1: GIỚI THIỆU CÔNG TY THỰC TẬP

1 Giới thiệu về công ty Singalarity

Hopee là một công ty tư vấn và kỹ thuật CNTT cung cấp các giải pháp phần mềm đầu cuối cho các doanh nghiệp, nhà cung cấp phần mềm độc lập, cơ quan kỹ thuật số và công

ty khởi nghiệp

Với tầm nhìn là trở thành một trong những nhà cung cấp dịch vụ và giải pháp CNTT hàng đầu tại Việt Nam và Châu Á

2 Sản phẩm và dịch vụ của công ty

● Web & App Development: Tất cả các loại phần mềm dựa trên web và ứng dụng dành

cho thiết bị di động cho tất cả các nền tảng, thiết bị và đối tượng

● E-commerce Development: Các giải pháp thương mại điện tử cho các mô hình kinh

doanh đa dạng hoạt động trơn tru trên tất cả các nền tảng

● AI & Blockchain Development: Nhiều loại giải pháp AI và phát triển Chuỗi khối đáp

ứng nhu cầu kinh doanh đa dạng

● IT Consulting: Chinh phục những thách thức kinh doanh phức tạp với chuyên môn về

phát triển giải pháp trong các ngành

1

Trang 7

Chương 2: NỘI DUNG THỰC TẬP

Đợt thực tập ở công ty Hopee nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về quy trình phát triển một ứng dụng mobile và việc tích hợp back-end vào ứng dụng Đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm, kỹ năng giao tiếp, lên kế hoạch, kiểm soát thời gian Tại công ty, sinh viên có cơ hội được học tập, khám phá và làm việc trong môi trường chuyên nghiệp

1 Tìm hiểu văn hóa và nghiên cứu kỹ thuật

1.1 Văn hóa

● Thời gian: 2 ngày.

● Nội dung: Giới thiệu về công ty, văn hóa làm việc và cài đặt và hướng dẫn sử dụng các

ứng dụng phục vụ cho công việc

○ Sinh viên được giới thiệu về cơ cấu tổ chức của công ty, các khẩu ngữ, nguyên tắc cốt lõi trong công việc

○ Đọc, hiểu, tự tin áp dụng các khẩu ngữ vào quá trình thực tập cũng như cuộc sống

● Kết quả: Nắm được văn hóa làm việc của công ty và các ứng dụng phụ trợ cho việc thực

tập

1.2 Nghiên cứu kỹ thuật

● Thời gian: 3 ngày.

● Nội dung: Trong thời gian chờ đợi được phân vào đội nhóm thực hiện dự án thực tế cũng

như chờ các tài khoản nội bộ được kích hoạt, sinh viên được giao tìm hiểu về các cơ chế

cơ bản của Flutter như state là gì? widget là gì? Phân biệt tính chất của widget tree, render tree,… Tìm hiểu về Clean Architecture và GetX dùng để quản lý state của một ứng dụng Flutter một cách đơn giản và tường minh

● Kết quả: Hiểu rõ hơn về Flutter, nắm bắt được các lý thuyết hoạt động của Framework

này Hiểu biết về Clean Architecture và GetX về cách thức vận hành cũng như xây dựng ứng dụng demo

Trang 8

1.3 Tìm hiểu và tập huấn quy trình làm việc, kiến thức mới

1.3.1 Các công cụ và quy trình làm việc

● Thời gian: 4 ngày

● Nội dung: Sau khi tiếp nhận các tài khoản nội bộ Sinh viên được hướng dẫn về DevOps,

CI/CD, các nguyên tắc, quy ước trong mã nguồn và cách làm việc với GitLab, quá trình review mà merge mã nguồn Sinh viên được yêu cầu đọc và review trước mã nguồn, tài liệu của dự án trước khi chính thức nhận nhiệm vụ thao tác trực tiếp trên mã nguồn

● Thực hiện: Tham gia buổi hướng dẫn, đọc các tài liệu liên quan đến các công cụ được sử

dụng để phát triển dự án

● Kết quả: Hiểu được tổng quan về dự án, các tác nhân trong và ngoài có liên quan, hiểu

được mã nguồn và các quy ước chung khi thao tác trên dự án Hiểu biết về DevOps, CI/CD và cách thao tác với GitLab

1.3.2 Tìm hiểu các ngôn ngữ và framework (Dart - Flutter)

● Thời gian: 3 ngày

● Nội dung: Được giao nhiệm vụ tìm hiểu các lý thuyết hoạt động của Flutter, cách thức

vận hành của một ứng dụng Flutter Các nội dung chính được tóm tắt như sau:

○ Widget: “Mọi thứ trong Flutter đều là Widget” – một câu nói nổi tiếng trong tài

liệu chính thức của Flutter, khi học trên trường, em cũng cho rằng như vậy, tuy nhiên khi tìm hiểu sâu hơn thì Widget dường như là một bản thiết kế, Flutter dựa vào bản thiết kế này để render ra các thành phần UI, các thành phần này thực chất

là Element và RenderObject

○ Element: Là đại diện cho instance của một Widget tại một vị trí cụ thể trong hệ

thống cây, đây là thành phần UI thật để hiển thị trên màn hình

○ RenderObject: Chịu trách nhiệm căn chỉnh kích thước, sắp xếp vị trí, canh

chỉnh, hoàn thiện tô màu cho Element

○ Quan hệ giữa Element, Widget và State: Trong hàm runApp, ta truyền vào một

Widget Tree với MyApp là root Widget Flutter sẽ đi từ root đến hết cây, mỗi Widget trên cây sẽ gọi hàm createElement để tạo các Element và từ đó tạo nên Element Tree Stateful Widget sẽ tạo ra Stateful Element tham chiếu đến state cụ thể và Stateless Widget sẽ tạo ra Stateless Element và chỉ tham chiếu đến Widget

3

Trang 9

○ Quan hệ giữa Widget, Element và Render Object: mỗi Render Object Element

khi được gắn lên Element Tree sẽ nhờ widget mà nó đang nắm giữ gọi hàm create Render Object() để tạo ra object render Object và nó sẽ nắm giữ tham chiếu của renderObject Từ render Object sẽ nhờ các hàm paint, performLayout để tạo nên giao diện hiển thị

○ Quá trình rebuild: Mỗi lần Widget bị rebuild, Element sẽ so sánh Widget và

State xem có gì khác so với ban đầu không rồi đưa đến quyết định xây dựng lại

○ Cơ chế Hot reload: Khi thực hiện bất kì thay đổi nào trong mã thì có thể thấy

chúng ngay lập tức mà không cần phải khởi động lại ứng dụng bằng cơ chế thay đổi thêm bớt mã ngay trong run time giúp tiết kiệm thời gian

○ Thực hiện: Đọc tài liệu, tham gia buổi hướng dẫn, chia sẻ kiến thức.

● Kết quả: Có hiểu biết sâu hơn về cách thức vận hành của Framework Flutter, các ưu

điểm và hạn chế so với các Framework khác, khi nào và trong tình huống nào thì nên dùng Framework này

Trang 10

Chương 3: THỰC HIỆN DỰ ÁN

1 Thực hiện dự án

Trong khoảng thời gian 1 tháng được hướng dẫn và thực hiện công việc trực tiếp trên dự

án thực tế, sinh viên có những hiểu biết sâu sắc hơn về quy trình phát triển phần mềm, các kiến thức kỹ thuật liên quan đến phát triển ứng dụng cross platform Cách tiếp nhận feedback nội bộ cũng như từ khách hàng để hoàn thiện sản phẩm, đảm bảo chất lượng sản phẩm cao nhất

2 Lịch làm việc

hướng dẫn

Mức độ hoàn thành

Nhận xét người hướng dẫn

1 - Tìm hiểu về văn hóa làm việc

tại công ty công ty

- Nghiên cứu các công nghệ sử dụng cho công việc

Phạm Vũ 100% Hoàn thành

tốt

2 - Cài đặt các ứng dụng phục vụ

cho công ty

- Tìm hiểu cách thức và nguyên tắc sử dụng Git, CI/CD

Phạm Vũ 100% Hoàn thành

tốt

3 - Tìm hiểu cách nhận task và

báo cáo, cách push code và pull request trên GitLab

- Tìm hiểu về ngôn ngữ Dart, framework Flutter, Clean Architecture, GetX State management

Hoàng Văn Lâm

100% Hoàn thành

tốt

4 - Tham gia thực hiện dự án thực

tế

- Tham gia các cuộc họp với

Hoàng Văn Lâm

100% Hoàn thành

tốt

5

Trang 11

khách hàng.

- Nhận các tasks phù hợp với

năng lực bản thân

- Sửa đổi code theo yêu cầu

code review

4 - Tham gia thực hiện dự án thực

tế

- Tham gia các cuộc họp với

khách hàng

- Nhận các tasks phù hợp với

năng lực bản thân

- Sửa đổi code theo yêu cầu

code review

Hoàng Văn Lâm

100% Hoàn thành

tốt

5 - Tham gia thực hiện dự án thực

tế

- Tham gia các cuộc họp với

khách hàng

- Nhận các tasks phù hợp với

năng lực bản thân

- Sửa đổi code theo yêu cầu

code review

Hoàng Văn Lâm 100% Hoàn thànhtốt

6 - Tham gia thực hiện dự án thực

tế

- Tham gia các cuộc họp với

khách hàng

- Nhận các tasks phù hợp với

năng lực bản thân

Hoàng Văn Lâm

100% Hoàn thành

tốt

Trang 12

- Sửa đổi code theo yêu cầu

code review

7 - Tham gia thực hiện dự án thực

tế

- Tham gia các cuộc họp với

khách hàng

- Nhận các tasks phù hợp với

năng lực bản thân

- Sửa đổi code theo yêu cầu

code review

Hoàng Văn Lâm

100% Hoàn thành

tốt

8 - Tham gia thực hiện dự án thực

tế

- Tham gia các cuộc họp với

khách hàng

- Nhận các tasks phù hợp với

năng lực bản thân

- Sửa đổi code theo yêu cầu

code review

Hoàng Văn Lâm

100% Hoàn thành

tốt

7

Trang 13

Chương 4: CHI TIẾT VỀ DỰ ÁN

1 Giới thiệu về dự án

Tên dự án: ADO

Giới thiệu: là phần mềm được phát triển cho một đối tác ở Nhật Bản, cung cấp dịch vụ

khám chữa bệnh từ các phòng khám có các bác sĩ với hơn 20 năm kinh nghiệm về lĩnh vực của họ cho các bệnh nhân ở Việt Nam, Trung Quốc cũng như Nhật Bản có nhu cầu tiếp nhận nền y khoa tiên tiến nhưng không có điều kiện hoặc thời gian sang Nhật Bản

2 Thực hiện

● Nhóm phát triển ứng dụng di động Flutter của Hopee

● Thực tập sinh: Nguyễn Võ Đức Thắng.

● Người hướng dẫn: Hoàng Văn Lâm.

3 Kế hoạch

3.1 Giai đoạn 1

● Đọc, tìm hiểu các tài liệu khởi tạo của dự án

● Đọc, tìm hiểu bản thiết kế UI/UX của ứng dụng

● Đọc, tìm hiểu các framework, thư viện liên quan của dự án

3.2 Giai đoạn 2

● Tham gia chính thức vào dự án với quy trình làm việc, tham gia họp kế hoạch với khách hàng

● Nhận các nhiệm vụ phù hợp với năng lực

● Nhận đánh giá và hướng dẫn từ cấp trên trực tiếp

● Sửa các lỗi phát sinh (nếu có) trong quá trình demo sản phẩm cho khách hàng

Trang 14

3.3 Giai đoạn 3

● Đánh giá kết quả thực tập

● Hoàn thành tài liệu thực tập

9

Trang 15

TỔNG KẾT

Như vậy, trong 2 tháng thực tập tại công ty TNHH Hopee, em đã lần đầu tiên được tham gia vào phát triển một dự án thực tế, hiểu được các quy trình làm việc trong công ty Bên cạnh đó, em cũng đã tiếp thu được rất nhiều kiến thức bổ ích và trau dồi thêm cho mình nhiều kỹ năng cần có để hỗ trợ cho công việc của mình sau này

Em xin chân thành gửi lời cảm ơn đến chị Phạm Thị Hoài Chi, anh Hoàng Văn Lâm và tất cả các anh chị trong nhóm phát triển dự án đã giúp đỡ và hỗ trợ em rất nhiều và nhiệt tình trong suốt thời gian em thực tập và làm việc tại Hopee

Một lần nữa, em xin trân trọng cảm ơn Công ty TNHH Hopee đã cho em cơ hội và tạo điều kiện rất tốt để cho em được làm việc và phát triển tại công ty Cảm ơn các quý thầy

cô của trường Đại học Công nghệ thông tin, đặc biệt là các thầy cô trong khoa Công nghệ phần mềm đã hỗ trợ em trong quá trình tìm việc, thực tập và quá trình hoàn thiện báo cáo này

Ngày đăng: 01/02/2023, 21:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w