Đặc biệt cảm ơn anh Đỗ Vương Tiến, đã hướng dẫn, giúp đỡ cho em tận tình cả những khó khăn trong công việc, đến những khó khăn việc làm quen với môi trường mới;, anh Ngô Vũ Quyền, đã tra
Trang 1TRƯỜ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 HYBRID APP SỬ DỤNG
FLUTTER
Công ty thực tập : Công ty TNHH Giải pháp Wata Người phụ trách : Ngô Vũ Quyền
Thực tập sinh : Nguyễn Quốc Trung
TP Hồ Chí Minh, tháng 12 năm 2021
Trang 2LỜI MỞ ĐẦU
Ngày nay, lượng người dùng các thiết bị di động ngày càng lớn Theo báo cáo của GSMA (Hiệp hội di động toàn cầu), khoảng 5 tỷ người (2/3 dân số thế giới) đang sử dụng Smartphone Trong đó, Trung Quốc đứng đầu thế giới (với 851 triệu người dùng)
Với các doanh nghiệp, đây là một thị trường rất lớn để bán hàng Kinh doanh trên App Mobile đang là xu hướng ở nhiều quốc gia Mạng 5G sớm đưa vào hoạt động trong thời gian tới
sẽ càng thúc đẩy mạnh mẽ các nền tảng trên Smartphone phát triển Đặc biệt là hoạt động ở mảng thương mại điện tử
Trung Quốc đang là quốc gia đi nhanh nhất trong việc khai thác thị trường thương mại trên nền tảng Smartphone Họ đã cho ra mắt nhiều ứng dụng hỗ trợ bán hàng trực tuyến như: Livestream, thương mại điện tử, quảng cáo trực tuyến,… Ở những vùng quê xa xôi của Trung Quốc, nhìn cảnh quan cứ tưởng đây là một nơi yên bình thiếu vắng công nghệ Nhưng đó chỉ là
vẻ bề ngoài, mọi người dân ở đây, kể cả người lớn tuổi đều đang theo học lớp học sử dụng Smartphone để bán hàng nông sản của mình
Việt Nam có khoảng 43,7 triệu người sử dụng Smartphone (chiếm tỉ lệ 44,9%), đứng thứ
15 tại châu Á Việt Nam đã bắt đầu khai thác thị trường ứng dụng trên mobile giàu tiềm năng này Bằng chứng cho luận điểm này là chúng ta đẩy nhanh tốc độ để đưa mạng 5G vào hoạt động và nhiều ứng dụng di động khác Thương mại điện tử đã không còn chỉ là sân chơi của những doanh nghiệp nước ngoài Đặc biệt là sự vươn lên rất nhanh của Tiki Công nghệ chatbot
đã trở thành ứng dụng được các doanh nghiệp Việt áp dụng để tương tác với khách hàng 24/24 phổ biến Ví điện tử được áp dụng rộng rãi, giúp khách hàng thành toán dễ dàng và tiện lợi hơn (như: Momo, Zalo pay, VTC pay,…) Áp dụng công nghệ AI để tự động hóa trong dây chuyền sản xuất và tương tác với khách hàng (như: Vingroup, FPT,…) Và nhiều ứng dụng di động khác đã đang và sẽ được khai thác: blockchain, điện toán đám mây, on-demand App,…
Ngoài các Native App được viết cho mỗi nền tảng hệ điều hành thì trong những năm gần đây Hybrid App nổi lên với những tính năng ưu việt như là một tương lai mới cho ngành lập trình ứng dụng di động, đại diện lớn nhất là React Native và Flutter Flutter tuy ra đời sau nhưng lại mang những đặc điểm về hiệu suất và chất lượng sản phẩm tốt hơn hẳn React Native Minh chứng là càng ngày càng có nhiều doanh nghiệp tuyển dụng các vị trí nhân sự liên quan đến Flutter Đây là một dấu hiệu đáng mừng
Trải qua thời gian học tập tại trường, để có thêm kinh nghiệm thực tế, cũng như muốn được tham gia làm việc trong một môi trường chuyên nghiệp Vì vậy, em quyết định chọn Wata Solutions - một môi trường lý tưởng, hiện đại - là nơi sẽ giúp em thực hiện được dự định này
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty TNHH Giải pháp Wata đã 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 nhóm trainer, em đã tiếp thu được những kiến thức quan trọng để có thể làm được sản phẩm Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian,công sức để hướng dẫn em hoàn thành đợt thực tập này
Đặc biệt cảm ơn anh Đỗ Vương Tiến, đã hướng dẫn, giúp đỡ cho em tận tình cả những khó khăn trong công việc, đến những khó khăn việc làm quen với môi trường mới;, anh Ngô Vũ Quyền, đã training cho em những kiến thức quan trọng về Flutter để có thể làm ra một sản phẩm trong thời gian qua
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 Quốc Trung TPHCM, ngày 23 tháng 12 năm 2021
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC
MỤC LỤC 1
Chương 1: Giới thiệu công ty thực tập 2
1 Giới thiệu về công ty Wata Solutions 2
2 Sản phẩm của công ty 2
Chương 2: Nội dung thực tập 3
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 3
2 Nghiên cứu kỹ thuật 3
3 Thực hiện project 5
4 Lịch làm việc 5
Chương 3: Chi tiết về mini project 6
1 Giới thiệu về mini project 6
2 Thực hiện 7
3 Kế hoạch 7
TÀI LIỆU THAM KHẢO 8
TỔNG KẾT 9
Trang 6Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty TNHH Giải pháp Wata
Wata Solutions được thành lập năm 2015, là công ty hàng đầu về phát triển phần mềm Sau sáu năm thành lập, đến nay Wata Solutions đã khẳng định được vị thế là một trong những công ty dẫn đầu trong lĩnh vực này
Wata Solutions có văn phòng đặt tại toà nhà Hải Âu, 39B Trường Sơn, Phường 2, Tân Bình, Thành phố Hồ Chí Minh, gia công sản phẩm cho nhiều quốc gia
2 Sản phẩm của công ty
Wata Solutions hoạt động trong lĩnh vực phát triển phần mềm như Website , Mobile Application, UX/UI Design, Software Testing Trải qua nhiều năm thành lập, Wata Solutions đã tạo ra những sản phẩm có chất lượng tốt, được khách hàng đánh giá cao,
Trang 7Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Hybrid App sử dụng Flutter” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về lập trình Flutter, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm, thuyết trình, giao tiếp 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ột môi trường phát triển game chuyên nghiệp
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian : 1 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triên (như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của công ty
Ngoài ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công việc…
Kết quả : Hiểu thêm về công ty Wata Solutions, quá trình thành lập và phát triển Có
thêm các kỹ năng về việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn
2 Nghiên cứu kỹ thuật
2.1 Các kiến thức cơ bản và kiến thức cần có về quy trình phát triển phần mềm Scrum
Thời gian : 2 tuần
Nội dung : Tìm hiểu về các kiến thức cơ bản sẽ được sử dụng trong quá trình làm việc
và kiến thức về quy trình phát triển phần mềm Scrum
Trong thời gian này, mentor đã hướng dẫn thực tập sinh tìm hiểu về các kiến thức
sẽ giúp ích cho trong công việc sau này Một số kiến thức trong đó như chức năng nhiệm vụ của từng thành viên trong một đội nhóm, quy trình phát triển phần mềm Scrum,…
Thực hiện : Tìm hiểu và viết báo cáo.
Kết quả : Hiểu và nắm được các kiến thức đã tìm hiểu và được hướng dẫn.
2.2 Các công cụ cần thiết
Thời gian : 1 tuần
Nội dung :
Được training về các công cụ cần thiết để áp dụng vào các công việc sau này Một
số công cụ như Github - Công cụ quản lý code , JIRA - Công cụ quản lý dự án,
Trang 8Thực hiện :
- Thực hành trên các công cụ đã được training
Kết quả :
- Sử dụng tốt các công cụ đã được training
2.3 Tìm hiểu về Dart và Flutter
Nội dung: Các kiến thức cơ bản về Dart và Flutter để tạo ra một ứng dụng đơn giản.
- Kiến thức cơ bản về Dart.
- Lập trình hướng đối tượng
Các kiến thức cơ bản về lập trình hướng đối tượng như khái niêm, các đặc tính như tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình
- Lập trình bất đồng bộ:
Lập trình bất đồng bộ là môt phần rất quan trọng trong lập trình Dart, vì cần phải sử dụng nó để cho phép chương trình thực hiện công việc trong khi chờ việc khác hoàn thành, tránh gây ra lỗi phát sinh trong quá trình sử dụng
- Quản lý bộ nhớ
Thực tập sinh sẽ được hướng dẫn về cách cấp phát, quản lý bộ nhớ sao cho tối ưu, tránh rò rỉ bộ nhớ, một trong những phần rất quan trọng trong lập trình ứng dụng trên điện thoại, vì bộ nhớ trên điện thoại không thể lớn như trên máy tính được
- Kiến thức cơ bản về Flutter:
Thực tập sinh được training và tìm hiểu các kiến thức cơ bản về Flutter như :
- Stateless Widget và Stateful Widget
- Một số các package cơ bản
- State Management
- Lập trình bất đồng bộ trong Flutter
- HTTP request
Thực hiện :
- Tham gia đầy đủ các buổi trainning
- Làm các bài tập thực hành, …
- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm
Kết quả :
- Hiểu được những khái niệm cơ bản trong lập trình Dart và Flutter
- Có thể áp dụng được vào các dự án thực tế
Trang 93 Thực hiện project
Sau một tháng được training và thực hành, thực tập sinh đã nắm được những kiến thực
cơ bản về Flutter Trong tháng thứ hai, trainer đã hướng dẫn thực tập sinh áp dụng những kiến thức đã học để thực hiện một Mini Project bằng Flutter
Chi tiết đồ án sẽ được nói ở phần sau
4 Lịch làm việc
1-2
- Tìm hiểu về công ty, cách tổ chức của công ty
- Tìm hiểu kiến thức
cơ bản và kiến thức cần có về quy trình phát triển phần mềm Scrum
Anh Đỗ Vương Tiến 100 %
3 - Tìm hiểu về cáccông cụ cần thiết Anh Ngô Vũ Quyền 100 %
4-5 - Tìm hiểu về Dart- Tìm hiểu về Flutter Anh Ngô Vũ Quyền 100 %
6-7
Hiện thực Mini Project:
- Thiết kế UI
- Lập trình
- Viết Unit test
Trang 10Chương 3: Chi tiết về mini project
1 Giới thiệu về mini project
Ứng dụng Meeting Tracker ra đời để giúp người dùng theo dõi , đánh dấu, chỉnh sửa được các công việc trong ngày và xem lại được các công việc đã diễn ra vào những ngày trước đó
1.1 Một số tính năng của sản phẩm
- Thêm công việc vào ngày hiện tại
Người dùng có thể thêm công việc với nội dung của công việc đó
- Cập nhật trạng thái của công việc trong ngày
Người dùng có thể Cập nhật trạng thái hoặc Huỷ bỏ công việc đã đánh dấu
- Theo dõi công việc theo ngày
Người dùng có thể theo dõi các công việc của từng ngày dưới dạng lịch
1.2 Một số hình ảnh của sản phẩm
Màn hình thêm công việc
Trang 117 Màn hình danh sách công việc trong ngày Màn hình danh sách công việc theo lịch
2 Thực hiện
- Nguyễn Quốc Trung
Và sự giúp đỡ tận tình của team interns Wata Solutions
3 Kế hoạch
Thực hiện:
- Thiết kế giao diện.
- Lập trình các chức năng bằng Visual Studio.
- Tìm hiểu về Rest API, HTTP request và Kết nối tới back-end sử dụng NodeJS
đã được thực hiện bởi team interns Wata Solutions trước đó.
- Viết Unit Test và tiến hành kiểm thử.
Kết quả : - Thiết kế và hoàn thiện được sản phẩm với các tính năng đã yêu cầu
Trang 12TÀI LIỆU THAM KHẢO
https://viblo.asia/p/gioi-thieu-ve-flutter-bWrZnNxrZxw
https://viblo.asia/p/tim-hieu-ve-native-app-va-hybrid-app-3P0lPnPmKox
https://topdev.vn/blog/jira-la-gi/
https://hocvienagile.com/agipedia/tong-quan-ve-scrum/
https://viblo.asia/p/tao-http-request-trong-flutter-07LKXmJeZV4
Trang 13TỔNG KẾT
Như vậy, chỉ trong vòng một vài tuần ngắn ngủi, em đã kịp hoàn thành phát triển một ứng dụng nhỏ bằng Flutter Ứng dụng đã đã có khá đầy đủ các tính năng đã đề ra ban đầu Do thời gian có hạn nên tính năng ứng dụng còn đơn giản, hình ảnh chưa được đẹp như mong đợi Tuy nhiên ứng dụng có thể sẽ được phát triển nhiều tính năng hơn
Chân thành cảm ơn sự giúp đỡ của các bạn và anh chị nhóm interns Wata Solutions đã giúp đỡ em để có thể hoàn thành ứng dụng này Cảm ơn anh Ngô Vũ Quyền đã giúp em hoàn thành bài báo cáo này