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

LẬP TRÌNH ỨNG DỤNG DI ĐỘNG iOS (BÁO CÁO THỰC TẬP DOANH NGHIỆP)

15 1 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

Định dạng
Số trang 15
Dung lượng 1,05 MB

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

Nội dung

Từ lâu, trong quá trình học tập tại trường, em đã định hướng bản thân trở thành một lập trình viên Ứng dụng di động chuyên nghiệp nên em đã tìm tòi về các công nghệ di động, các ngôn ngữ

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

-š›&š› -

BÁO CÁO THỰC TẬP DOANH NGHIỆP

LẬP TRÌNH ỨNG DỤNG DI ĐỘNG iOS

Nơi thực tập: Công ty Cổ phần Công Nghệ Fractal Sinh viên thực hiện: Nguyễn Thành Long

Mã số sinh viên: 18520092

Trang 2

MỤC LỤC

LỜI MỞ ĐẦU 2

LỜI CẢM ƠN 3

NHẬN XÉT CỦA KHOA 4

CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG TY THỰC TẬP 5

1 GIỚI THIỆU VỀ CÔNG TY FRACTAL: 5

2 NHỮNG SẢN PHẨM CỦA CÔNG TY: 5

CHƯƠNG 2: NỘI DUNG THỰC TẬP 6

1 TÌM HIỂU VỀ CÔNG TY VÀ KỸ NĂNG CƠ BẢN TRONG CÔNG TY 6

2 NGHIÊN CỨU KỸ THUẬT: 6

3 LỊCH LÀM VIỆC 8

CHƯƠNG 3: CHI TIẾT VỀ PROJECT 12

1 GIỚI THIỆU VỀ ỨNG DỤNG 12

2 HÌNH ẢNH CỦA ỨNG DỤNG 12

3 NHỮNG NGƯỜI THỰC HIỆN DỰ ÁN: 12

4 TRÁCH NHIỆM DỰ ÁN 13

5 KẾT QUẢ ĐẠT ĐƯỢC KHI THỰC HIỆN DỰ ÁN 13

CHƯƠNG 4: TỔNG KẾT 14

1 NHẬN XÉT ĐÁNH GIÁ VỀ CÔNG TY 14

2 KINH NGHIỆM ĐẠT ĐƯỢC 14

CHƯƠNG 5: TÀI LIỆU THAM KHẢO 14

Trang 3

LỜI MỞ ĐẦU

Ngày nay, ngành công nghiệp mobile 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 dụng mobile đã 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

Với sự phát triển nhanh chóng của các thiết bị di động kéo theo sự gia tăng của thị phần ứng dụng mobile Hiện nay các ứng dụng mobile là một phần không thể thiếu trên chiếc smartphone của mỗi chúng ta

Từ lâu, trong quá trình học tập tại trường, em đã định hướng bản thân trở thành một lập trình viên Ứng dụng di động chuyên nghiệp nên em đã tìm tòi về các công nghệ di động, các ngôn ngữ và đăng ký các môn chuyên ngành lập trình ứng dụng di động

Sau quá trình tự học và làm đồ án, em cảm thấy bản thân đã sẵn sàng để xin thực tập để có thể học hỏi, tiếp thu nhiều kiến thức hơn trong ngành này Do đó em

đã đăng ký môn thực tập và bắt đầu tìm kiếm công việc Rất may mắn cộng với những nỗ lực, em đã trúng tuyển vào Công ty Cổ phần Công Nghệ Fractal

Trang 4

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty Cổ phần Công Nghệ Fractal đã 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 trainer, em đã tiếp thu được những kiến thức quan trọng để có thể làm được một ứng dụng di động nền tảng iOS Chân thành cảm ơn các anh chị trong nhóm trainer đã

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 Đạt – Leader Team Mobile, anh Long – Senior iOS Developer, đã training iOS cho em, 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ũng như hướng dẫn các quy trình làm việc trong cuộc sống thực tế là như thế nào

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

Trang 5

NHẬN XÉT CỦA KHOA

