Tải bản đầy đủ (.docx) (17 trang)

báo cáo thực tập lập trình ứng dụng di đông với XAMARIN FORMS

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 (199.77 KB, 17 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
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 DOANH NGHIỆP

LẬP TRÌNH ỨNG DỤNG DI ĐỘNG
VỚI XAMARIN.FORMS

Cơng ty thực tập

: People Link JSC

Người phụ trách

: Trần Quốc Hưởng

Thực tập sinh

: Nguyễn Viết Hưng

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


LỜI MỞ ĐẦU
Ngày nay, ngành cơng nghiệp Lập trình ứng dụng di độ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 Lập trình ứng dụng di động non trẻ Việt Nam đã và đang phát triển mạnh mẽ, để hòa
nhập với những cơng ty hàng đầu về Lập trình ứng dụng di động trên thế giới.
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 ứng dụng di động trong một mơi trường doanh nghiệp, em có dự định
là sẽ thực tập trong học kì này. Bản thân em sau một thời gian chuẩn bị kiến thức và ứng tuyển,
đã nhận được cơ hội làm việc tại công ty People Link JSC. Đây là cơng ty có mơi trường
chuyên nghiệp, hiện đại, phù hợp cho em trau dồi kiến thức, kinh nghiệm và phát triển các kĩ
năng của bản thân.

2
2


LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty People Link JSC đã 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, 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 phần của dự
án. 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 Trần Quốc Hưởng, đã training về Hệ thống của công ty, 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 Lục Nguyễn Hoài Bắc, đã training Xamarin.Forms,
hỗ trợ chúng em rất nhiều về các vấn đề kỹ thuật trong quá trình làm project; cảm ơn anh Trần
Quốc Hưởng, đã chỉ dẫn chúng 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ó thể làm ra một sản phẩm trong thời gian qua.
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 Hưng

TpHCM, ngày 05 tháng 04 năm 2020

3
3


NHẬN XÉT CỦA KHOA
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

4
4



MỤC LỤC

5
5


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

1. Giới thiệu công ty People link Việt Nam

Được thành lập năm 2001, People Link JSC là đơn vị tiên phong cung cấp các giải
pháp nhân sự độc đáo như tuyển dụng, thuê ngồi, biên chế, đào tạo và tăng tính gắn
kết của nhân viên đối với nhãn hàng,....
Những giải pháp công ty cung cấp những giải pháp phù hợp với thị trường và ln
quan tâm đến khía cạnh văn hóa của vùng. Đảm bảo chúng hoạt động tốt và phù hợp
tại thị trường Việt Nam.
Sứ mệnh: Trở thành đối tác đáng tin cậy trong thời gian dài
Tầm nhìn: Mang lại thành cơng cho khách hàng của chúng tơi bằng cách chăm sóc
và mang lại kết quả tích cực trong bất kỳ đổi mới nào.
Giá trị: Chia sẻ niềm vui thành công cùng nhau song hành như một đối tác đáng tin
cậy với khách hàng và dịch vụ chất lượng tuyệt vời.
2. Sản phẩm của công ty

People link cung cấp các giải pháp phần mềm quản lý nhân sự độc đáo như tuyển
dụng, th ngồi, biên chế, đào tạo và tăng tính gắn kết của nhân viên đối với nhãn
hang. Ngồi ra cơng ty đã phát triển hệ thống quản lý PLS System để nhân viên
trong công ty và các doanh nghiệp khách hang có thể quản lý nhân sự nhân sự 1 cách
tối ưu nhất nhằm giải quyết những khó khan về nghiệp vụ và tốc độ báo cáo, tính
trung thực, tính thực thi, đáp ứng nhanh cho việc đưa ra quyết định , giải quyết các
vấn đề ngoài thị trường


6
6


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 di động với Xamarin.Forms” nhằm mục
đích giúp sinh viên thực tập được đào tạo tồn diện về lập trình ứng dụng di động, đồ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 chun
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 : 2 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 People link, 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

2.2.


Thời gian : 1 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ư
Tortoise SVN - sử dụng trong làm việc nhóm, Microsoft Visual Studio - một mơi
trường phát triển tích hợp (IDE) từ Microsoft, Notepad ++ - một chương trình soạn
thảo văn bản rất hữu ích và phổ biến với lập trình viê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ả : 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.
Tìm hiểu ngơn ngữ C# nâng cao
Thời gian : 1 ngày
Nội dung : Được training về các kỹ thuật C# nâng cao, những kiến thức quan trọng
cho việc thiết kế web API.
- 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. Ngồi ra, thực tập sinh
cịn được hướng dẫn về cách thiết kế lớp cho các thực thể trong database.
7
7


Interface :
Một interface được hiểu như là 1 khuôn mẫu mà mọi lớp thực thi nó đều phải tuân
theo. Interface sẽ định nghĩa phần “làm gì” (khai báo) và những lớp thực thi
interface này sẽ định nghĩa phần “làm như thế nào” (định nghĩa nội dung) tương
ứng.
- LINQ
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 web 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.

ASP.NET MVC
Thời gian : 1 tuần
Nội dung: Các kiến thức về lập trình web bằng ASP.NET MVC để có thể áp dụng vào
project của cơng ty
-

Khái niệm cơ bản về ASP.NET MVC.
Năm được các khái niệm về mơ hình MVC, MVC là cụm từ viết tắt của ModelView-Controller, nó phân chia pattern của ứng dụng thành 3 phần - model,
controller và view

-



Model giúp lưu trữ dữ liệu của ứng dụng và trạng thái của nó. Nó là một cơ sở
dữ liệu hoặc cũng có thể chỉ là một tập tin XML.




View được coi là một giao diện người dùng được sử dụng bởi khách truy cập
trang web của bạn để nhìn thấy các dữ liệu. Các trang ASPX thường được sử
dụng để hiển thị view trong các ứng dụng ASP.NET MVC.



Controller chịu trách nhiệm xử lý các tương tác của người dùng với trang web.
Nó được sử dụng để xác định loại view nào cần phải được hiển thị. Controller
cũng được sử dụng cho mục đích giao tiếp với model.

Repository Pattern:
8
8


Repository là một lớp trung gian giữa hai tầng này. Trong project sử dụng Entity
Framework với ASP.NET MVC thì Data chính là tầng chứa các lớp dbContext và
class enttiy. Cịn business logic chính là tầng xử lý nghiệp vụ của dự án.
Repository hầu hết được sử dụng những chỗ cần điều chỉnh dữ liệu trước khi
truyền xuống tầng data hoặc truyền lên trên business logic.
-

Generic Repository Pattern
Trong các trường hợp khác, dự án lại đòi hỏi một cách tốt nhất để tạo ra tất cả các
repository logic ở cùng một nơi. Chúng ta cần tạo 1 và chỉ 1 repository cho việc
thao tác với toàn bộ các class entity. Vậy để giải quyết điều này chúng ta phải sử
dụng Generic Repository Pattern.


-

Unit Of Work trong Repository Pattern
Unit Of Work được sử dụng để đảm bảo nhiều hành động như insert, update,
delete...được thực thi trong cùng một transaction thống nhất. Nói đơn giản hơn,
nghĩa là khi một hành động của người dùng tác động vào hệ thống, tất cả các hành
động như insert, update, delete...phải thực hiện xong thì mới gọi là một
transaction thành cơng. Gói tất cả các hành động đơn lẻ vào một transaction để
đảm bảo tính tồn vẹn dữ liệu.

-

RESTFUL API


API (Application Programming Interface) là một tập các quy tắc và cơ chế mà
theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay
thành phần khác. API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình
ở những kiểu dữ liệu phổ biến như JSON hay XML.



REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ
liệu, một kiểu kiến trúc để viết API. Nó sử dụng phương thức HTTP đơn giản
để tạo cho giao tiếp giữa các máy. Vì vậy, thay vì sử dụng một URL cho việc
xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET,
POST, DELETE, vv đến một URL để xử lý dữ liệu.




RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng
dụng web để quản lý các resource. RESTful là một trong những kiểu thiết kế
API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…)
khác nhau giao tiếp với nhau.

