Đề cương khóa học

Giới thiệu

Tuần 1: Tổng quan về Phát triển Di động

  • Hệ sinh thái và Nền tảng Di động
    • Tổng quan về hệ điều hành di động (iOS và Android)
    • Những khác biệt chính giữa iOS, Android và phát triển đa nền tảng
    • Các cửa hàng ứng dụng phổ biến (Apple App Store, Google Play Store)
    • Giới thiệu về phát triển bản địa, hybrid và đa nền tảng
  • Bản địa vs Hybrid vs Đa nền tảng
    • Lợi ích và thách thức của mỗi phương pháp phát triển
    • Tổng quan về Swift (cho iOS), Kotlin (cho Android) và React Native (đa nền tảng)
    • Cách mã nguồn chuyển đổi sang các nền tảng di động (JavaScript thành mã bản địa trong React Native)
  • Các nguyên tắc lập trình cơ bản
    • Giới thiệu về các khái niệm lập trình (biến, kiểu dữ liệu, hàm, luồng điều khiển)
    • So sánh cú pháp của Swift, Kotlin và JavaScript
    • Viết các chương trình đơn giản bằng Swift, Kotlin và JavaScript
  • Cài đặt Môi trường Phát triển
    • Cài đặt Xcode và Android Studio
    • Cài đặt React Native CLI và Expo
    • Chạy các ứng dụng "Hello World" cơ bản trên máy mô phỏng và máy ảo

Tuần 2: Giới thiệu về Swift, Kotlin và JavaScript

  • Lập trình Swift cho iOS
    • Biến, hằng số và kiểu dữ liệu trong Swift
    • Các câu lệnh điều khiển luồng (if, switch, vòng lặp)
    • Hàm và tham số trong Swift
    • Giới thiệu về giao diện Xcode và Swift Playgrounds
  • Lập trình Kotlin cho Android
    • Biến, kiểu dữ liệu và hàm trong Kotlin
    • Tìm hiểu tính an toàn null của Kotlin
    • Các câu lệnh điều khiển luồng và cấu trúc vòng lặp
    • Giới thiệu về giao diện Android Studio và Kotlin Playground
  • JavaScript cho React Native
    • Biến, hằng số và câu lệnh điều khiển luồng trong JavaScript
    • Tính năng ES6: hàm mũi tên, chuỗi mẫu và giải cấu trúc
    • Viết và chạy các chương trình JavaScript cơ bản trong React Native bằng Expo

Tuần 3: Thiết kế Giao diện Người dùng iOS

  • Các phần tử giao diện trong iOS
    • Giới thiệu về UIKit và SwiftUI
    • Thêm và tùy chỉnh các phần tử giao diện như nút, nhãn, trường nhập liệu
    • Sử dụng Interface Builder để thiết kế giao diện
    • Làm việc với Storyboards và thiết kế giao diện đa màn hình
  • Bố cục tự động và ràng buộc
    • Tìm hiểu hệ thống Auto Layout
    • Sử dụng ràng buộc cho bố cục linh hoạt trên các kích thước màn hình khác nhau
    • Tạo stack views và điều chỉnh động các phần tử giao diện
  • Cơ bản của SwiftUI
    • Giới thiệu về thiết kế giao diện khai báo trong SwiftUI
    • Xây dựng các thành phần giao diện đơn giản bằng SwiftUI

Tuần 4: Thiết kế Giao diện Người dùng Android

  • Bố cục XML trong Android
    • Giới thiệu về thiết kế bố cục dựa trên XML
    • Làm việc với các bố cục thông dụng: LinearLayout, RelativeLayout, ConstraintLayout
    • Thêm và tùy chỉnh các phần tử giao diện: nút, text views, image views
    • Sử dụng ConstraintLayout cho bố cục linh hoạt và động
  • Thiết kế Material
    • Tích hợp nguyên tắc thiết kế Material (màu sắc, biểu tượng, kiểu chữ)
    • Sử dụng các thành phần Material (nút, nút hành động nổi, thẻ)
    • Triển khai chủ đề và kiểu dáng cho ứng dụng Android

