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

Báo cáo thực tập lập trình đa nền tảng thiết bị di động

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 (3.31 MB, 24 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 ĐA NỀN TẢNG TRÊN THIẾT BỊ
DI ĐỘNG

Công ty thực tập

: TNHH BAP VENTURES

Người phụ trách

: Nguyễn Tuấn Sơn

Thực tập sinh

: Nguyễn Lê Chấn Nam

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


LỜI MỞ ĐẦU
Ngày nay, những ngành nghề liên quan tới công nghệ thông tin ngày càng phát
triển mạng mẽ để bắt kịp với xu hướng chung. Trong đó, Lập trình đa nền tảng trên thiết
bị di động đang trở nên phổ biến.
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 lập trình trên thiết bị 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ề ứng dụng trên thế giới. Bên cạnh những công ty
trẻ tuổi trong nước, những công ty lớn trên thế giới cũng gia nhập vào thị trường Việt


Nam, góp phần rất lớn vào sự phát triển tích cực của ngành di động Việt Nam.
Ngành lập trình trên thiết bị di động được sinh ra là do nhu cầu giải trí của giới trẻ
bằng những thiết bị cơng nghệ mới nhất. Và cũng chính 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 sau này. Vì lý do này, em quyết định chọn lập
trình đa nền tảng trên thiết bị di động 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 các ứng dụng di động 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 Công ty
TNHH BAP VENTURES - một môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ
giúp em thực hiện được dự định này.


LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty TNHH BAP VENTURES Việt Nam đã 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 một ứng dụng di động. 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 hồn thành đợt thực tập này.
Đặc biệt cảm ơn anh Nguyễn Tuấn Sơn đã training React Native + Javascript,
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, đã 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ũ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.
Em xin chân thành cảm ơn !
Nguyễn Lê Chấn Nam
Thành phố Hồ Chí Minh, 27 tháng 7 năm 2020



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


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

Giới thiệu công ty TNHH BAP AVENTURES.............................................................................................6

2.

Sản phẩm của công ty............................................................................................................................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.
2.2.
2.3.

3.

Các công cụ làm việc....................................................................................................................................... 8
Tìm hiểu Framework React Naitve + Javascript nâng cao..............................................................................9
Lập trình ứng dụng di động đa nền tảng với React Naitve...........................................................................10

Thực hiện project................................................................................................................................11

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

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

2.

Thách thức..........................................................................................................................................12


3.

Giao diện chính của ứng dụng.............................................................................................................13

4.

Thực hiện............................................................................................................................................22

5.

Kết qủa................................................................................................................................................22

TÀI LIỆU THAM KHẢO................................................................................................................23
TỔNG KẾT..................................................................................................................................................24


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

1. Giới thiệu công ty TNHH BAP AVENTURES
BAP AVENTURES được thành lập năm 2016 tại Nhật bản, là công ty
OutSourcing. Sau bốn năm thành lập, đến nay BAP đã khẳng định được vị thế là một
trong những công ty dẫn đầu trong lĩnh vực phát triển phần mềm, tư vấn công nghệ,
đầu tư cơng nghệ.
BAP có một văn phịng đặt tại Nhật bản, 3 văn phịng tại Việt Nam gồm có: Huế,
Đà Nẵng, Hồ Chí Minh và có hệ thống nhân viên với hơn 244 nhân viên.

2. Sản phẩm của công ty


BAP làm đa nền tảng các cơng nghệ hiện có trong ngành công nghệ thông tin hiện

nay:
Về lĩnh vực AI: Smart OCR, SmartFashion, Smart E-learning, Keiba, Smart
Anime.
Các sản phẩm từ công ty BAP: Tube maze, 2048 color 3D, Pitch the Disc, Happy
scratch, Bomber man 3D, Print shop 3D, Locksmith 3D, Chocolate maker 3D,…
Ứng dụng thực tế về chứng khoán và giao dịch tiền tệ: BAP Coin, BTC giao dịch,
Smart Trading, Trình quản lý tài sản tiền tệ, Giao dịch tiền điện tử, Smart funding,…


Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình đa nền tảng trên thiết bị di động” 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 ứng dụng di độ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 .
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 BAP VENTURES, 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
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, anh đã 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, Git – công cụ quản lý source
code trực quan với nhiều tính năng, Visual Studio Code - 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, so với việc dung các IDE.
2.2.

Tìm hiểu Framework React Naitve + Javascript nâng cao
Thời gian : 5 ngày (1 tuần)


Nội dung : Được training về các kỹ thuật React Native + Javascript nâng cao,
những kiến thức quan trọng cho việc tối ưu trên ứng dụng di động.
- Work flow:
Flow của ứng dụng di động là một phần quan trọng trong lập trình, vì người
dùng cần phải được sử dụng một ứng dụng với hiệu năng tốt nhất, ứng dụng
được chạy trơn tru, không bị crash hay gây ra lỗi khi sử dụng.
- React navigation :
Là một phần quản lý các màn hình được sử dụng nhiều nhất khi lập trình đa
nền tảng trên thiết bị di động khi sử dụng framework React Native, tạo ra
liên kết của các màn hình với nhau trong ứng dụng sao cho liền mạch nhất
và khơng bị lỗi khi navigate các màn hình với nhau trong ứng dụng.
- React Hook :
Viết tất cả các component, chức năng của ứng dụng hồn tồn bằng
function, khơng dùng class component, tạo ra việc dễ dàng quản lý các
thành phần chức năng trong ứng dụng, viết service một cách nhanh hơn, xử

lý về bất đồng bộ trong ứng dụng nhanh chóng.
- Redux hoặc Mobx:
Là phần dùng để quản lý các state của app. Giúp cho chúng ta có thể quản lý
ứng dụng tốt nhất, các state chung của toàn ứng dụng sẽ được xứ lý bằng
một trong hai package trên.
- Javascript:
Học cách xử lý bất đồng bộ, những kiến thức cơ bản của javascipt, cách tạo
biến, mảng, state,…
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 Framework React Naitve + Javascript.
- Có được những kiến thức quan trọng cho việc lập trình đa nền tảng trên ứ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 di động đa nền tảng với React Naitve


Nội dung: Các kiến thức cơ bản về React Native để có thể làm ra một ứng dụng
di động.
- Khái niệm cơ bản về React Native.
Nắm được khái niệm cơ bản của React native, là một framework cho các
ứng dụng di động. Được phát triển bởi Facebook. Nó được sử dụng để phát
triển ứng dụng di động trên đa nền tảng. Ngồi ra, các trainer cịn cung cấp
cho em những khái niệm cơ bản như cách tạo một function component, sử

dụng React Native CLI, cách xử lý các state nội bộ trong từng màng hình
thơng qua việc sử dụng React Hook,…
- Cách viết styles trong React Native
Nó khá là tương đồng với Css trong việc viết hiệu ứng hoặc giao diện cho
ứng dụng di động.
- Jquery
Học cách dùng jQuery: là một thư viện hết sức phổ biến mà đa số các lập
trình viên sử dụng vào để có thể xử lý trong các module dùng để gọi API
nhận hay truyển dữ liệu cho bên back-end, xử lý các thuộc tính đối tượng
trong từng màn hình của ứng dụng di động, xử lý các sự kiện của người
dùng.
- Một số các package hữu dụng
Được các anh trainer giới thiệu cho các package hỗ trợ cho việc lập trình UI
của ứng dụng, dùng package có thể tiết kiệm bớt đi thời gian lập trình cho
từng module cần thiết, vì là mã nguồn mở nên React Native có một lượng
Package khá là phong phú trên Github. Một số các package hữu ích và đã
được sử dụng trong ứng dụng khi thực tập: React-native-scrollable-tabsview, Styled-component, React-native-elements, React-navigation, Redux,
Redux-Thunk, Mobx
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ư vẽ những hình cơ bản, state management
trong ứng dụng di động.


- Tìm kiếm tài liệu trên mạng để tìm hiểu them, tìm hiểu về flow của ứng
dụng di đơng sao cho hoạt động trơn tru nhất.
Kết quả :
- Hiểu được những khái niệm cơ bản trong lập trình ứng dụng di động React
Native.
3. Thực hiện project

Sau một 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ề React Naitve, Javascript. 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 một ứng dụng thực tế
của cơng ty.
Chi tiết đồ án sẽ được nói ở phần sau.


Chương 3: Chi tiết về project
1. Giới thiệu về ứng dụng
SMART FASHION là Trên ứng dụng, người dùng có thể sử dụng
phòng thay đồ ảo để thử quần áo, và họ cũng có thể tự tạo phong
cách riêng từ tủ đồ của mình với chức năng phối đồ trên ứng dụng,
SMART Fashion sẽ chấm điểm các trang phục được tạo ra bởi người
dùng. Đây là một giải pháp để tiết kiệm thời gian và nâng cao trải
nghiệm khách hàng trên thương mại điện tử, hay các cửa hàng thời
trang. Công nghệ máy học đã góp phần trong việc phát triển ứng
dụng này, khi khách hàng có thể cảm nhận như thật với mỗi sản
phẩm quần áo. Đây có thể được xem như là một trong những ứng
dụng tốt nhất của đội ngũ BAP.
2. Thách thức
Con người hiện tại luôn bận rộn, họ đơi khi thậm chí khơng có thời gian để
mua sắm nhu yếu phẩm. Nói cách khác, các nhà bán lẻ thời trang đang đối
mặt với các giỏ hàng mua sắm trống không khi nhắc đến mua sắm online và
hàng đống món hàng đỏi trả do khơng đúng kích cỡ hay có vấn đề màu sắc.
Smart Fashion là ứng dụng sử dụng công nghệ AI mà BAP đã xây dụng để
giúp các nhà bán lẻ giải quyết vẫn đề trên với chức năng thử đồ ảo và tự
động phối đồ với quần áo có sẵn trong tủ đồ của người dùng.

3. Giao diện chính của ứng dụng



Phần giao diện đăng nhập và đăng kí

Phần welcome



Phần Forgot Password


Phần Event:

:



Phần QR:



Phần Product Information:


Phần Try on:

4. Thực hiện


2 thành viên của team React Native:
- Nguyễn Tuấn Sơn.

- Đỗ Văn Tuân.
- Và sự giúp đỡ tận tình của team trainer Bap.
5. Kết qủa
- Hầu hết các tính năng trên đã được thực hiện.
- Hỗ trợ thêm phần chức năng Events, News.
- Ứng dụng đã được ra mắt trên AppleStore và Chplay.


TÀI LIỆU THAM KHẢO
For React Native
/>
For React Navigation
/>For React Hook
/>
For Redux
/> />
For Mobx
/>For JSX
/>

TỔNG KẾT
Sau đợt thực tập khoảng hơn hai tháng tại cơng ty, em đã kịp hồn thành phần giao
diện cho ứng dụng Smart Fashion của công ty, chạy được trên đa nền tảng như: Ios,
Android, IpadOS. Ứng dụng Smart Fashion có các chức năng thay thử quần áo sử dụng
cơng nghệ AI do các Developer bên công ty phát triển, ứng dụng khi em hoàn thành thực
tập thêm được một số chức năng như phần News ( cập nhật thông tin, tin tức của cửa
hàng, hay một mặt hàng thời trang…), phần Event ( các sự kiện thời trang sắp xảy ra
hoặc đã xảy ra được cập nhật trên ứng dụng để người dùng có thể theo dõi và tham gia
các sự kiện).
Qua đó, em cũng xin chân thành cảm ơn sự giúp đỡ của các anh chị trong đội ngũ

trainer của cơng ty, đã giúp đỡ em hồn thành kì thực tập doanh nghiệp này một cách tốt
nhất và học hỏi được nhiều kinh nghiệm quý báu để sau này có thể áp dụng trong cơng
việc tương lai.



×