9
9


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ư viết được api them xóa sửa 1 bảng bất kỳ trong
database, …
Tìm kiếm tài liệu trên mạng để tìm hiểu thêm.

Kết quả :
2.4.

Hiểu được những khái niệm trong lập trình web với ASP.NET MVC .
Đã viết được api cơ bản theo cấu trúc project của công ty.

Xamarin.Forms
Thời gian: 2 tuần
Nội dung : Các kĩ thuật cơ bản để lập trình ứng dụng di động cho người dùng.
-

Xamarin.Forms là gì:
Xamarin là hãng phần mềm lập trình di động viết trên ngôn ngũ C# với hơn 500

ngàn nhân lực đang sử dụng để viết các ứng dụng chạy trên Mac, Android và đến
tháng 11/2013 Microsoft đã mua lại và tích hợp chạy trên mơi trường Windows 8.
Cơng cụ Xamarin được Microsoft giới thiệu vào thị trường Việt Nam vào
18/04/2014 trong cho cộng đồng các giảng viên các trường CĐ,ĐH tại TPHCM và
được chuyển giao các tài liệu ,bản quyền với giá ưu đãi cho các sinh viên trên nền
Microsoft Visual Studio và được chuyên gia Microsoft demo lập trình Xamarin để
app chạy trên mơi trường iOS,Android,Windows Phone và Windows 8.1 với các
Tools khác nhau
10
10