Tuần 5: Thiết kế Giao diện Người dùng React Native

  • Bố cục Flexbox trong React Native
    • Tìm hiểu về Flexbox cho thiết kế bố cục linh hoạt
    • Tạo các bố cục dựa trên cột và hàng
    • Định dạng các thành phần giao diện bằng các thuộc tính Flexbox (justifyContent, alignItems, etc.)
  • Các thành phần React Native
    • Làm việc với các thành phần cơ bản như Text, View, TextInput, và Button
    • Tạo các phần tử giao diện tương tác như biểu mẫu và nút
    • Sử dụng thành phần ScrollView cho nội dung động

Tuần 6: Xử lý Dữ liệu trong iOS và Android

  • Xử lý dữ liệu trong iOS
    • Sử dụng UserDefaults để lưu trữ dữ liệu đơn giản
    • Giới thiệu về Core Data để lưu trữ dữ liệu phức tạp tại địa phương
    • Lấy dữ liệu từ API bằng URLSession
    • Phân tích dữ liệu JSON và hiển thị trên giao diện người dùng
  • Xử lý dữ liệu trong Android
    • Sử dụng SharedPreferences để lưu trữ lượng nhỏ dữ liệu
    • Giới thiệu về SQLite và Room Persistence Library để quản lý cơ sở dữ liệu
    • Lấy dữ liệu từ API bằng Retrofit
    • Phân tích JSON và xử lý phản hồi API

Tuần 7: Quản lý Trạng thái và API trong React Native

  • Trạng thái và Props trong React Native
    • Quản lý luồng dữ liệu trong các thành phần React Native
    • Sử dụng hook useState để quản lý trạng thái thành phần tại địa phương
    • Chuyển dữ liệu giữa các thành phần cha và con qua props
  • Lấy dữ liệu trong React Native
    • Sử dụng Fetch API và Axios để thực hiện yêu cầu HTTP
    • Hiển thị dữ liệu đã lấy trong danh sách (sử dụng FlatList, SectionList)
    • Lưu trữ dữ liệu tại địa phương bằng AsyncStorage trong React Native

Tuần 8: Điều hướng trong iOS và Android

  • Điều hướng trong iOS
    • Giới thiệu về điều khiển viên điều hướng và quản lý nhiều màn hình
    • Sử dụng segues để chuyển đổi giữa các view controller
    • Chuyển dữ liệu giữa các view controller
    • Triển khai TabBar và NavigationBar cho điều hướng có cấu trúc
  • Điều hướng trong Android
    • Làm việc với Activities và Intents cho ứng dụng đa màn hình
    • Chuyển dữ liệu giữa các Activities bằng Bundles
    • Tạo Navigation Drawer và BottomNavigationView
    • Triển khai fragments cho điều hướng giao diện người dùng linh hoạt

Tuần 9: Điều hướng trong React Native

  • Cơ bản của React Navigation
    • Cài đặt và thiết lập React Navigation
    • Sử dụng Stack Navigator cho chuyển đổi màn hình
    • Triển khai Tab Navigator và Drawer Navigator cho điều hướng phức tạp
    • Chuyển tham số giữa các màn hình và quản lý trạng thái điều hướng