Trang 6

Chương 1: Giới thiệu về Công ty thực tập

1 Giới thiệu về Công ty Fractal:

Được thành lập từ tháng 7 năm 2017, Fractal là công ty phần mềm chuyên cung cấp các dịch vụ phát triển ứng dụng bán hàng và tiếp thị Các dịch vụ này được phát triển dành riêng cho đặc thù doanh nghiệp trong việc thu thập và phân tích dữ liệu khách hàng

Trong thời gian vừa qua, Fractal luôn nỗ lực hết sức để trở thành một trong những cái tên nổi bật và đáng tin cậy trong cộng đồng công ty công nghệ tại Việt Nam Đáp ứng nhu cầu của khách hàng cũng chính là mục tiêu kinh doanh mà Fractal hướng tới

2 Những sản phẩm của Công ty:

Fractal đã có cơ hội hợp tác với đa số các công ty nổi tiếng trong ngành: FMCG, Dược phẩm, Giao thông vận tải, Bán lẻ & Thương mại điện tử Chúng tôi tập trung vào các dịch vụ cung cấp giải pháp DMS, Outsourcing – Digital

Production và Loyalty System

2.1 DMS:

DMS là một giải pháp toàn diện để quản lý hệ thống phân phối trực tuyến - Một hình thức rất phổ biến trong các mô hình sản xuất: Nhà sản xuất - Nhà phân phối - Đại lý - bán lẻ

2.2 Outsourcing, Digital Production:

Với dịch vụ Outsourcing, Digital Production, Fractal tự hào có thể

cung cấp cho khách hàng những dịch vụ được thiết kế theo tiêu chuẩn riêng của từng mô hình doanh nghiệp Bằng việc theo sát những mô

hình sẵn có, Giải pháp Ouutsourcing đảm bảo chất lượng sản phẩm

Trang 7

đầu ra - không bị ảnh hưởng bởi giá cả cạnh tranh và các giải pháp hiệu quả về chi phí

2.3 Loyalty System:

Xây dựng sự gắn kết và lòng trung thành của khách hàng Loyalty System là một nền tảng được xây dựng nhằm phát triển và nuôi dưỡng

mối quan hệ với nhóm khách hàng đã sử dụng dịch vụ Hệ thống này cho phép tiếp cận khách hàng bằng chiến lược đa kênh, khuyến khích lòng trung thành bằng các hình thức tặng thưởng và dự đoán các hành vi mua hàng trong tương lai

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

Đợt thực tập với 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 các phần mềm nghiệp vụ bằng các công nghệ đặc thù, đồ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 phần mềm chuyên nghiệp

1 Tìm hiểu về công ty và 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 Fractal, 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 cụ làm việc & Cơ bản về Swift

Thời gian: 2 tuần

Trang 8

- Skype: để liên lạc giữa các thành viên

- Jira: quản lý dự án

- Git để quản lý mã nguồn

- Xcode

- Cơ bản về ngôn ngữ Swift

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 được về quy trình làm việc và các công cụ dùng trong quy trình

2.2 Các thư viện UIKit của Swift

Thời gian: 1 tuần

Nội dung: Tìm hiểu về các thư viện có trong UIKit

Tìm hiểu các thư viên cơ bản thiết kế giao diện như Storyboard, Xib Cũng như các thư viện phổ biến như UIView, UIViewController, UIButton, UILabel,

UITableview, …

Thực hiện: Thực hành tìm hiểu cách sử dụng các thư viện trên

Kết quả: Hiểu được các áp dụng của các thư viện này trong dự án

2.3 Cách xử lý Auto Layout, Animation, Gesture:

Thời gian: 1 tuần

Nội dung: Tìm hiểu các nội dung về UI như Auto Layout các thành phần UIKit

trong iPhone & iPad, cơ bản về các Animation, Gesture như: Long press, Double Tap,

Thực hiện: Đọc tài liệu và viết các chương trình demo cơ bản