Xamarin Forms là cơng cụ hữu ích có thể giúp bạn giảm thiểu được thời gian
cũng như chi phí để build app trên Android và iOS từ Visula Studio

-

MVVM Pattern (Model – View - ViewModel):
Đa số các ứng dụng thuộc bất kì nền tảng nào cũng có thể chia thành hai phần:
giao diện (View) và dữ liệu (Model). Vì việc tách riêng các phần này, cần phải có
một phần trung gian nào đó nối kết hai phần này lại, và chúng tạo nên một mơ
hình MVVM.


View: Tương tự như trong mơ hình MVC, View là phần giao diện của ứng
dụng để hiển thị dữ liệu và nhận tương tác của người dùng. Một điểm khác
biệt so với các ứng dụng truyền thống là View trong mơ hình này tích cực hơn.
Nó có khả năng thực hiện các hành vi và phản hồi lại người dùng thơng qua
tính năng binding, command.




Model: Cũng tương tự như trong mơ hình MVC. Model là các đối tượng giúp
truy xuất và thao tác trên dữ liệu thực sự.



ViewModel: Lớp trung gian giữa View và Model. ViewModel có thể được
xem là thành phần thay thế cho Controller trong mơ hình MVC. Nó chứa các
mã lệnh cần thiết để thực hiện data binding, command.

Thực hiện :
-

Tham gia đầy đủ các buổi training.
Tạo ra ứng dụng cơ bản.

Kết quả:
11
11


-

Đã có thể tạo ra các chức năng cơ bản của 1 ứng dụng đơn giản theo mơ hình MVVM với
dữ liệu được gán cứng.
Kiến trúc Microservices
Nội dung : Các kiến thức cơ bản về kiến trúc Microservices.
- Thực tế có nhiều định nghĩa khác nhau đối với Microservices nhưng hiểu theo
cách đơn giản thì, microservice là một kiếu kiến trúc phần mềm. Các module

trong phần mềm này được chia thành các service rất nhỏ (microservice). Mỗi
service sẽ được đặt trên một server riêng -> dễ dàng để nâng cấp và scale ứng
dụng.
- Thay vì gom tất cả module thành một khối (monolith), ta tách các module thành
những service siêu nhỏ. Mỗi service sẽ được đặt trên một server riêng (Có thể
dùng server cloud như AWS hoặc Azure), giao tiếp với nhau thông qua mạng (Gửi
nhận message qua giao thức HTTP hoặc sử dụng MessageQueue)...
2.5

3. Thực hiện project

Sau hai tuần đượ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ề ASP.NET MVC, Bootstrap 3, JQuery. Trong tháng thứ hai, trainer đã hướng dẫn
thực tập sinh áp dụng những kiến thức đã học để thực hiện dự án là module online
training trong dự án PL Systems.
Chi tiết đồ án sẽ được nói ở phần sau.

4.

Lịch làm việc
Tuần

Công việc

Người hướng
dẫn

Mức
độ


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

12
12


hồn
thành
- Tìm hiểu về cơng Anh Trần Quốc Hồn
ty, cách tổ chức của Hưởng
thành
công ty.
- Làm quen với các
1
công cụ làm việc
trong công ty.
- Học cách trao đổi,
mắc.
làm việc qua email.
- Tìm hiểu ngơn ngữ Anh Trần Quốc Hồn
lập trình C# nâng Hưởng, Anh Lục thành
cao
Nguyễn Hoài Bắc
- Thực hành C#
- Tìm
hiểu
về
ASP.NET MVC
- Thực hành một số

2,3,4
API cơ bản
- Tìm
hiểu
về
Xamarin.Forms
- Viết thử giao diện
cơ bản
- Tìm hiểu về kiến
trúc Microservices
- Quy trình phát triển Anh Trần Quốc Hồn
phần
mềm
và Hưởng
thành
3
Business
của
project
Giai đoạn alpha
Anh Trần Quốc Hoàn
- Lên kế hoạch
Hưởng, anh Lục thành
- Tìm hiểu nghiệp vụ Nguyễn Hồi Bắc
chung
4,5,6,7
- Viết các api cơ bản
có thể tái sử dụng
- Code giao diện các
màn hình ứng dụng