Tuần 10: Các tính năng Nâng cao

  • Các tính năng nâng cao của iOS:
    • Vị trí và bản đồ
      • Truy cập vị trí thiết bị bằng Core Location
      • Hiển thị bản đồ bằng MapKit
      • Xử lý định vị địa lý và theo dõi vị trí người dùng
    • Máy ảnh và phương tiện
      • Truy cập máy ảnh và thư viện ảnh thiết bị
      • Chụp và hiển thị hình ảnh bằng UIImagePickerController
      • Lưu trữ và truy xuất các tệp phương tiện
  • Các tính năng nâng cao của Android
    • Vị trí và bản đồ
      • Sử dụng API Google Maps để hiển thị bản đồ và vị trí người dùng
      • Truy cập dữ liệu GPS và xử lý định vị địa lý
    • Máy ảnh và phương tiện
      • Sử dụng CameraX để chụp hình và xử lý quyền máy ảnh
      • Hiển thị hình ảnh và xử lý lưu trữ phương tiện
  • Các tính năng nâng cao của React Native
    • Bản đồ React Native
      • Tích hợp bản đồ bằng react-native-maps
      • Xử lý các dịch vụ dựa trên vị trí (định vị địa lý, lập bản đồ tuyến đường)
    • Truy cập máy ảnh và phương tiện
      • Sử dụng thư viện React Native Camera để chụp hình
      • Truy cập lưu trữ phương tiện thiết bị và xử lý tệp

Tuần 11: Gỡ lỗi và Kiểm thử

  • Gỡ lỗi và kiểm thử iOS
    • Sử dụng bộ gỡ lỗi Xcode
      • Đặt điểm dừng và kiểm tra biến trong Xcode
      • Sử dụng bảng điều khiển để gỡ lỗi thời gian thực
      • Các vấn đề gỡ lỗi phổ biến và cách giải quyết chúng
    • Kiểm thử đơn vị trong iOS
      • Viết và chạy kiểm thử đơn vị bằng XCTest framework
      • Tạo đối tượng giả và kiểm thử các thành phần giao diện người dùng
  • Gỡ lỗi và kiểm thử Android
    • Sử dụng Logcat trong Android Studio
      • Ghi log và phân tích lỗi bằng Logcat
      • Gỡ lỗi ứng dụng Android bằng điểm dừng
    • Kiểm thử đơn vị trong Android
      • Viết kiểm thử đơn vị bằng JUnit
      • Kiểm thử các thành phần giao diện người dùng Android bằng Espresso
  • Gỡ lỗi và kiểm thử React Native
    • Các công cụ gỡ lỗi React Native
      • Sử dụng Chrome DevTools và React Native Debugger cho gỡ lỗi thời gian thực
      • Ghi log bảng điều khiển và kiểm tra yêu cầu mạng
    • Kiểm thử đơn vị trong React Native
      • Viết kiểm thử đơn vị bằng Jest và Enzyme
      • Kiểm thử các thành phần React Native và quản lý các trường hợp kiểm thử

Tuần 12: Triển khai ứng dụng và Dự án Cuối khóa

  • Triển khai và Phân phối
    • Nộp ứng dụng lên App Store (iOS)
      • Chuẩn bị ứng dụng để phân phối (biểu tượng, chứng chỉ, hồ sơ cung cấp)
      • Sử dụng App Store Connect để nộp ứng dụng để xem xét
      • Sử dụng TestFlight cho thử nghiệm beta
    • Nộp ứng dụng lên Play Store (Android)
      • Chuẩn bị APK và ký ứng dụng để phân phối
      • Sử dụng Google Play Console để nộp ứng dụng và theo dõi
      • Tìm hiểu chính sách và hướng dẫn của Play Store
  • Phát triển Dự án Cuối khóa
    • Phát triển dự án cuối khóa
      • Xây dựng một ứng dụng đầy đủ chức năng theo lựa chọn của bạn
      • Tích hợp các tính năng nâng cao như gọi API, điều hướng, phương tiện và vị trí
      • Trình bày và giới thiệu ứng dụng cuối khóa cho bạn học cùng lớp và giáo viên

Tóm tắt và Bước tiếp theo

Yêu cầu

  • Nắm vững các khái niệm lập trình cơ bản
  • Có kiến thức cơ bản về JavaScript

Đối Tượng Học Viên

  • Nhà phát triển ứng dụng di động
  • Lập trình viên
 420 Giờ học

Số người tham gia


Giá cho mỗi người tham gia

Đánh giá (5)

Các khóa học sắp tới

Các danh mục liên quan