1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

22 3 0

Đ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 Ứng Dụng iOS
Tác giả Võ Minh Đôn
Người hướng dẫn Lê Khánh Sơn
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 Khoa Học Máy Tính và 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 22
Dung lượng 1 MB

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

Nội dung

Gumi Việt Nam là công ty công nghệ thông tin có vốn đầu tư 100% đến từ Nhật Bản, là một công ty Outsource chuyên phát triển các website và ứng dụng cho di động SmartPhone, ngoài ra còn c

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 ỨNG DỤNG iOS

Thực tập sinh : Võ Minh Đôn

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

Trang 2

LỜI MỞ ĐẦU

Ngày nay, ngành công nghiệp ứng dụng di động nói chung và lập trình ứng dụng trên nền tảng iOS nói riêng là một bộ phận không thể thiếu của ngành công nghiệp phần mềm Với tốc độ phát triển vô cùng mạnh mẽ, ngành lập trình ứng dụng di động đã và đang là nhân tố kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và phần mềm

Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ Ngành công nghiệp phát triển ứng dụng trên nền tảng iOS tại Việt Nam đã và đang phát triển mạnh mẽ dựa trên nhu cầu sử dụng các thiết bị của Apple của người Việt ngày càng gia tăng Người Việt ta rất chuộng iPhone bởi vì tính dễ dùng, mượt mà và thể hiện đẳng cấp Hơn nữa, người dùng iPhone sẽ có xu hướng sử dụng các ứng dụng trả phí do sự quản lý ứng dụng chặt chẽ trên Appstore của Apple và 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 ngoài

Ngành lập trình ứng dụng iOS được sinh ra là do nhu cầu sử dụng các ứng dụng để phục

vụ công việc và giải trí trên thiết bị iPhone Và giới trẻ sẽ là nguồn nhân lực quan trọng cho việc phát triển của ngành ứng dụng di động sau này Vì lý do này, em quyết định chọn lập trình ứng dụng iOS làm định hướng cho việc họ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ư muốn được tham gia làm game trong một môi trường chuyên nghiệp, em có dự định là sẽ thực tập trong hè Vì vậy, em quyết định chọn Gumi Việt Nam - một môi trường lý tưởng, thân thiện, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này

Trang 3

Đặc biệt cảm ơn anh Lê Khánh Sơn, đã training về Swift và iOS, 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; cảm ơn chị Mã Hồng Yến Linh, đã training về nội quy công ty, hỗ trợ em rất nhiều

về các vấn đề về thực tập; cảm ơn chị Trần Thị Mỹ Hạnh đã chỉ dẫn em về cách làm báo cáo, lên kế hoạch, những kỹ năng không thể thiếu; cảm ơn các anh Lý Thành Long, anh Nguyễn

Hoàng Nhật, anh Thạch Kỳ Sanh và anh Vũ Đình Thuận đã kiểm tra kiến thức, training thêm

cho em những điểm còn thiếu sót và giúp đỡ em trong suốt quá trình thực tập

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

Võ Minh Đôn Thành phố Hồ Chí Minh, ngày 10 tháng 6 năm 2022

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

Table of Contents

Chương 1: Giới thiêu công ty thực tập 6

1 Giới thiệu công ty Gumi Việt Nam 6

2 Cơ cấu tổ chức 7

Chương 2: Nội dung thực tập 8

1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 8

2 Nghiên cứu kỹ thuật 8

2.1 Các công nghê làm việc 8

2.2 Tìm hiểu ngôn ngữ Swift 8

2.3 Lập trình ứng dụng iOS với Swift và UIKit 9

3 Thực hiện project 10

4 Lịch làm việc 10

Chương 3: Chi tiết về project 14

1 Giới thiệu về project Nenga 14

1.1 Công nghệ sử dụng 14

1.2 Các tính năng chính 14

1.3 Thực hiện 17

1.4 Kế hoạch 17

2 Giới thiệu về project ShimaumaPrint 17

2.1 Công nghệ sử dụng 17

2.2 Các tính năng chính 18

2.3 Thực hiện 20

2.4 Kế hoạch 20

TÀI LIỆU THAM KHẢO 21

Trang 6

Chương 1: Giới thiêu công ty thực tập

1 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 là công ty công nghệ thông tin có vốn đầu tư 100% đến từ Nhật Bản, là một công ty Outsource chuyên phát triển các website và ứng dụng cho di động SmartPhone, ngoài ra còn cung cấp các dịch vụ được tạo ra trên nền tảng VR/AR

Số năm kinh nghiệp trong lĩnh vực bán hàng dịch vụ: 8 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 của các

tổ chức và doanh nghiệp trong việc cung cấp các giải pháp, các 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 quả

- Sứ mệnh: Trong suốt quá trình hoạt động, Gumi Việt Nam luôn nỗ lực với mục tiêu cao nhất là mang lại sự 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 chính xác, kịp thời của dự án Ngoài ra Gumi Việt Nam luôn tiên phong trong các xu hướng công nghệ mới góp phần vào sự nghiệp công nghiệp hoá, hiện đại hoá đất nước trong quá trình hội nhập với nền kinh tế thế giới

- 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 và công nghệ thi công hiện đại, nghiên cứu và ứng dụng các

Trang 7

phương thức quản lý hiệu quả, chuyên nghiệp, tiên tiến nhất nhằm đám ứng yêu cầu của khách hàng, đối tác

2 Cơ cấu tổ chức

Gumi Việt Nam là sự kết hợp giữa sức trẻ, tri thức và đội ngũ các quản lý gồm nhiều kỹ sư công nghệ thông tin được đào tạo bài bản từ các trường học danh tiếng trong nước và nước ngoài, có kinh nghiệm lâu năm trong lĩnh vực xây dựng phần mềm:

- Ban giảm đốc: Shogo Harada

- General Manager: Phạm Quí Toàn

- Administrative Manager: Bùi Huyền My

- Các bộ phận Marketing, hỗ trợ khách hàng, bộ phận phát triển ứng dụng

Trang 8

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 được đào tạo toàn diện về lập trình ứng dụng di động trên nền tảng iOS và tham gia dự án thực tế dưới sự hướng dẫn của mentor, đồ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 ứng dụng 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 Gumi Việt Nam, 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 công nghê làm việc

Thời gian : 4 ngày

Nội dung : Tìm hiểu về các công cụ sẽ được sử dụng trong quá 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 về các công

cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đó như Slack – công cụ sử dụng trong 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 hiện : Thực hành sử dụng các phần mềm đã nêu trên

Kết quả : Hiểu rõ được các công cụ sẽ được sử dụng, dễ dàng kết hợp các công cụ với

nhau để tạo ra luồng xử lý công việc hiệu quả

2.2 Tìm hiểu ngôn ngữ Swift

Thời gian : 5 ngày (1 tuần)

Nội dung : Được training về các kỹ thuật lập trình bằng ngôn ngữ Swift, những kiến

thức quan trọng cho việc tối ưu trên iOS

Trang 9

- 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 Các ứng dụng nâng cao với ngôn ngữ Swift

- Optional :

Swift là một trong những ngôn ngữ an toàn nhất trong lập trình, nắm được optional và unwrap optional sẽ tối ưu được hệ thống và tránh được nhiều lỗi phát sinh trong quá trình chạy ứng 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

Thực hiện :

- Tham gia đầy đủ các buổi training của công ty

- Làm các bài thực hành, kiểm tra về kiến thức đã học

Kết quả :

- Nâng cao kỹ năng lập trình với ngôn ngữ Swift

- Có được những kiến thức quan trọng cho việc lập trình ứng dụng di động sau này

- Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúng chuẩn, dễ đọc, dễ hiểu

2.3 Lập trình ứng dụng iOS với Swift và UIKit

Nội dung: Các kiến thức về UIKit, sử dụng các thư viện bên thứ 3 từ Cocoapods,

Swiftpackage manager, Carthage, cách sử dụng Xcode để có thể tạo ra một ứng dụng iOS

- Kiến thức về UIKit

Hiện nay UIKit và SwiftUI là 2 thư viện chính để lập trình giao diện iOS tuy nhiên cho đến hiện tại SwiftUI vẫn chưa được sử dụng phổ biến và còn đang dần được cải thiện nên có rất ít dự án thực tế sử dụng thư viện này

Nắm được phương pháp sử dụng UIKit giúp người lập trình hiểu được cấu trúc xây dựng giao diện của thư viện, các thành phần cấu thành giao diện cơ bản của một màn hình

- Cocoapods, Swiftpackage manager, Carthage:

Trang 10

Đây là các công cụ quản lý thư viện từ bên thứ 3 được thêm vào Xcode được sử dụng phổ biến của các lập trình viên iOS

- Realm, Core data

Đây là những hệ quản trị cơ sở dữ liệu thường dùng trong các ứng dụng iOS được

sử dụng để lưu trữ dữ liệu trên di động

Thực hiện :

- Tham gia đầy đủ các buổi trainning

- Làm các bài tập thực hành xây dựng giao diện của một số màn hình trong dự án

có sẵn, lập trình logic cho những xử lý liên quan đến giao diện, lưu trữ dữ liệu và quản lý mã nguồn bằng Sourcetree…

- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm

3 Thực hiện project

Sau 3 tháng được training và làm bài tập thực hành, thực tập sinh đã nắm vững được những kiến thức về iOS Sau tháng thứ 3, thực tập sinh được tiếp cận với dự án thực tế dưới sự hướng dẫn của mentor

Chi tiết đồ án sẽ được nói ở phần sau

4 Lịch làm việc

Mức

độ hoàn thành

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

1

- Tìm hiểu về công

ty, cách tổ chức của công ty, nội quy công ty

- Làm quen với các

Chị Nguyễn Thị

Mỹ Hạnh, Chị Mã Hồng Yến Linh

Trang 11

công cụ làm việc trong công ty

- Học cách trao đổi, làm việc qua email

2

- Tìm hiểu ngôn ngữ lập trình Swift

- Tìm hiểu về Xcode

- Tìm hiểu về Coding convention

- Dùng ngôn ngữ Swift làm các bài tập cơ bản

- Tìm hiểu về quản

lý Library trong ứng dụng

- Xây dựng một số màn hình đơn giản

Anh Lê Khánh Sơn

4

- Tìm hiểu về json, cách đọc và gửi dữ liệu json,

Anh Lê Khánh Sơn

5

- Tìm hiều về Realm, Core Data, User Default

- Tìm hiểu về các thư viện bên thứ 3 hay được sử dụng như Firebase, Alamofire

- Lưu trữ dữ liệu trên ứng dụng và sử

Anh Lê Khánh Sơn

Trang 12

dụng Alamofire để gửi request

6 => 9

Giai đoạn Trainee:

- Tiếp tục tìm hiểu về UIKit và xây dựng một số màn hình phức tạp giống như trong dự án

- Sử dụng Sourcetree, git flow để quản lý

Anh Lý Thành Long, anh Vũ Đình Thuận, anh Lê Khánh Sơn

10=>12

- Sử dụng thư viện Alamofire để gọi api

- Lưu dữ liệu đã lấy xuống cơ sở dữ liệu Realm

- Sử dụng Firebase Crashlytics để quản

lý quản lý các báo cáo về crash ứng dụng theo thời gian thực

- Cải thiện ứng dụng

từ các đóng góp của mentor

Anh Lý Thành Long, anh Lê Khánh Sơn, anh

- Trau dồi thêm kiến thức về iOS

- Bảo cáo cuối đợt

Anh Lê Khánh Sơn

Trang 13

thực tập

Hiện tại

Giai đoạn Staff:

- Xây dựng, quản lý, bảo trì dự án dưới

sự quản lý của Leader

Anh Lý Thành Long

Trang 14

Chương 3: Chi tiết về project

1 Giới thiệu về project Nenga

Project trong giai đoạn trainee: Nenga là một ứng dụng thiết kế và đặt mua các loại thiệp khác nhau trên ứng dụng di động Từ những bức ảnh của bản thân được lưu trong thư viện kết hợp với các loại template mẫu, sticker, các kí tự, lời chúc có sẵn…Ta sẽ tạo

ra được một tấm thiệp theo ý thích và đặt mua chúng

o Sử dụng Cocoapods làm công cụ quản lý thư viện bên thứ 3

o Sử dụng thư viện Alamofire để xử lý request, SDProgressHUD để làm màn hình loading

Trang 16

Ở màn hình này người dùng sẽ chọn ảnh từ ứng dụng Photos của di động để dùng trong tấm thiệp và chọn Stickers để dán lên thiệp đồng thời cũng lưu lại những Sticker đã chọn vào Database

Quản lý đa ngôn ngữ:

Trang 17

Trong ứng dụng có 3 ngôn ngữ là tiếng Việt, tiếng Nhật và tiếng Anh Tuỳ thuộc vào ngôn ngữ của điện thoại mà ứng dụng sẽ hiển thị ngôn ngữ phù hợp

đỡ lẫn nhau

Kết quả:

o Hoàn thành hầu hết những yêu cầu được đặt ra từ mentor

o Có tích hợp đa ngôn ngữ cái mà ứng dụng gốc không có

o Hiểu được cách thức làm việc của các member trong dự án

2 Giới thiệu về project ShimaumaPrint

Project trong giai đoạn fresher: ShimaumaPrint là ứng dụng cho phép người dùng sử dụng ảnh của bản chỉnh sửa và đặt mua ảnh theo nhu cầu, với các chức năng chính như 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ệ được sử dụng trong dự án:

o Sử dụng UIKit và RxSwift để thiết kế giao diện và 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ứ 3

o Sử dụng thư viện Alamofire để xử lý request, Firebase để quản lý báo cáo crash và log event, Kingfisher để thao tác với ảnh, Quick & Nimble để test…

Trang 18

o Sử dụng Realm làm Database

2.2 Các tính năng chính

Màn hình đăng nhập, đăng kí, chọn size giấy:

Ở màn hình này người dùng sẽ đăng nhập hoặc đăng kí tài khoản sau đó có thể bắt đầu chọn size giấy để tạo ảnh

Màn hình chọn ảnh, chỉnh sửa ảnh:

Ở màn hình này người dùng sẽ chọn những tấm ảnh đã có sẵn ở thư viện, tuỳ chỉnh chế độ in, khung ảnh và cắt ảnh tuỳ ý

Trang 19

Màn hình chọn bìa giấy, màn hình order:

Trang 20

Ở màn hình chọn bìa người dùng có thể chọn mẫu bìa giấy phù hợp tương ứng với giá tiền và có thể tuỳ chọn tính năng tối ưu màu sắc cho ảnh sau đó đi đến màn hình đặt hàng và tiến hành thanh toán

2.3 Thực hiện

Được thực hiện bởi các thành viên của team D2C cùng các 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 nay Nội dung: Tham gia trực tiếp vào dự án và làm task dưới sự hướng dẫn của mentor, tuân thủ kỷ luật, chủ động giao tiếp với các thành viên khác trong công việc, học hỏi và chia sẻ kiến thức với các thành viên khác, sửa lỗi hay tính năng theo yêu cầu của khách hàng và hiểu rõ quy trình làm việc

Kết quả:

o Hiểu rõ quy trình làm việc và giao tiếp với các thành viên khác

o Nắm chắc được công cụ và kiến thức sử dụng

o Hoàn thành tốt các công việc được giao

o Đọc hiểu các yêu cầu của khách hàng dễ dàng

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

w