8,9,10,11,12 Giai đoạn beta
Hồn
- Hồn thiện các api
thành
được giao
- Hoàn thiện các giao
diện được giao
- Kết nối api với ứng
dụng, hiển thị dữ
liệu lên màn hình

Thích nghi nhanh
với mơi trường mới
của cơng ty, tích
cực trong việc hỏi
đáp các vấn đề cịn
trở ngại
Có khả năng tự
nghiên cứu kiến
thức với keyword
được cho.

Hiểu được cơ bản
business của
project.
Có khả năng ứng
dựng kiến thức đã
được train vào
cơng việc. Vẫn
cịn

hạn chế về chất
lượng code.
Có khả năng ứng
dựng kiến thức đã
được train vào
cơng việc. Vẫn
cịn
hạn chế về chất
lượng code.
Kỹ năng thuyết

13
13


-

Test và fix bug
Thuyết trình về sản
phẩm

trình cịn chưa tốt
lắm

Chương 3: Chi tiết về project
1. Giới thiệu về dự án

Online training là 1 module của dự People link systems (PL Systems ) bao gồm web-app
dành cho Trainer, quản lý việc training nhân viên của công ty bằng cách tạo các khóa
học để nhân viên có thể học trên mobile app và mobile app dành cho học viên, học viên

sẽ sử dụng mobile app để học và test online. Trong quá trình thực tập, em chỉ đảm
nhiệm 1 nhỏ của mobile app (ứng dụng di động dành cho học viên sử dụng để học
online).
1.1.

1.2.

Ý tưởng
People link systems là 1 platform quản lý của công ty Peoplelink JSC, bao gồm
nhiều module: Headcount request, online training, KPI, sale out, sale in, perfect
store, online recruitment, GPS tracking, payroll.
Online training là 1 module trong PL Systems, Học viên sẽ sử dụng tài khoản và
mật khẩu tương ứng của mình để đăng nhập vào ứng dụng, xem các khóa học bắt
buộc phải học, các khóa học khác (học viên có thể đăng ký để học thêm), xem
biểu đồ tổng quát, thực hiện kiểm tra.
Các tính năng chính
Vì đây là ứng dụng nội bộ của cơng ty People link JSC nên em khơng thể trình
bày chi tiết các tính năng được, nên chỉ khái quát một số tính năng mà em đã
được tham gia phát triển như:

-

Trang tổng quan, hiện thị biểu đồ hiển thị tiến trình học của các học viên với
Xamarin

-

Hiển thị các khóa học (course), các bài học (lecture) liên quan điến khóa học mà
Trainer tạo với Xamarin


-

Hiển thị các bài kiểm tra (test) liên quan sau mỗi bài học (lecture) mà Trainer tạo.

-

Các học viên trao đổi thắc mắc qua tính năng Hỏi Đáp

2. Thực hiện

Sinh viên : Nguyễn Viết Hưng
Và sự giúp đỡ tận tình của anh Bắc và anh Hưởng .
3. Kế hoạch
14
14


Giai đoạn Alpha:
-

Lên kế hoạch
Tìm hiểu nghiệp vụ chung
Viết các services cơ bản có thể tái sử dụng
Code giao diện các màn hình ứng dụng

Kết quả :
-

Hầu hết các tính năng trên đã được thực hiện


Giai đoạn Beta:
-

Hoàn thiện các api được giao
Hoàn thiện các giao diện được giao
Kết nối api và đưa dữ liệu lên màn hình
Test và fix bug

-

Thuyết trình về sản phẩm .

Kết quả : Đã hồn thành tồn bộ những tính năng trên, nhưng giao diện chưa được bắt
mắt.

15
15


TÀI LIỆU THAM KHẢO

/> />
16
16


TỔNG KẾT

Như vậy, trong vịng ba tháng ngắn ngủi, nhóm đã kịp hoàn thành một phần của module
online training. Module đã có khá đầy đủ các tính năng cơ bản mà bộ phân training nhân viên

của công ty đề ra. Do thời gian có hạn nên tính năng cịn đơn giản, hình ảnh chưa được đẹp như
mong đợi. Nhưng do ứng dụng phát triển theo framework có tính kế thừa nên sau này khi có
thời gian sẽ có thể phát triển lên mức cao hơn.
Chân thành cảm ơn sự giúp đỡ của các anh trong team IT của công ty. Cảm ơn anh Trần
Quốc Hưởng đã giúp em hoàn thành bài báo cáo này.

17
17



×