BÁO CÁO THỰC TẬP LẬP TRÌNH ỨNG DỤNG iOS

22 2 0
BÁO CÁO THỰC TẬP LẬP TRÌNH ỨNG DỤNG iOS

Đ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

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 iOS Công ty thực tập : GUMI Việt Nam Người phụ trách : Lê Khánh Sơn Thực tập sinh : Võ Minh Đơn TP Hồ Chí Minh, tháng năm 2022 Võ Minh Đôn LỜI MỞ ĐẦU Ngày nay, ngành cơng nghiệp ứng dụng di động nói chung lập trình ứng dụng tảng iOS nói riêng phận thiếu ngành công nghiệp phần mềm Với tốc độ phát triển vô mạnh mẽ, ngành lập trình ứ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 Cùng với xu phát triển giới, Việt Nam ngoại lệ Ngành công nghiệp phát triển ứng dụng tảng iOS Việt Nam phát triển mạnh mẽ dựa nhu cầu sử dụng thiết bị Apple người Việt ngày gia tăng Người Việt ta chuộng iPhone tính dễ dùng, mượt mà thể đẳng cấp Hơn nữa, người dùng iPhone có xu hướng sử dụng ứng dụng trả phí quản lý ứng dụng chặt chẽ Appstore Apple việc hệ điều hành iOS hạn chế việc cài đặt ứng dụng không rõ từ nguồn bên ngồi Ngành lập trình ứng dụng iOS sinh nhu cầu sử dụng ứng dụng để phục vụ cơng việc giải trí thiết bị iPhone Và giới trẻ nguồn nhân lực quan trọng cho việc phát triển ngà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 Gumi Việt Nam - môi trường lý tưởng, thân thiện, chuyên nghiệp - nơi giúp em thực dự định Võ Minh Đôn LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty Gumi Việt Nam 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 hoàn thành đợt thực tập Đặc biệt cảm ơn anh Lê Khánh Sơn, training Swift iOS, hướng dẫn, giúp đỡ cho 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 chị Mã Hồng Yến Linh, training nội quy công ty, hỗ trợ em nhiều vấn đề thực tập; cảm ơn chị Trần Thị Mỹ Hạnh dẫn em cách làm báo cáo, lên kế hoạch, kỹ thiếu; cảm ơn anh Lý Thành Long, anh Nguyễn Hồng Nhật, anh Thạch Kỳ Sanh anh Vũ Đình Thuận kiểm tra kiến thức, training thêm cho em điểm cịn thiếu sót 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 Võ Minh Đơn Thành phố Hồ Chí Minh, ngày 10 tháng năm 2022 Võ Minh Đôn NHẬN XÉT CỦA KHOA Võ Minh Đôn MỤC LỤC Table of Contents Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty Gumi Việt Nam .6 Cơ cấu tổ chức 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 2.1 Các công nghê làm việc .8 2.2 Tìm hiểu ngôn ngữ Swift 2.3 Lập trình ứng dụng iOS với Swift UIKit Thực project 10 Lịch làm việc .10 Chương 3: Chi tiết project .14 Giới thiệu project Nenga 14 1.1 Công nghệ sử dụng 14 1.2 Các tính 14 1.3 Thực 17 1.4 Kế hoạch 17 Giới thiệu project ShimaumaPrint 17 2.1 Công nghệ sử dụng 17 2.2 Các tính 18 2.3 Thực 20 2.4 Kế hoạch 20 TÀI LIỆU THAM KHẢO 21 Võ Minh Đôn Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty Gumi Việt Nam Được thành lập vào năm 2012 Gumi Việt Nam công ty công nghệ thơng tin có vốn đầu tư 100% đến từ Nhật Bản, công ty Outsource chuyên phát triển website ứng dụng cho di động SmartPhone, cung cấp dịch vụ tạo tảng VR/AR Số năm kinh nghiệp lĩnh vực bán hàng dịch vụ: năm Chiến lược phát triển: - Tầm nhìn: Gumi 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ó tính sáng tạo, tính ứng dụng cao nhằm thúc đẩy hoạt động kinh doanh phát triển hiệu - 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 phong cách làm việc chuyên nghiệp Luôn đảm bảo tính xác, kịp thời dự án Ngồi Gumi Việt Nam tiên phong xu hướng cơng nghệ góp phần vào nghiệp cơng nghiệp hố, đại hố đất nước q trình hội nhập với kinh tế giới Chính sách chất lượng: - Luôn 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 thoả 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 Võ Minh Đôn phương thức quản lý hiệu quả, chuyên nghiệp, tiên tiến nhằm đám ứng yêu cầu khách hàng, đối tác Cơ cấu tổ chức Gumi Việt Nam kết hợp sức trẻ, tri thức đội ngũ quản lý gồm nhiều kỹ sư công nghệ thông tin đào tạo từ trường học danh tiếng nước nước ngồi, có kinh nghiệm lâu năm lĩnh vực xây dựng phần mềm: - Ban giảm đốc: Shogo Harada - General Manager: Phạm Q Tồn - Administrative Manager: Bùi Huyền My - Các phận Marketing, hỗ trợ khách hàng, phận phát triển ứng dụng Võ Minh Đôn 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 ứng dụng di động tảng iOS tham gia dự án thực tế hướng dẫn mentor, đồ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 ứng dụng chun nghiệ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 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 Gumi Việt Nam, 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 nghê 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, 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 số Slack – công cụ sử dụng làm việc nhóm, Nulab backlog – cơng cụ sử dụng để quản lý tiến độ công việc, Xcode – môi trường phát triển tích hợp để lập trình ứng dụng iOS, Sourcetree – công cụ để quản lý mã nguồn Thực : Thực hành sử dụng phần mềm nêu Kết : Hiểu rõ công cụ sử dụng, dễ dàng kết hợp công cụ với để tạo luồng xử lý công việc hiệu 2.2 Tìm hiểu ngơn ngữ Swift Thời gian : ngày (1 tuần) Nội dung : Được training kỹ thuật lập trình ngơn ngữ Swift, kiến thức quan trọng cho việc tối ưu iOS Võ Minh Đơn - - - 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 Các ứng dụng nâng cao với ngơn ngữ Swift Optional : Swift ngôn ngữ an tồn lập trình, nắm optional unwrap optional tối ưu hệ thống tránh nhiều lỗi phát sinh trình chạy ứng dụng 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 ứng dụng đ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 : - Nâng cao kỹ lập trình với ngơn ngữ Swift Có kiến thức quan trọng cho việc lập trình ứng dụng di động 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 2.3 Lập trình ứng dụng iOS với Swift UIKit Nội dung: Các kiến thức UIKit, sử dụng thư viện bên thứ từ Cocoapods, Swiftpackage manager, Carthage, cách sử dụng Xcode để tạo ứng dụng iOS - Kiến thức UIKit Hiện UIKit SwiftUI thư viện để lập trình giao diện iOS nhiên SwiftUI chưa sử dụng phổ biến dần cải thiện nên có dự án thực tế sử dụng thư viện Nắm phương pháp sử dụng UIKit giúp người lập trình hiểu cấu trúc xây dựng giao diện thư viện, thành phần cấu thành giao diện hình - Cocoapods, Swiftpackage manager, Carthage: Võ Minh Đơn Đây công cụ quản lý thư viện từ bên thứ thêm vào Xcode sử dụng phổ biến lập trình viên iOS - Realm, Core data Đây hệ quản trị sở liệu thường dùng ứng dụng iOS sử dụng để lưu trữ liệu di động Thực : - - Tham gia đầy đủ buổi trainning Làm tập thực hành xây dựng giao diện số hình dự án có sẵn, lập trình logic cho xử lý liên quan đến giao diện, lưu trữ liệu quản lý mã nguồn Sourcetree… 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 ứng dụng iOS, cách sử dụng thư viện UIKit, Cocoapods, Realm, Xcode, Sourcetree Đã hồn thành số hình có độ phức tạp cao, sử dụng thư viện bên thứ Firebase, Alamofire, SDProgressHud, Kingfisher vào ứng dụng Thực project Sau tháng training làm tập thực hành, thực tập sinh nắm vững kiến thức iOS Sau tháng thứ 3, thực tập sinh tiếp cận với dự án thực tế hướng dẫn mentor 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 Chị Nguyễn Thị ty, cách tổ chức Mỹ Hạnh, Chị Mã công ty, nội quy Hồng Yến Linh công ty Làm quen với Võ Minh Đôn - - 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ữ Anh Nguyễn lập trình Swift Hồng Nhật Tìm hiểu Xcode Tìm hiểu Coding convention Dùng ngơn ngữ Swift làm tập - Tìm hiểu UIKit Anh Lê Khánh Sơn - Tìm hiểu iOS architecture - Tìm hiểu quản lý Library ứng dụng - Xây dựng số hình đơn giản - - - - Tìm hiểu json, Anh Lê Khánh Sơn cách đọc gửi liệu json, Tìm hiểu GCD Tìm hiểu Delegate Singleton pattern Đọc liệu json từ api hiển thị ứng dụng Tìm hiều Realm, Anh Lê Khánh Sơn Core Data, User Default Tìm hiểu thư viện bên thứ hay sử dụng Firebase, Alamofire Lưu trữ liệu ứng dụng sử Võ Minh Đôn dụng Alamofire để gửi request => Anh Lý Thành Giai đoạn Trainee: Long, anh Vũ Đình - Tiếp tục tìm hiểu Thuận, anh Lê UIKit xây dựng Khánh Sơn số hình phức tạp giống dự án - Sử dụng Sourcetree, git flow để quản lý mã nguồn - Xây dựng tính đa ngơn ngữ - Cải thiện ứng dụng từ đóng góp từ mentor - - 10=>12 - 12=>20 Anh Lý Thành Sử dụng thư viện Long, anh Lê Alamofire để gọi Khánh Sơn, anh api Vũ Đình Thuận Lưu liệu lấy xuống sở liệu Realm Sử dụng Firebase Crashlytics để quản lý quản lý báo cáo crash ứng dụng theo thời gian thực Cải thiện ứng dụng từ đóng góp mentor Giai đoạn Fresher: Anh Lê Khánh Sơn - Làm task dự án dự quản lý mentor - Trau dồi thêm kiến thức iOS - Bảo cáo cuối đợt Võ Minh Đôn thực tập Hiện Giai đoạn Staff: Anh Lý - Xây dựng, quản lý, Long bảo trì dự án quản lý Leader Thành Võ Minh Đôn Chương 3: Chi tiết project Giới thiệu project Nenga Project giai đoạn trainee: Nenga ứng dụng thiết kế đặt mua loại thiệp khác ứng dụng di động Từ ảnh thân lưu thư viện kết hợp với loại template mẫu, sticker, kí tự, lời chúc có sẵn…Ta tạo thiệp theo ý thích đặt mua chúng 1.1 Cơng nghệ sử dụng Để thực project em chọn công nghệ cho mục đích sử dụng sau: o Sử dụng UIKit Swift để thiết kế giao diện logic o Sử dụng mơ hình MVVM làm kiến trúc ứng dụng o Sử dụng Cocoapods làm công cụ quản lý thư viện bên thứ o Sử dụng thư viện Alamofire để xử lý request, SDProgressHUD để làm hình loading o Sử dụng Realm làm Database o Sử dụng Localization để quản lý đa ngôn ngữ 1.2 Các tính Màn hình home, hình chọn thiệp: Là ứng dụng thiết kế thiệp, hình home hiển thị loại danh mục thiệp để người dùng lựa chọn thiệp cho trẻ em, cho đám cưới, đám tang…Sau chọn danh mục thiệp điều hướng đến hình chọn thiệp, người dùng lưu thiệp mà u thích Võ Minh Đơn Màn hình thiết kế thiệp: Sẽ có hình tương ứng với tuỳ chỉnh mà ta có thực với thiệp thêm ảnh từ thư viện vào thiệp, thêm lời chúc, stickers, đổi font chữ… Màn hình chọn ảnh từ thư viện cho thiệp, chọn stick dán vào thiệp: Võ Minh Đôn Ở hình người dùng chọn ảnh từ ứng dụng Photos di động để dùng thiệp chọn Stickers để dán lên thiệp đồng thời lưu lại Sticker chọn vào Database Quản lý đa ngôn ngữ: Võ Minh Đôn Trong ứng dụng có ngơn ngữ tiếng Việt, tiếng Nhật tiếng Anh Tuỳ thuộc vào ngôn ngữ điện thoại mà ứng dụng hiển thị ngôn ngữ phù hợp 1.3 Thực Được thực thực tập sinh Võ Minh Đơn hướng dẫn Mentor Lê Khánh Sơn với thành viên khác team mobile 1.4 Kế hoạch Thời gian: tháng Nội dung: Từ dự án Nenga xây dựng ứng dụng mô theo chức ứng dụng sẵn có, theo dõi task học hỏi từ dự án công nghệ, đọc hiểu yêu cầu từ khách hàng cách thành viên khác làm việc giúp đỡ lẫn Kết quả: o Hoàn thành hầu hết yêu cầu đặt từ mentor o Có tích hợp đa ngơn ngữ mà ứng dụng gốc khơng có o Hiểu cách thức làm việc member dự án Giới thiệu project ShimaumaPrint Project giai đoạn fresher: ShimaumaPrint ứng dụng cho phép người dùng sử dụng ảnh chỉnh sửa đặt mua ảnh theo nhu cầu, với chức chọn size giấy in, loại giấy in, chỉnh sửa ảnh, in ảnh có mốc thời gian 2.1 Công nghệ sử dụng Các công nghệ sử dụng dự án: o Sử dụng UIKit RxSwift để thiết kế giao diện logic o Sử dụng mơ hình MVVM kết hợp Clean Architecture làm kiến trúc ứng dụng o Sử dụng Cocoapods làm công cụ quản lý thư viện bên thứ o Sử dụng thư viện Alamofire để xử lý request, Firebase để quản lý báo cáo crash log event, Kingfisher để thao tác với ảnh, Quick & Nimble để test… Võ Minh Đôn o Sử dụng Realm làm Database 2.2 Các tính Màn hình đăng nhập, đăng kí, chọn size giấy: Ở hình người dùng đăng nhập đăng kí tài khoản sau bắt đầu chọn size giấy để tạo ảnh Màn hình chọn ảnh, chỉnh sửa ảnh: Ở hình người dùng chọn ảnh có sẵn thư viện, tuỳ chỉnh chế độ in, khung ảnh cắt ảnh tuỳ ý Võ Minh Đơn Màn hình chọn bìa giấy, hình order: Võ Minh Đơn Ở hình chọn bìa người dùng chọn mẫu bìa giấy phù hợp tương ứng với giá tiền tuỳ chọn tính tối ưu màu sắc cho ảnh sau đến hình đặt hàng tiến hành toán 2.3 Thực Được thực thành viên team D2C thành viên khác Nhật Bản: o Leader: Lý Thành Long o IT comtor Leader: Trần Phan Thanh Phương o Nguyễn Hoàng Nhật: (Senior iOS Developer) o Lê Khánh Sơn (Middle iOS Developer) o Vũ Đình Thuận (Junior iOS Developer) o Lê Duy Khang (Intern iOS Developer) o Võ Minh Đôn (Intern iOS Developer) 2.4 Kế hoạch Thời gian: Từ tháng 12 đến Nội dung: Tham gia trực tiếp vào dự án làm task hướng dẫn mentor, tuân thủ kỷ luật, chủ động giao tiếp với thành viên khác công việc, học hỏi chia sẻ kiến thức với thành viên khác, sửa lỗi hay tính theo yêu cầu khách hàng hiểu rõ quy trình làm việc Kết quả: o Hiểu rõ quy trình làm việc giao tiếp với thành viên khác o Nắm công cụ kiến thức sử dụng o Hoàn thành tốt công việc giao o Đọc hiểu yêu cầu khách hàng dễ dàng Võ Minh Đôn 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/ Võ Minh Đơn TỔNG KẾT Qua q trình thực tập thực tế Công ty cổ phần Gumi Việt Nam 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 Võ Minh Đôn ... triển ứng dụng Võ Minh Đôn 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 ứng dụng di động tảng iOS. .. sử dụng ứng dụng trả phí quản lý ứng dụng chặt chẽ Appstore Apple việc hệ điều hành iOS hạn chế việc cài đặt ứng dụng khơng rõ từ nguồn bên ngồi Ngành lập trình ứng dụng iOS sinh nhu cầu sử dụng. .. công nghiệp ứng dụng di động nói chung lập trình ứng dụng tảng iOS nói riêng phận khơng thể thiếu ngành công nghiệp phần mềm Với tốc độ phát triển vơ mạnh mẽ, ngành lập trình ứng dụng di động

Ngày đăng: 17/08/2022, 21:07

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

Tài liệu liên quan