Kết quả: Hiểu được cơ chế hoạt động của Auto Layout và Animation cơ bản

2.4 Các Service của hệ thống: Cocoapods, Libs & RestAPI

Thời gian: 1 tuần

Nội dung: Tìm hiểu cơ bản về Cocoapods, các loại thư viện hay được áp dụng

Cũng như tìm hiểu về RestAPI Và tìm hiểu về Local Data

Thực hiện: Đọc tài liệu và viết các chương trình demo cơ bản

Kết quả:

- Vận dụng được CocoaPods để tiến hành tích hợp các thư viện biên ngoài

- Áp dụng được các thư viện phổ biến như: Firebase, Google Maps

- Các loại lưu trữ ở trong máy local như: User Default, Core Data

2.5 Coding Convention & Distribute App

Thời gian: 1 tuần

Nội dung: Tìm hiểu các chuẩn Coding Convention của Swift Học được cách

Distribute App lên Appstore & TestFlight

Trang 9

Kết quả:

- Hiểu được các quy chuẩn code chung của Swift

- Biết cách Distribute App lên Testflight

2.6 Design Pattern & Architecture

Thời gian: 1 tuần

Nội dung: Tìm hiểu các mô hình kiến trúc MVC, MVP & Viper

Thực hiện: Đọc tài liệu và viết các chương trình demo cơ bản

Kết quả:

- Vận dụng được các mô hình MVC và MVP trong dự án

- Đặc biệt là biết được mô hình Clean Architecture của iOS Swift là Viper

3 Lịch làm việc

Khi bắt đầu thực tập, công ty và các anh training đã gửi em một bảng kế hoạch thực tập sẵn để em thực hiện như sau:

Tuần 1: Giới thiệu và làm quen với Xcode & Swift (Part 1)

Tìm hiểu về

Swift, làm quen

với xCode &

macOS

Cách khai báo biến: let & var Điều kiện rẽ nhánh: if else,

guard else, switch case

Vòng lặp: For, while

Sử dụng Break

& Continue

Array: một chiều

và đa chiều Thao tác với Array: thêm, xóa, sửa, truy xuất

Cấu trúc của một

ứng dụng iOS

bằng xCode &

quy trình thiết kế

Kiểu dữ liệu cơ bản & các hàm

xử lý: Int, Double, String,

Kiểu dữ liệu optional, phân biệt và sử dụng ?

Và ! Khi unwrap

Kiểu dữ liệu hỗn hợp: Tuples

Các hàm xử lý nâng cao của mảng: filtter, map, reduce, flatmap

Viết ứng dụng

đầu tiên, build

máy thật & máy

ảo

Toán tử số học:

+, -, *, /, %

Trang 10

Vòng đời của

app

Toán tử so sánh:

>, <, =>, =<, ==,

!=, ===, !==

Tuần 2: Giới thiệu và làm quen với Xcode & Swift (Part 2)

Dictionary: cách

thao tác(thêm,

xóa, sửa, truy

xuất) & khai báo

Ex Hàm: cách khai

báo, dữ liệu vào

& dữ liệu ra

Struct, Class, Num: Sử dụng, phân biệt & so sách

Protocol: Cách khai báo và sử dụng

Quan hệ của

dictionary với

cấu trúc JSON

Closure: cách khai báo, dữ liệu vào & dữ liệu ra

So sách

Dictionary vs

Array

Tuần 3: UIKit và các thành phần cơ bản

Thiết kế giao diện với

storyboard, xib

UILabel, UIButton, UITextField, UIImageVie

w, WKWebVie

w

UITableView

&

UITableViewC ell

UICollectionView

&

UICollectionViewC ell

UIScrollVie

w, UISlider, UIStackVie

w

Trang 11

UIViewController &

UIView: vòng đời,

các thuộc tính &

phương thức

Các thuộc tính của đối tượng: màu, font, text, bắt

sự kiện,

Các phương thức của tableView, thêm, xóa, sửa

Các phương thức của collectionView, thêm, xóa, sửa

Bắt giá trị, thay đổi thuộc tính,

