Ưu điểm của Cross platform:
- Hiệu năng ở mức chấp nhận được
- Tốc độ phát triển ứng dụng rất nhanh, với 1 codebase bạn có thể
build 1 ứng dụng chạy được trên cả Android/iOS => toàn bộ quá
trình phát triển, cập nhật, bảo trì được speed up chỉ với số
lượng lập trình viên bằng 1 nửa.
Nhược điểm của Cross platform:
- Vấn đề về hiệu năng với các ứng dụng đòi hỏi logic phức tạp,
can thiệp sâu hoặc điều khiển hardware của hệ thống.
- Tốc độ update với các công nghệ, SDK của các platform thường
chậm hơn so với Native.
- Bug khó xử lý hơn do framework đã che bớt
20 trang |
Chia sẻ: thanhle95 | Lượt xem: 582 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Bài giảng Lập trình di động đa nền tảng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Lập trình di động đa nền
tảng (React Native, Flutter)
Công việc, cơ hội việc làm, lộ trình học...
Nội dung chính ● Lập trình app mobile đa nền tảng là gì? Ưu nhược điểm của
đa nền tảng so với native?
● Thị trường ra sao, lương thế
nào?
● Những kỹ năng cần có, các công
nghệ cần học.
● Lộ trình học cơ bản. Học bao
lâu thì đi làm?
● Một số kinh nghiệm học và làm
mobile nói chung và mobile đa
nền tảng nói riêng.
Lập trình di động
đa nền tảng?
Đa nền tảng là 2 nền tảng
- Phát triển 1 ứng dụng di động
duy nhất có thể chạy trên cả
Android và iOS
- React Native - phát triển bởi
Facebook, sử dụng JavaScript +
React
- Flutter - Phát triển bởi
Google, sử dụng ngôn ngữ Dart
- Rất nhiều frameworks khác như
Xamarin, Ionic, PhoneGap...
Ưu điểm của Cross platform:
- Hiệu năng ở mức chấp nhận được
- Tốc độ phát triển ứng dụng rất nhanh, với 1 codebase bạn có thể
build 1 ứng dụng chạy được trên cả Android/iOS => toàn bộ quá
trình phát triển, cập nhật, bảo trì được speed up chỉ với số
lượng lập trình viên bằng 1 nửa.
Nhược điểm của Cross platform:
- Vấn đề về hiệu năng với các ứng dụng đòi hỏi logic phức tạp,
can thiệp sâu hoặc điều khiển hardware của hệ thống.
- Tốc độ update với các công nghệ, SDK của các platform thường
chậm hơn so với Native.
- Bug khó xử lý hơn do framework đã che bớt
Rất nhiều ứng dụng được viết bằng
Cross-platform framework
Lương nhiêu?
- Mới vào ngành (fresher): lương 7 – 8tr
- Mới có kinh nghiệm (junior): 8tr – 10tr
- Nhiều kinh nghiệm (senior): 12tr – 5000$
- BRSE (kỹ sư cầu nối): lương cao, từ 15tr -
vài ngàn $
- Senior/Manager: >= 20tr
Kĩ năng
cần có
Lập trình cơ bản
● Kiến thức lập trình cơ bản (biến, hàm, câu lệnh
điều kiện, vòng lặp, OOP v.v.)
● Tư duy lập trình, giải quyết bài toán
● Sử dụng IDE lập trình; Git / Subversion
● Debug, test, làm việc nhóm v.v.
Thông thạo ít nhất một
framework đa nền tảng
(cơ bản)
● React Native: JavaScript
(hoặc Typescript), Visual
Studio Code.
● Flutter: Dart, Android
Studio (hoặc Visual Studio)
● Debug, Analytics, Log
● Lập trình app làm việc với
các thành phần mobile cơ
bản: Camera, photo, sound,
video, backend, database,
notification v.v. build ra
máy Android, iOS
Kiến thức về Mobile
native (Android, iOS),
TESTING, architecture,
OPTIMIZE
(NÂNG CAO)
● Vẫn cần kết hợp làm việc với
lập trình mobile native
(Android Java (Kotlin), iOS
Swift)
● Animation/Gesture, Hardware
● Testing: Manual /Automation,
unit test
● Optimize code, chạy tốt trên
nhiều hệ điều hành / nhiều
loại thiết bị mobile
● App/Component Architecture
● Build/publish app ra bản
Android, iOS
- Windows: Lap xịn xịn (RAM 8GB trở lên, Ổ
SSD) để cài Android studio (Flutter) hoặc
Visual studio code (React Native), chạy máy
ảo
- Mac: Sử dụng máy mac (RAM 8G trở lên, Ổ
SSD) ĐỂ có thể debug và build bản release cho
cả ios, ANDROID
Lộ trình học
Ra sao?
Lộ trình React
native
● Lập trình JavaScript, React native
cơ bản
● Component, styles – Xây dựng giao
diện ứng dụng
● Sử dụng, quản lý props, state, hook
● Navigation giữa các màn hình sử dụng
React Navigation
● Lưu trữ dữ liệu local với Async
Storage
● Redux, Redux thunk, Redux Saga
● Native modules
● Tích hợp Web Service: HTTP/Socket
● Đóng gói và publish app lên
AppStore/Google Play Store
Lộ trình Flutter
● Lập trình Dart, Flutter cơ bản
● Common UI Widget: Cheat sheet,
Container, Table, Image, Stack –
Xây dựng giao diện ứng dụng
● Di chuyển & truyền dữ liệu giữa
các màn hình
● Lập trình Thread: Future, Stream
● Lưu trữ dữ liệu local với Sqlite
● Tích hợp với Web Service:
HTTP/Socket
● BloC pattern, provider
● Đóng gói và publish app lên
AppStore/Google Play Store
Học bao lâu
đi làm được?
● Nhập môn lập trình: 2 - 6 tháng
● Lập trình mobile React Native / Flutter
cơ bản: 2 ~ 3 tháng
● Thực tập: 1~3 tháng
● Tùy ngộ tính: Nhanh thì 4 tháng, chậm
thì 1 năm
Một số lời khuyên
- Học tiếng Anh cho tốt.
- Cố gắng tự học, tự làm app demo, tự
tìm hiểu và giải quyết vấn đề.
- Học / tìm hiểu thêm cả lập trình
mobile native Android, iOS vì nhiều
khi cần kết hợp.
- Đi học khoá học / thực tập, tự
build app bỏ vào CV, đăng app store
- Đọc kỹ tài liệu của React Native /
Flutter. Cập nhật công nghệ khi có
công nghệ, version mới.
Chương trình học
của codefresher.vn (hà nội)
Lập trình Mobile
React Native /
Flutter Cơ bản
Dành cho: SV CNTT hoặc
người ngành khác đã biết
chút ít về lập trình trở
lên (đã học qua ít nhất
1 NNLT). Nếu chưa biết
gì về lập trình thì bạn
có thể đăng ký học
module cơ bản trước.
Mục tiêu: rút ngắn chi
phí và thời gian học,
giúp học viên nhanh
chóng nắm được nền tảng
công nghệ React Native /
Flutter bằng phương pháp
thực hành hiệu quả, liên
tục.
Lộ trình: HV học khoá
React Native / Flutter
cơ bản trong khoảng 2 -
3 tháng, build app thực
tế ra máy Android, iOS
(có cả lớp offline và
lớp online cho HV ở xa)
Đội ngũ GV là Senior
Mobile Developer của
Trung tâm có phương pháp
đào tạo đặc biệt, giúp
người mới học nhanh
chóng có được kĩ năng cơ
bản để vào nghề Mobile
Developer.
Tư vấn, hỏi đáp
fb.com/CodeFresherVN