Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
1,77 MB
Nội dung
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 ỨNG DỤNG TRÊN IOS Công ty thực tập : gumiVietnam Người phụ trách : Nguyễn Nhất Nguyên Thực tập sinh : Nguyễn Việt Mỹ TP Hồ Chí Minh, tháng năm 2021 Nguyễn Việt Mỹ LỜI MỞ ĐẦU Ngày nay, lập trình ứng dụng iOS phận khơng thể thiếu ngành cơng nghiệp phần mềm nói chung cơng nghiệp ứng dụng di động nói riêng Với tốc độ phát triển vô mạnh mẽ, công nghiệp ứng dụng di động nhân tố kích thích phát triển cơng nghệ thơng tin giới, phần cứng phần mềm Chuyên mơn lập trình ứng dụng iOS sinh nhu cầu đáp ứng thị trường, ứng dụng sinh phải đáp ứng tảng Android iOS Và người lập trình iOS nguồn nhân lực quan trọng cho việc phát triển lập trình ứng dụng di động sau Vì lý này, em định chọn lập trình ứng dụng iOS làm định hướng cho việc học tập 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àm game mơi trường chun nghiệp, em có dự định thực tập hè Vì vậy, em định chọn gumiVietnam - môi trường thân thiện, lý tưởng, chuyên nghiệp - nơi giúp em thực dự định Nguyễn Việt Mỹ LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty gumiVietnam 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 mentor, nhóm thực tập chúng em tiếp thu kiến thức quan trọng để làm ứng dụng iOS tuyệt vời Chân thành cảm ơn anh chị nhóm mentor bỏ nhiều thời gian, cơng sức để hướng dẫn chúng em hồn thành đợt thực tập Đặc biệt cảm ơn anh Nguyễn Khánh Toàn, training iOS, 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 mới; cảm ơn anh Nguyễn Nhất Nguyên tạo điều khiện training giúp đỡ em suốt trình thực tập Cũng xin cảm ơn thầy 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 Nguyễn Việt Mỹ TpHCM, ngày tháng năm 2021 Nguyễn Việt Mỹ Nguyễn Việt Mỹ NHẬN XÉT CỦA KHOA Nguyễn Việt Mỹ MỤC LỤC 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 Gumi Viet Nam Sản phẩm công ty Chương 2: Nội dung thực tập .11 Tìm hiểu cơng ty kỹ công ty 11 Nghiên cứu kỹ thuật 11 Thực project 13 Lịch làm việc .13 Chương 3: Chi tiết project .15 Giới thiệu Project 15 Thực 18 Kế hoạch .19 TÀI LIỆU THAM KHẢO 20 TỔNG KẾT 21 Nguyễn Việt Mỹ Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty gumiViet Công ty cổ phần gumi Việt Nam cơng ty CNTT có vốn đầu tư 100% đến từ Nhật Bản chuyên phát triển website ứng dụng dành cho smart phone Được thành lập từ năm 2012 Việt Nam - Định hướng phát triển sản phẩm – dịch vụ Đầu tư phát huy công nghệ mới, vận dụng kiến thức chuyên sâu vào hoạt động Nghiên cứu vào lĩnh vực chuyên môn Cung cấp hệ thống website/Mobile App phù hợp với mong muốn khách hàng Các sản phẩm, dịch vụ tạo tảng VR/AR - Giá trị cốt lõi • • • • Hướng tới khách hàng Hợp tác chia sẻ Năng động sáng tạo Phát triển mạnh mẽ - Chiến lược phát triển • Tầm nhìn : Gumi Việt Nam mong muốn trở thành người bạn đồng hành hàng đầu tổ chức doanh nghiệp việc cung cấp giải pháp, sản phẩm cơng nghệ có giá trị sáng tạo, có tính ứng dụng cao, nhằm thú đẩy hoạt động kinh doanh phát triển hiệu Nguyễn Việt Mỹ • Sứ mệnh: Trong suốt trình hoạt động, gumi Việt Nam nỗ lực với mục tiêu cao mang lại hài lòng cho khách hàng với phon cách làm việc chun nghiệp, ln đảm bảo tính xác, kịp thời dự án Ngồi gumi Việt Nam tiên phon xu hướng công nghệ góp phần vào nghiệp cơng nghiệp hóa, đại hóa đất nước bối cảnh hội nhập kinh tế Thế giới - Số năm kinh nghiệm lĩnh vực bán hàng dịch vụ: năm - Chính sách chất lượng • Ln cung cấp sản phẩm dịch vụ tốt nhất, đảm bảo thi công tiến độ, chất lượng, hiệu quả, an toàn thỏa thuận với khách hàng • Khơng ngừng cải tiến mặt để đạt hoàn hảo sản phẩm dịch vụ cung cấp, mối quan hệ với khách hàng khả cạnh tranh • Liên tục đào tạo nhằm phát triển nguồn nhân lực; tăng cường đầu tư trang thiết bị kỹ thuật công nghệ thi công đại; nghiên cứu ứng dụng phương thức quản lý hiệu quả, chuyên nghiệp, tiên tiến nhằm đáp ứng tối đa yêu cầu Khách hàng, Đối tác Tổ chức lĩnh vực hoạt động gumi Việt Nam - Sản xuất phần mềm, gia công phần mềm Cung cấp hệ thống website/Mobile App Cung Cấp sản phẩm, dịch vụ tạo tảng VR/AR Cơ cấu tổ chức gumi Việt Nam Gumi Việt Nam kết hợp sức trẻ, tri thức đội ngũ nhà quản lý đầy kinh nghiệm, gumi gồm nhiều kỹ sư tin học đào tạo từ trường Đại học danh tiếng Công nghệ thông tin nay, có kinh nghiệm lâu năm lĩnh vực xây dựng phần mềm - Ban giám đốc: • CEO : Harada Shogo • General Manager : Phạm Q Tồn • CTO : Nguyễn Sỹ Đăng Nguyễn Việt Mỹ 10 - Các phận: • Phịng Marketing • Phịng Hỗ trợ khách hàng • Phịng Phát triển Website/Mobile App Nguyễn Việt Mỹ 11 Chương 2: Nội dung thực tập Đợt thực tập với chủ đề “Lập trình ứng dụng iOS” nhằm mục đích giúp sinh viên thực tập đào tạo tồn diện lập trình thiết bị iOS, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, giao tiếp Tại cơng ty, sinh viên có hội học tập, khám phá làm việc môi trường phát triển game chuyên nghiệp Là thành viên team iOS Công ty cổ phần gumiVietnam có hội học tập trau dồi kiến thức lĩnh vực lập trình app tảng mobile, tiếp cận với tảng công nghệ khác nhau, tăng khả tìm kiếm đọc hiểu tài liệu tiếng Anh… 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 người phụ trách 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 cịn 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… Kết : Hiểu thêm cơng ty gumiViet, 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 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 trình làm việc Trong thời gian này, mentor 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 số Xcode – IDE để lập trình ứng dụng iOS, Terminal để sử dụng git, SourceTree để sử dụng git với GUI Thực : Thực hành sử dụng phần mềm nêu Nguyễn Việt Mỹ 12 2.2 Kết : Lập trình sử dụng cơng cụ miễn phí, giúp dễ dàng kết hợp công cụ với nhau, so với việc dung IDE Tìm hiểu ngơn ngữ Swift Thời gian : ngày (1 tuần) Nội dung : Được training kỹ thuật Swift nâng cao, kiến thức quan trọng cho việc tối ưu iOS - Lập trình hướng đối tượng Các kiến thức lập trình hướng đối tượng khái niêm, đặc tính tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình - Optional : Swift ngôn ngữ an tồn lập trình Nắm khái niệm optional, cách unwrap optional giúp người lập trình tối ưu hóa đặc tính an tồn ngơn ngữ Swift - Quản lý nhớ Thực tập sinh hướng dẫn cách cấp phát, quản lý nhớ cho tối ưu, tránh rò rỉ nhớ, phần quan trọng lập trình game điện thoại, nhớ điện thoại khơng thể lớn máy tính Thực : - 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 : - 2.3 Nâng cao kỹ lập trình với ngơn ngữ C++ Có kiến thức quan trọng cho việc lập trình game mobile sau Ngồi cịn biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu Lập trình ứng dụng iOS với Swift Nội dung: Cách sử dụng Xcode, kiến thức UIKit, áp dụng thư viện bên thứ với CocoaPods để làm ứng dụng đơn giản - Cách sử dụng Xcode: Nắm layout Xcode IDE, giúp người lập trình thao tác nhanh Xcode, từ làm việc nhanh - Kiến thức UIKit: Nguyễn Việt Mỹ 13 UIKit SwiftUI thư viện để lập trình giao diện iOS, nhiên SwiftUI chưa thịnh hành, giai đoạn phát triển nên dự án thực tế liên quan đến SwiftUI Nắm kiến thức UIKit giúp người lập trình hiểu thành phần giao diện, cấu tạo hình ứng dụng - Thư viện bên thứ với CocoaPods: Tương tự với npm nodejs, cocoapods bên quản lý thư viện sử dụng lập trình viên iOS Thực : - Tham gia đầy đủ buổi trainning Làm tập thực hành làm lại hình có sẵn, thêm logic phức tạp, … Tìm kiếm tài liệu mạng để tìm hiểu thêm Kết : - Hiểu khái niệm lập trình giao diện với UIKit, nắm sử dụng Xcode cách hiệu quả, cách sử dụng CocoaPods Đã làm số hình có độ phức tạp cao, thêm thư viện bên (Firebase, GoogleMaps, Alamofire) vào ứng dụng demo Thực project Sau tháng training thực hành, thực tập sinh nắm kiến thực Swift, UIKit, iOS Sau tháng thứ 3, thực tập sinh đưa lên tham gia thực dự án thực tế Chi tiết đồ án nói phần sau Lịch làm việc Tuần Công việc - Người hướng dẫn Mức độ hoàn thành Nhận xét người hướng dẫn Tìm hiểu cơng ty, Chị Nguyễn Yến cách tổ chức Nhi công ty Nguyễn Việt Mỹ 14 - => Làm quen với công cụ làm việc công ty - Học cách trao đổi, làm việc qua email - Tìm hiểu ngơn ngữ lập trình Swift nâng cao - Thực hành Swift - Tìm hiểu Xcode, UIKit - Thực hành số ứng dụng - Tìm hiểu iOS - Thực hành số hình giao diện phức tạp - => 12 12 => 18 18 => Hiện Ứng dụng thư viện Gọi API với Alamofire - Mở GoogleMaps - Xác thực với Firebase Giai đoạn 1: - Làm task đơn giản để học việc - Release ứng dụng lên App Store Giao đoạn 2: - Thêm chức theo yêu cầu khách hàng - Fix bug theo yêu cầu khách hàng - Báo cáo cuối đợt thực tập Anh Nguyễn Khánh Toàn Anh Nguyễn Khánh Toàn Anh Nguyễn Khánh Toàn Anh Nguyễn Khánh Toàn Anh Nguyễn Khánh Toàn Anh Nguyễn Trọng Trung Nguyễn Việt Mỹ 15 Chương 3: Chi tiết project Giới thiệu project Ứng dụng Zooo Pay đầu tư đến tỷ đồng khách hàng Nhật Bản, vừa kí hợp đồng với công ty tiếp tục phát triển tiếp thêm năm Ứng dụng kết nối người dùng dịch vụ 1.1 Công nghệ Ứng dụng Zooo Pay share mã giảm giá, xử dụng thư viện UIKit swift làm giao diện, Firebase mysql làm backend Ứng dụng xây dựng theo mơ hình MVVM dạng nâng cấp MVC Đồng thời sử dụng Localized làm quản lý ngơn ngữ, sử dụng ngơn ngữ tiếng anh tiếng nhật 1.2 Tính Zooo Pay ứng dụng chia sẻ mã chia sẻ người dùng với khách hàng phải checkin để có coupon point, từ đổi điểm mã giảm giá Đăng kí đăng nhập: App xử cho phép tạo tài khoản nhiều loại khác nhau, xử dụng firebase Author để xử lý tài khoản, tài khoản liên kết với nhau, Mail tạo tài khoản dù đăng kí đăng nhập mạng xã hội Nguyễn Việt Mỹ 16 Chúng ta có danh sách coupon sử dụng, coupon chứa thông tin cửa hàng địa chỉ, bạn save coupon để xử dụng Gift coupon cho tài khoản khác, tài khoản bạn bè bạn Nguyễn Việt Mỹ 17 Coupon point có nhiều cách để nhận bạn checkin để nhận, App cho phép hình thức check in quét mã QR Connect wifi để nhận diện checkin, ngồi nhập code để nhận coupon Nguyễn Việt Mỹ 18 Sau có đủ sound point, tài khoản đổi điểm lấy coupon mã Màng hình home thơng tin tài khoản, coupon nhận coupon gift hay lịch sử dử dụng coupon lưu lại cách đầy đủ App xử dụng ngôn ngữ English Japan nên chia vùng, từ việc quản lý coupon theo vùng số điện thoại hay thơng tin, ngơn ngữ phải có luồng xử lý cách ổn định Thực Các thành viên team thực dự án ZoooPay giai đoạn 1: Nguyễn Việt Mỹ 19 - Leader: Trần Hoàng Văn Phạm Phúc Bắc (Lead Android) Huỳnh Anh Tài (Intern Android) Nguyễn Huy Chương (Intern Android) Nguyễn Khánh Toàn (Lead iOS) Nguyễn Trọng Trung (Junior iOS) Nguyễn Việt Mỹ (Intern iOS) Đặng Minh Việt (API) Nguyễn Thành Trung (API) Và 10 thành viên khác mảng Comtor, Front-end, Back-end, thực Kế hoạch Giai đoạn 1: - Hoàn thành thiết kế ban đầu Các chức liên quan đến xác thực: đăng nhập, đăng ký Chức gửi coupon, nhận coupon Chức checkin QR Code, Beacon, GPS,… Dynamic Link Hiệu ứng Phân chia môi trường Dev, Staging, Production Notification Upload ứng dụng lên Google Play Store Apple App Store Kết : - Ứng dụng App Store đồng ý sau lần chỉnh sửa resubmit Các chức hồn thiện Khơng có feedback xấu từ khách hàng Giai đoạn 2: - Chức SNS Linking - Chức đổi mật - Luồng đổi email, đổi số điện thoại - Màn hình nhận code với mã code Amazon, JCB, Bitcash Kết : Đã hoàn thành toàn tính trên, tiến hành giai đoạn Nguyễn Việt Mỹ 20 TÀI LIỆU THAM KHẢO Swift https://www.hackingwithswift.com https://swift.org UIKit https://developer.apple.com/documentation/uikit iOS https://developer.apple.com/develop/ https://www.raywenderlich.com/ Nguyễn Việt Mỹ 21 TỔNG KẾT Qua trình thực tập thực tế Cơng ty cổ phần gumiVietnam em tích lũy cho thân nhiều kinh nghiệm, kỹ cố kiến thức học, nhận thấy hội, bước đệm cho đường phía trước Em trực tiếp làm việc với đội ngũ anh chị cơng ty nhiệt tình, chịu khó cơng việc Được đào tạo với chuyên ngành, thực công việc dẫn anh hướng dẫn; trực tiếp tham gia, tích lũy kiến thức, kinh nghiệm cho thân Nguyễn Việt Mỹ ... dung thực tập Đợt thực tập với chủ đề ? ?Lập trình ứng dụng iOS? ?? nhằm mục đích giúp sinh viên thực tập đào tạo tồn diện lập trình thiết bị iOS, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, ... nghệ thông tin giới, phần cứng phần mềm Chuyên môn lập trình ứng dụng iOS sinh nhu cầu đáp ứng thị trường, ứng dụng sinh phải đáp ứng tảng Android iOS Và người lập trình iOS nguồn nhân lực quan... việc phát triển lập trình ứng dụng di động sau Vì lý này, em định chọn lập trình ứng dụng iOS làm định hướng cho việc học tập Sau ba năm học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn