Tải bản đầy đủ (.doc) (21 trang)

Báo cáo thực tập lập trình ứng dụng trên IOS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (781.14 KB, 21 trang )

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ỹ


2

TP. Hồ Chí Minh, tháng 1 năm 2021

Nguyễn Việt Mỹ


3

LỜI MỞ ĐẦU


Ngày nay, lập trình ứng dụng iOS là một bộ phận không thể thiếu của ngành công nghiệp
phần mềm nói chung và cơng nghiệp ứng dụng di động nói riêng. Với tốc độ phát triển vơ cùng
mạnh mẽ, công nghiệp ứ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.
Chuyên mơn lập trình ứng dụng iOS được sinh ra là do nhu cầu đáp ứng thị trường, một
ứng dụng được sinh ra phải đáp ứng được trên cả 2 nền tảng Android và iOS. Và cũng chính
người lập trình iOS sẽ là nguồn nhân lực quan trọng cho việc phát triển của lập trì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 chun nghiệp, em có dự định là sẽ thực
tập trong hè. Vì vậy, em quyết định chọn gumiVietnam - một môi trường thân thiện, lý tưởng,
chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định này.

Nguyễn Việt Mỹ


4

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ó 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 mentor, nhóm
thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được những ứng
dụng iOS tuyệt vời. Chân thành cảm ơn các anh chị trong nhóm mentor đã bỏ ra 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 này.
Đặ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 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 anh Nguyễn Nhất Nguyên tạo điều khiện training 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.
Nguyễn Việt Mỹ
TpHCM, ngày 4 tháng 1 năm 2021

Nguyễn Việt Mỹ


5

Nguyễn Việt Mỹ


6

NHẬN XÉT CỦA KHOA

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Nguyễn Việt Mỹ


7

MỤC LỤC

MỤC LỤC.......................................................................................................................... 7
Chương 1: Giới thiệu công ty thực tập..........................................................................8
Giới thiệu về công ty Gumi Viet Nam.....................................................................8
Sản phẩm của cơng ty..............................................................................................8
Chương 2: Nội dung thực tập.......................................................................................11
Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty..........................................11
Nghiên cứu kỹ thuật..............................................................................................11
Thực hiện project...................................................................................................13
Lịch làm việc.........................................................................................................13
Chương 3: Chi tiết về project.......................................................................................15
Giới thiệu về Project..............................................................................................15
Thực hiện..............................................................................................................18
Kế hoạch...............................................................................................................19
TÀI LIỆU THAM KHẢO..............................................................................................20
TỔNG KẾT....................................................................................................................21


Nguyễn Việt Mỹ


8

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

1. Giới thiệu công ty gumiViet
Công ty cổ phần gumi Việt Nam là cơng ty CNTT có vốn đầu tư 100% đến từ
Nhật Bản chuyên về phát triển website và các ứng dụng dành cho smart phone. Được
thành lập từ năm 2012 tại 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 của khách hàng. Các sản phẩm, dịch vụ được tạo ra trên nền 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
của các tổ chức và doanh nghiệp trong việc cung cấp các 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 quả.

Nguyễn Việt Mỹ


9

• Sứ mệnh: Trong suốt q 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 phon cách làm việc
chun nghiệp, ln đảm bảo tính chính xác, kịp thời của dự án. Ngoài ra gumi
Việt Nam tiên phon trong các xu hướng cơng nghệ mới góp phần vào sự nghiệp
cơng nghiệp hóa, hiện đại hóa đất nước trong bối cảnh hội nhập kinh tế Thế giới.
- Số năm kinh nghiệm trong lĩnh vực bán hàng dịch vụ: 8 năm
- Chính sách chất lượng


Ln cung cấp những sản phẩm dịch vụ tốt nhất, đảm bảo thi công đúng tiến độ,

chất lượng, hiệu quả, an toàn như đã thỏa thuận với khách hàng.
• Khơng ngừng cải tiến về mọi mặt để đạt được sự hoàn hảo về sản phẩm và dịch
vụ cung cấp, về mối quan hệ với khách hàng và khả năng 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 và công nghệ thi công hiện đại; nghiên cứu và ứng dụng các phương thức
quản lý hiệu quả, chuyên nghiệp, tiên tiến nhất nhằm đáp ứng tối đa yêu cầu của
Khách hàng, Đối tác.

2. Tổ chức và các lĩnh vực hoạt động của 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 các sản phẩm, dịch vụ được tạo ra trên nền tảng VR/AR
3. Cơ cấu tổ chức của gumi Việt Nam
Gumi Việt Nam là sự kết hợp giữa sức trẻ, tri thức và đội ngũ các nhà quản lý
đầy kinh nghiệm, gumi gồm nhiều kỹ sư tin học được đào tạo bài bản từ các trường
Đại học danh tiếng về Cơng nghệ thơng tin hiện nay, 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:
• CEO : Harada Shogo
• General Manager : Phạm Q Tồn
• CTO : Nguyễn Sỹ Đăng

Nguyễn Việt Mỹ


10

- Các bộ 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 được đào tạo toàn diện về lập trình trên thiết bị iOS, đồ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.
Là thành viên của team iOS trong Công ty cổ phần gumiVietnam sẽ có cơ hội được học
tập trau dồi các kiến thức về lĩnh vực lập trình app trên nền tảng mobile, được tiếp cận
với các nền tảng công nghệ mới khác nhau, được tăng khả năng tìm kiếm và đọc hiểu tài
liệu tiếng Anh…

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, q 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 .
Ngồ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 gumiViet, q 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 cụ 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, mentor đã 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ư Xcode –
IDE chính để lập trình ứng dụng iOS, Terminal để sử dụng git, SourceTree để sử
dụng git với GUI
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.

Nguyễn Việt Mỹ


12

2.2.

Kết quả : Lập trình sử dụng các cơng cụ miễn phí, giúp dễ dàng kết hợp các cơng cụ
với nhau, so với việc dung các IDE.
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 Swift cơ bản và nâng cao, những kiến thức
quan trọng cho việc tối ưu trên iOS.
- 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.
- Optional :
Swift là một trong những ngơn ngữ an tồn nhất trong lập trình. Nắm được khái
niệm về optional, cách unwrap optional sẽ giúp người lập trình tối ưu hóa được
đặc tính an tồn của ngơn ngữ Swift.
- 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 game 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ả :
-

2.3.

Nâng cao kỹ năng lập trình với ngơn ngữ C++.
Có được những kiến thức quan trọng cho việc lập trình game mobile sau này.
Ngồ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.

Lập trình ứng dụng iOS với Swift
Nội dung: Cách sử dụng Xcode, kiến thức cơ bản về UIKit, áp dụng các thư viện bên
thứ 3 với CocoaPods để có thể làm ra một ứng dụng đơn giản.
-

Cách sử dụng Xcode:
Nắm được layout của Xcode IDE, giúp người lập trình có thể thao tác nhanh trên
Xcode, từ đó có thể làm việc nhanh hơn

-

Kiến thức cơ bản về UIKit:

Nguyễn Việt Mỹ


13


UIKit và SwiftUI là 2 thư viện chính để lập trình giao diện iOS, tuy nhiên SwiftUI
vẫn chưa thịnh hành, cịn đang trong giai đoạn phát triển nên rất ít dự án thực tế
liên quan đến SwiftUI.
Nắm được kiến thức về UIKit giúp người lập trình hiểu về các thành phần giao
diện, cấu tạo cơ bản của một màn hình trong ứng dụng.
-

Thư viện bên thứ 3 với CocoaPods:
Tương tự với npm đối với nodejs, cocoapods là bên quản lý các thư viện sử dụng
bởi các lập trình viên iOS.

Thực hiện :
-

Tham gia đầy đủ các buổi trainning.
Làm các bài tập thực hành như làm lại các màn hình có sẵn, thêm những logic
phức tạp, …
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 giao diện với UIKit, nắm được
các sử dụng Xcode một cách hiệu quả, cách sử dụng CocoaPods.
Đã làm được một số màn hình có độ phức tạp cao, thêm được các thư viện bên
ngoài (Firebase, GoogleMaps, Alamofire) vào trong ứng dụng demo.

3. Thực hiện project
Sau 3 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ề Swift, UIKit, iOS. Sau tháng thứ 3, thực tập sinh đã được đưa lên tham gia thực

hiện dự án thực tế.
Chi tiết đồ án sẽ được nói ở phần sau.
4. Lịch làm việc

Tuần
1

Cơng việc
-

Người hướng dẫn

Mức
độ
hồn
thành

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

Tìm hiểu về công ty, Chị Nguyễn Yến
cách tổ chức của
Nhi
công ty.

Nguyễn Việt Mỹ


14


-

2

3

4 => 8

Làm quen với các
công cụ làm việc
trong 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 về
Xcode, UIKit
- Thực hành một số
ứng dụng cơ bản
- Tìm hiểu về iOS
- Thực hành một số
màn hình giao diện
phức tạp.
-

8 => 12

12 => 18


18 =>
Hiện tại

Ứ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 những task
đơn giản để học
việc.
- Release ứng dụng
lên App Store.
Giao đoạn 2:
- Thêm chức năng
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 về project

1. Giới thiệu về project
Ứng dụng Zooo Pay được đầu tư đến hiện tại đã hơn 2 tỷ đồng của 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 1 năm. Ứng dụng kết nối
giữa người dùng và các dịch vụ.
1.1.

Công nghệ
Ứng dụng Zooo Pay được share mã giảm giá, xử dụng thư viện UIKit và swift
làm giao diện, Firebase và mysql làm backend. Ứng dụng được xây dựng theo
mơ hình MVVM một dạng nâng cấp của MVC. Đồng thời sử dụng Localized làm
quản lý ngôn ngữ, sử dụng 2 ngơn ngữ chính là tiếng anh và tiếng nhật.

1.2.


Tính năng chính
Zooo Pay là một ứng dụng chia sẻ các mã chia sẻ giữa người dùng với nhau và
khách hàng phải checkin để có được các coupon point, từ đó có thể đổi điểm và
mã giảm giá.
Đăng kí đăng nhập: App xử cho phép tạo tài khoản bằng nhiều loại khác nhau, xử
dụng firebase Author để xử lý tài khoản, các tài khoản được liên kết với nhau,
một Mail chỉ có thể tạo một tài khoản dù đăng kí đăng nhập bằng mạng xã hội
nào.

Nguyễn Việt Mỹ


16

Chúng ta sẽ có danh sách các coupon được sử dụng, coupon này chứa các thông
tin cửa hàng địa chỉ, bạn có thể save coupon để xử dụng hoặc có thể Gift coupon
cho các tài khoản khác, tài khoản bạn bè của bạn.

Nguyễn Việt Mỹ


17

Coupon point có nhiều cách để nhận bạn có thể checkin để nhận, App cho phép 2 hình
thức check in quét mã QR và Connect wifi để nhận diện checkin, hoặc ngồi ra có thể
nhập code để nhận coupon.

Nguyễn Việt Mỹ



18

Sau khi có đủ sound point, tài khoản có thể đổi điểm lấy các coupon mã
Màng hình home sẽ hiện thông tin của tài khoản, coupon nhận coupon gift hay lịch sử dử
dụng các coupon đều được lưu lại một cách đầy đủ.
App xử dụng 2 ngôn ngữ English và Japan nên sẽ chia là 2 vùng, từ việc quản lý các
coupon theo từng vùng và số điện thoại hay thơng tin, ngơn ngữ đều phải có một luồng
xử lý một cách ổn định.
ơ

2. Thực hiện
Các thành viên của team thực hiện 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à hơn 10 thành viên khác ở các mảng Comtor, Front-end, Back-end, cùng thực hiện.

3. Kế hoạch
Giai đoạn 1:
-

Hoàn thành thiết kế ban đầu
Các chức năng liên quan đến xác thực: đăng nhập, đăng ký
Chức năng gửi coupon, nhận coupon
Chức năng checkin bằng 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 và Apple App Store

Kết quả :
-

Ứng dụng đã được App Store đồng ý sau 2 lần chỉnh sửa và resubmit.
Các chức năng đã hồn thiện
Khơng có feedback xấu từ khách hàng

Giai đoạn 2:
-

Chức năng SNS Linking

-


Chức năng đổi mật khẩu

-

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 quả : Đã hồn thành tồn bộ những tính năng trên, tiến hành giai đoạn 3.

Nguyễn Việt Mỹ


20

TÀI LIỆU THAM KHẢO

Swift


UIKit
/>iOS
/> />
Nguyễn Việt Mỹ


21


TỔNG KẾT
Qua q trình thực tập thực tế tại Cơng ty cổ phần gumiVietnam em đã tích lũy cho bản
thân nhiều kinh nghiệm, kỹ năng và cũng cố được kiến thức đã học, nhận thấy đây là cơ hội, là
bước đệm cho con đường phía trước.
Em được trực tiếp làm việc với đội ngũ các anh chị trong công ty nhiệt tình, chịu khó
trong cơng việc. Được đào tạo với đúng chuyên ngành, được thực hiện các công việc dưới sự
chỉ dẫn của anh hướng dẫn; được trực tiếp tham gia, tích lũy kiến thức, kinh nghiệm cho bản
thân.

Nguyễn Việt Mỹ



×