Lập trình mobile với flutter

17 5 0
Lập trình mobile với flutter

Đ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

Nguyễn VIệt anh TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP LẬP TRÌNH MOBILE VỚI FLUTTER Công ty thực tập VINOVA Người phụ trách[.]

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH KHOA CƠNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP LẬP TRÌNH MOBILE VỚI FLUTTER Công ty thực tập : VINOVA Người phụ trách : Nguyễn Việt Anh – Flutter Leader Thực tập sinh : Huỳnh Trọng Phục TP Hồ Chí Minh, ngày 20 tháng 12 năm 2022 LỜI MỞ ĐẦU Hiện nay, giới, thứ sống liên quan đến việc ứng dụng công nghệ thông tin, hoạt động đời sống xã hội như: giao lưu, giải trí, việc làm trở nên dễ dàng nhờ điện thoại nhỏ gọn tầm tay đến giới đám mây công nghệ số Các ứng dụng điện thoại ngày phổ biến nhiều người sử dụng, đồng thời truy cập từ tảng khác Android hay IOS Có nhiều cơng ty tập trung vào phát triển ứng dụng di động, cơng ty Vinova Đây cơng ty đa quốc gia với văn phòng Thành phố Hồ Chí Minh, thành phố Đà Nẵng, thành phố Hà Nội Midview City (Singapore) Công ty thành lập với châm ngôn “Customer Focus, Integrity, Teamwork, Personal Excellence, and Challenger Spirit.” Sau ba năm học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia lập trình di động mơi trường chuyên nghiệp, em có dự định thực tập hè Vì vậy, em định chọn Vinova môi trường lý tưởng, đại, chuyên nghiệp - nơi giúp em thực dự định LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Cơng ty VINOVA tạo điều kiện cho em có hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn nhiệt tình nhóm trainer, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để làm ứng dụng di động Chân thành cảm ơn anh chị nhóm trainer bỏ 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 Đặc biệt cảm ơn anh Nguyễn Việt Anh, training Flutter, hướng dẫn, giúp đỡ cho chúng em tận tình khó khăn cơng việc, đến khó khăn việc làm quen với môi trường Em xin cảm ơn anh Phát - leader team mobile, người team mobile nhiệt tình giúp đỡ, hỗ trợ em trình em thực tập q cơng ty Cũng xin cảm ơn thầy cô khoa Công nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Huỳnh Trọng Phục Thành phố Hồ Chí Minh, ngày 20 tháng 12 năm 2022 NHẬN XÉT CỦA KHOA 1 MỤC LỤC Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty Vinova 2 Sản phẩm công ty Chương 2: Nội dung thực tập Tìm hiểu công ty kỹ công ty Nghiên cứu kỹ thuật Thực project Lịch làm việc Chương 3: Chi tiết project Giới thiệu ứng dụng - Aunty Thực Kế hoạch 10 TÀI LIỆU THAM KHẢO 12 TỔNG KẾT 13 NGUYỄN VIỆT ANH HUỲNH TRỌNG PHỤC Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty Vinova Tên công ty: Công ty cổ phần Công nghệ VINOVA Tên viết tắt: VINOVA Ltd Trang web công ty: https://vinova.sg/ Vinova công ty phần mềm chuyên phát triển sản phẩm cho công ty startup Được thành lập năm 2010, Vinova nhanh chóng trở thành top 10 Mobile Applications Development Companies Singapore Khách hàng Vinova đến từ Mỹ, Singapore, Việt Nam, Thái Lan, Hàn Quốc, Trung Quốc,… Vinova sử dụng Net, Swift, Flutter, Ruby on Rails, NodeJS, PHP, React Native, Java để phát triển ứng dụng web, mobile mobile game mình, kết hợp với quy trình phần mềm đại Scrum, Agile Sản phẩm công ty Là công ty outsourcing nên sản phẩm Vinova đa dạng từ công nghệ tảng sử dụng Có thể điểm qua số sản phẩm công ty như: NGUYỄN VIỆT ANH HUỲNH TRỌNG PHỤC The Straits Times (Android App, iOS App) : Ứng dụng đọc báo tờ báo lớn Singapore SG50 Quiz (Mobile Game): Ứng dụng Quiz Singapore từ du lịch , ẩm thực,… NGUYỄN VIỆT ANH HUỲNH TRỌNG PHỤC MyLifeInc Website: Trang web bán lẻ Eu Yan Sang (Trung Quốc) Chương 2: Nội dung thực tập Tìm hiểu công ty kỹ công ty Thời gian : ngày Nội dung : Giới thiệu công ty, cách tổ chức công ty - - Được nghe chị Sara – Admin văn phịng HCM giới thiệu cơng ty, q trình thành lập 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ơng ty Ngồi ra, thực tập sinh giới thiệu cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng email công việc Được hướng dẫn set up, sử dụng công cụ giao tiếp (slack, gmail), công cụ quản lý source code (Gitlab), công cụ quản lý dự án (Unfuddle) Kết : - Hiểu thêm công ty Vinova, q trình thành lập phát triển Có thêm kỹ việc sử dụng email công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Tăng kỹ giao tiếp, làm việc nhóm NGUYỄN VIỆT ANH HUỲNH TRỌNG PHỤC Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc Thời gian : ngày Nội dung : Tìm hiểu cơng cụ sử dụng q trình làm việc Trong thời gian này, supervisor hướng dẫn thực tập sinh tìm hiểu cơng cụ giúp ích cho công việc sau Một số phần mềm, ứng dụng như: Slack – dùng để giao tiếp; Gitlab – quản lý source code; Unfuddle – quản lý task, dự án, Postman – dùng để kiểm tra, review API; Hrpartner – quản lý nhân công ty Thực : Thực hành sử dụng phần mềm nêu Kết : Hiểu biết thêm cơng cụ hỗ trợ cho cơng việc lập trình, hoạt động cơng ty 2.2 Tìm hiểu ngơn ngữ Dart Thời gian: ngày Nội dung: Tìm hiểu ngơn ngữ Dart, áp dụng OOP cho ví dụ Tìm hiểu cách sử dụng tính Dart, từ biến toán tử cho lớp thư viện: - - - - Variables data types Biết cách khai báo biến Dart, kiểu liệu dung lượng nhớ phân bổ cho biến Control flow statements Biết syntax, cách dùng câu lệnh điều kiện vòng lặp Dart Classes objects Biết cách tạo class , object Encapsulation, polymorphism, abstraction, and inheritance Yêu cầu thực tập sinh ứng dụng dược tính chất OOP với ngôn ngữ Dart Mixins Hiểu mixins gì, ứng dụng mixins Functions Futures, async, and await Biết sử dụng async await để đồng chương trình Thực hiện: NGUYỄN VIỆT ANH Tham gia đầy đủ buổi training công ty Làm thực hành, kiểm tra kiến thức học HUỲNH TRỌNG PHỤC Kết quả: - Nắm bắt ngôn ngữ Dart Tăng khả tự học thân Tăng khả giao tiếp với thành viên team 2.3 Tìm hiểu Flutter Thời gian: ngày Nội dung: Tìm hiểu Flutter SDK, thành phần giao diện Flutter Tìm hiểu cách sử dụng tính Dart, từ biến tốn tử cho lớp thư viện: - Stateless and Stateful Widget: Hiểu Stateless Stateful Widget gì? Khi nên sử dụng Stateless Stateful, khác biệt chúng - Stateful Widget lifecycle: Yêu cầu nắm bắt vòng đời Stateful Widget, biết sử dụng method Stateful Widget - Basic widgets: Yêu cầu sử dụng được: Scaffold, AppBar, Column, Row, Icon, ElevatedButton, Container, Text - Cupertino widgets: Biết sử dụng Cupertino widgets để tạo giao diện đẹp cho IOS - Material Components widgets: Yêu cầu sử dụng được: BottomNavigationBar, Drawer, TabBar, TabView, loại button, TextField, loại dialog Thực hiện: - Tham gia đầy đủ buổi training công ty - Làm thực hành, kiểm tra kiến thức học Kết quả: - NGUYỄN VIỆT ANH Xây dựng ứng dụng demo Nắm bắt cách tạo ứng dụng với Flutter HUỲNH TRỌNG PHỤC 2.4 Tìm hiểu State Management Thời gian: ngày Nội dung: Biết sử dụng state management sau: Bloc, GetX, Redux Thực hiện: - Tìm hiểu Bloc, GetX Xây dựng ứng dụng demo Kết quả: - Xây dựng ứng dụng demo Hiểu rõ Bloc GetX 2.5 Tìm hiểu Firebase Flutter nâng cao Thời gian: ngày Nội dung: - Biết cách set up Firebase cho ứng dụng Biết push notification Firebase cloud messaging Yêu cầu thực tập sinh biết cách tạo animation Flutter Hiểu MethodChannel cách thực Thực hiện: - Tìm hiểu nội dung yêu cầu Code demo cho yêu cầu Kết quả: - Biết cách thực project với Firebase Cách tạo animation Tween, AnimationController Viết code demo, lấy giá trị Pin thiết bị MethodChannel Thực project Sau ba tuần training thực hành, thực tập sinh nắm kiến thức Flutter, Firebase Trong tháng thứ hai, trainer tham gia vào dự án thực tế Chi tiết dự án nói phần sau NGUYỄN VIỆT ANH HUỲNH TRỌNG PHỤC Lịch làm việc Tuần Cơng việc • Tìm hiểu cơng ty, cách tổ chức cơng ty • Tìm hiểu ngơn ngữ Dart • Tìm hiểu Flutter • Tìm hiểu State Management • Tìm hiểu, setup Firebase • Tìm hiểu push notification Firebase cloud messaging • Flutter animation • Flutter MethodChannel • Tham gia dự án Aunty • Làm việc với PO, BA bàn dự án • Code phần Login , Register, Verify phone number, forgot password • Fix bug • Code UI cho phần “Parent Home” • Code “Choose role screen” • Fix bug • Code phần “Create request”, “Find Sitter” • Fix bug • Call API cho “Parent Home” NGUYỄN VIỆT ANH Người hướng dẫn - Nguyễn Việt Anh Trần Văn Việt - Nguyễn Việt Anh Trần Văn Việt - Nguyễn Việt Anh Vũ Thế Hòa Trần Văn Việt - Nguyễn Việt Anh Nguyễn Việt Thắng - Nguyễn Việt Anh - Nguyễn Việt Anh - Nguyễn Việt Anh Mức độ hoàn thành Nhận xét người hướng dẫn HUỲNH TRỌNG PHỤC • Code “Service Request Detail”, “Job detail” • Fix bug - Nguyễn Việt Anh Chương 3: Chi tiết project Giới thiệu ứng dụng - Aunty Aunty ứng dụng phát triển cho khách hàng Singapore Aunty ứng dụng kết nối bố mẹ (parent) với người trơng trẻ (sitter) đáng tin cậy Parent tạo yêu cầu trông trẻ (request), mời sitter đến làm việc, sitter tham gia vào request khác làm sau gửi yêu cầu parent chấp nhận Đây ứng dụng kép – parent sitter dùng chung ứng dụng Ứng dụng có phân quyền Thực Team back-end gồm thành viên Team front-end gồm thành viên Dùng Unfuddle để quản lý dự án: NGUYỄN VIỆT ANH HUỲNH TRỌNG PHỤC 10 Gitlab để quản lý source code Kế hoạch Giai đoạn 1: - Tham khảo tài liệu, tìm hiểu dự án Set up dự án Thực tính Đăng nhập, đăng ký Thực tính chọn quyền để vào ứng dụng Xây dựng hình Parent Profile Sitter Profile Xây dựng trang Home parent Kết quả: - Nắm bắt chức năng, luồng điều khiển, giai đoạn phát triển dự án - Hoàn thành xây dựng UI cho tính đăng nhập, đăng ký, chọn quyền để vào ứng dụng, trang profile parent sitter, parent home - Hồn thành gọi API hình back-end cung cấp Giai đoạn 2: - Thực tính năng: • Parent: - Thêm thơng tin địa chỉ, - Tạo service request - Chỉnh sửa service request - Tìm kiếm sitter, mời sitter tham gia vào request - Xem thông tin chi tiết request NGUYỄN VIỆT ANH HUỲNH TRỌNG PHỤC 11 - Hiển thị jobs, request parent tạo - Chỉnh sửa service request - Chỉnh sửa jobs • Sitter: - Hiển thị request parent khác yêu cầu - Hiển thị request parent khác chưa có người nhận - Apply vào request parent - Chỉnh sửa thông tin cá nhân - Hiển thị danh sách jobs nhận Kết quả: - Hoàn thành nhiệm vụ thời hạn - Cải thiện khả refactor code - Nhận feedback tốt từ khách hàng NGUYỄN VIỆT ANH HUỲNH TRỌNG PHỤC 12 TÀI LIỆU THAM KHẢO https://dart.dev/guides/language/language-tour https://flutter.dev/learn https://firebase.google.com/docs https://bloclibrary.dev/#/ https://pub.dev/packages/get Và số tài liệu nội công ty NGUYỄN VIỆT ANH HUỲNH TRỌNG PHỤC 13 TỔNG KẾT Như vậy, vòng ba tuần ngắn ngủi, em nắm vững kiến thức Flutter, cơng nghệ có liên quan Đồng thời, em cải thiện khả viết code, refactor code, khả giao tiếp khả làm việc nhóm Và sau đó, em tham gia vào dự án thực tế Được tham gia dự án với vai trò người code chính, cơng việc có nặng bình thường, nhờ em cải thiện nhiều kỹ thuật kỹ Dự án phát hành CH Play App Store, cột mốc ý nghĩa nghiệp em sau Cuối cùng, em xin chân thành cảm ơn giúp đỡ anh chị nhóm Flutter, PO, PA nhóm Back-end, hỗ trợ em trình tham gia dự án NGUYỄN VIỆT ANH HUỲNH TRỌNG PHỤC ... Quốc,… Vinova sử dụng Net, Swift, Flutter, Ruby on Rails, NodeJS, PHP, React Native, Java để phát triển ứng dụng web, mobile mobile game mình, kết hợp với quy trình phần mềm đại Scrum, Agile Sản... Anh, training Flutter, hướng dẫn, giúp đỡ cho chúng em tận tình khó khăn cơng việc, đến khó khăn việc làm quen với mơi trường Em xin cảm ơn anh Phát - leader team mobile, người team mobile nhiệt... Tăng khả tự học thân Tăng khả giao tiếp với thành viên team 2.3 Tìm hiểu Flutter Thời gian: ngày Nội dung: Tìm hiểu Flutter SDK, thành phần giao diện Flutter Tìm hiểu cách sử dụng tính Dart,

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

Tài liệu cùng người dùng

  • Đang cập nhật ...