UITabbarController,

UINavigationControll

er: Cách chuyển màn

hình, set root

Custom cell, bắt gía trị cho từng cell

Custom cell, bắt giá trị cho từng cell

So sánh tableView

vs collectionView

Tuần 4: Auto Layout, Animation, Gesture

Gesture: Tap, Long

Press, shake,

Auto layout các thành phần của UIKit trên cả iPhone &

iPad (SizeClass)

Ex Animation: tạo các

animation cho view

CoreGraphics:

Vẽ Line, path,

Tuần 5: Các Service của hệ thống, Local Data, CocoaPods – 3RD Libs & RestAPI

Location service,

Camera, Push local

notification

CoreData, UserDefaults vs KeychainAccess

Tìm hiểu về CocoaPods, GoogleMap, Firebase - PushNotification

SwiftAsync: Đa luồng, Alamofire, Mapping json to ObjectMapper, Codable with

Ex

Trang 12

Tuần 6: Media, Coding Convention & Distribute App

Coding convention:

Link

Đọc & ghi

dữ liệu lên

bộ nhớ thiết

bị

Truy cập, thêm, xóa, sửa: Danh

bạ, hình ảnh, thư mục,

Ex

How to Distribute App

Tuần 7: Design Pattern & Software Architecture

Tìm hiểu & so sánh

về MVC vs MVP

Viết demo về

mô hình MVC &

MVP

Tìm hiểu về Viper Viết demo về Viper

Ex

Tuần 8: Ứng dụng

Tham gia dự án &

release app Testflight

& adhoc

Ex

Trang 13

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

1 Giới thiệu về ứng dụng

Khatoco SupApp là một ứng dụng được sử dụng nội bộ của Công ty sản xuất thuốc lá Khatoco Ứng dụng được các nhân viên tiếp thị của công ty để báo cáo các thông tin về mua bán các sản phẩm thuốc lá về tổng bộ, cũng như cập nhật các thông số của thị trường và báo cáo về KPI của những nhân viên tiếp thị đó

2 Hình ảnh của ứng dụng

3 Những người thực hiện dự án:

Trang 14

4 Trách nhiệm dự án

- Công việc: Đã được các anh tạo cơ hội để thực hiện tính năng trong dự án KPI Nhà Phân phối

- Nội dung công việc:

• Xây dựng giao diện (UI) theo design có sẵn

• Thực hiện tích hợp API để lấy thông tin và hiển thị thông tin tương ứng

5 Kết quả đạt được khi thực hiện dự án

- Đã hoàn thành được UI theo như yêu cầu

- Vận dụng RestAPI để tích hợp API lấy thông tin

- Vận dụng mô hình Viper để thực hiện dự án

- Hình ảnh về chức năng thực hiện:

Trang 15

Chương 4: Tổng kết

1 Nhận xét đánh giá về công ty

Công ty Cổ phần Công Nghệ Fractal chuyên gia công các phần mềm và giải pháp cho các doanh nghiệp Mặc dù là một công ty quy mô khá nhỏ (khoảng hơn

30 người) nhưng môi trường làm việc và học tập rất là năng động Mọi người trong công ty đều cố gắng giúp đỡ nhau để công ty ngày một phát triển cũng như cố gắng

để các dự án hoàn thành tốt nhất có thể

2 Kinh nghiệm đạt được

Qua 2 tháng thực tập tôi đã nắm được các kiến thức cơ bản và một số kiến thức nâng cao của lập trìnhviên iOS Làm việc trong môi trường thực tế tôi đã hiểu được các quy trình để phát triển một phần mềm được sử dụng thực tế là như thế nào

Được các anh chị training nhiệt tình, tôi đã cảm thấy tự tin hơn trên con đường làm việc của mình Cũng như giúp tôi phát triển hơn các kĩ năng khác như làm việc nhóm, quản lý thời gian cũng như sự chú trọng về chất lượng đầu ra của sản phẩm

Chương 5: Tài liệu tham khảo

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w