Lập trình

Học Lập Trình iOS: Từ Cơ Bản Đến Nâng Cao

Huy Erick

Viết ứng dụng cho iPhone, iPad (gọi chung là Lập trình iOS) đang là một trong những công việc "hot" nhất trên toàn cầu, đặc biệt là với các bạn trẻ giàu ý tưởng sáng...

Viết ứng dụng cho iPhone, iPad (gọi chung là Lập trình iOS) đang là một trong những công việc "hot" nhất trên toàn cầu, đặc biệt là với các bạn trẻ giàu ý tưởng sáng tạo.

Nắm bắt được xu thế đó, Trung Tâm Đào Tạo Tin Học Khoa Phạm kết hợp với ZendVN xin giới thiệu với các bạn khóa học online "TỰ HỌC LẬP TRÌNH iOS CƠ BẢN + NÂNG CAO". Khóa học này sẽ hướng dẫn từng bước giúp bạn nắm bắt được các kỹ thuật để viết ra một ứng dụng chạy trên iPhone, iPad. Đặc biệt, đây là khóa học đầu tiên tại Việt Nam mà học viên được học trên ngôn ngữ Swift, ngôn ngữ mới nhất mà Apple vừa cho ra đời.

Bạn không cần phải biết trước lập trình mới có thể học. Vì ngôn ngữ dành cho Apple là Swift (trước đây là Objective-C), không giống với bất kỳ ngôn ngữ lập trình nào trước đây. Trong khóa học, sẽ có hướng dẫn tất cả các bước lập trình cơ bản dành cho người mới bắt đầu.

Thông tin khóa học:

  • Biên tập giáo trình: Thầy Phạm Trường Đăng Khoa & Trung Tâm Đào Tạo Tin Học Khoa Phạm
  • Giảng viên hướng dẫn: Thầy Nguyễn Vũ Hoàng & Lê Quý Lâm
  • Hỗ trợ khóa học: Trung Tâm Đào Tạo Tin Học Khoa Phạm

Đặc biệt, sau khi hoàn tất hồ sơ và học phí, bạn có thể tham gia ngay vào khóa học. Hồ sơ nhập học chỉ cần thực hiện một lần duy nhất cho khóa học đầu tiên mà bạn tham gia ở ZendVN. Ở những khóa học kế tiếp, bạn chỉ cần chuyển học phí và có thể tham gia học ngay.

Những ưu điểm chỉ có tại Khóa học Lập trình iOS tại KhoaPham & ZendVn:

  1. Giảng viên khóa học này: Thầy Nguyễn Vũ Hoàng & Lê Quý Lâm, trước đây họ đã từng là những developer với hơn 3600 giờ kinh nghiệm lập trình iOS, với hàng trăm sản phẩm được publish trên AppStore.
  2. Nội dung học do chính giảng viên Phạm Trường Đăng Khoa biên soạn, người đã từng vinh dự được Apple cấp học bổng WWDC 2015 tại LA, Mỹ.
  3. Học viên được hỗ trợ trực tiếp ngay tại Trung Tâm Đào Tạo Tin Học Khoa Phạm và được ưu tiên tham dự những khóa học chuyên đề được tổ chức liên tục tại Trung Tâm.
  4. "Học là phải làm được": Khác với những Trung Tâm khác, những nội dung mà Khoa Phạm đào tạo ở đây sẽ bao gồm trọn bộ nhiều mảng khác nhau trong iOS, cụ thể là iOS App Platform, Lập trình Game, Lập trình Apple Watch, Lập trình NodeJS & SocketIO.

Mục tiêu khóa học:

  • Hoàn tất khóa học, học viên sẽ được trang bị kiến thức vững chắc để tự thiết kế ra một ứng dụng iOS và tự vận hành, kiếm tiền thông qua AppStore.
  • Hoàn toàn đủ khả năng để ứng tuyển vào các vị trí lập trình iOS tại các công ty trong và ngoài nước.
  • Nếu chăm chỉ rèn luyện, bạn sẽ đủ khả năng tự thành lập công ty hoặc nhóm chuyên nhận dự án iOS từ khách hàng.
  • Những công việc bạn có thể làm sau khi hoàn tất khóa học: phát triển ứng dụng iOS cho các công ty, xây dựng startup của riêng bạn, hoặc làm freelancer.

Một số bài học trích từ nội dung khóa học này:

Phần Cơ Bản:

Chương 1: Giới thiệu làm quen với môi trường lập trình iOS

  • Chuẩn bị môi trường Mac OS.
  • Cài đặt Xcode.
  • Tạo tài khoản Apple ID và đăng nhập vào Xcode.
  • Làm quen với Xcode và tạo ứng dụng đầu tiên.
  • Quy trình thiết kế một ứng dụng iOS.
  • Phân biệt giữa Outlet và Action.
  • Làm việc với máy ảo và cách Build trực tiếp ứng dụng lên iPhone mà không cần tài khoản 99USD.

Chương 2: Lập trình Swift

  • Làm quen với môi trường lập trình Play Ground.
  • Khởi tạo biến và hằng.
  • Kiểu dữ liệu.
  • Chuỗi và các hàm xử lí chuỗi.
  • Toán tử số học.
  • Câu lệnh điều kiện If Else & Switch.
  • Vòng lặp For , While.
  • Break và Continue.
  • Mảng và xử lí mảng.
  • Dictionaries.
  • Kiểu Optionals trong Swift.
  • Function.
  • Class và Methods.
  • Lập trình hướng đối tượng với Swift.

Chương 3: Làm việc với các đối tượng giao diện cơ bản trong iOS

  • UILabel: ứng dụng Hello World.
  • UIButton: tạo hành động với Button, custom UIButton: setImage, setTitle.
  • UITextField: bắt sự kiện khi chạm tay vào TextField, bắt sự kiện khi kết thúc nhập liệu.
  • UISwitch: bắt giá trị On/Off của Switch, tạo hành động với Switch, ứng dụng đổi màu nền Background.
  • UISlider: khởi tạo giá trị lớn nhất và nhỏ nhất cho Slider, bắt giá trị của Slider, gán giá trị cho Slider, kết hợp với NSTimer tạo diễn hoạt nhân vật hoạt hình.
  • UIImage hiển thị hình ảnh: lấy hình từ local của máy, lấy hình từ Internet.
  • Quản lý toạ độ và kích thước các đối tượng trên màn hình: khái niệm Bounds và Frame, hệ trục toạ độ của UIKit, quản lý toạ độ đối tượng (CGPoint), quản lý kích thước đối tượng (CGSize).
  • Tạo vòng lặp theo thời gian với NSTimer: cách cấu hình NSTimer, ứng dụng StopWatch, bài tập kết hợp NSTimer và UISlider.
  • Sử dụng đối tượng Segment Control.

Chương 4: UIAlertController

  • Hiện thông báo với AlertController.
  • Phát sinh hành động với AlertController.
  • ActionSheet trong AlertController.

Chương 5: UIWebView

  • Hiển thị một trang Web với WebView.
  • Hiển thị một đoạn html với WebView.
  • Tạo trình duyệt web đơn giản với WebView.

Chương 6: Đối tượng UIPickerView, UIDatePickerView

  • Khởi tạo và cấu hình cho UIPickerView.
  • Gán hình cho dòng trong PickerView.
  • Bắt giá trị của dòng được chọn.
  • Multi Component trong PickerView.
  • Cấu hình UIDatePickerView.

Chương 7: Quản lý tương tác vật lý từ người dùng đến thiết bị với GESTURE

  • Tap Gesture.
  • Long Press Gesture.
  • Rotation Gesture.
  • Pinch Gesture.
  • Swipe Gesture.
  • Pan Gesture.
  • Screen Egde Pan Gesture.
  • Shake Gesture.

Chương 8: UITableView

  • Cấu hình UITableView cơ bản.
  • Custom cell trong TableView.
  • Bắt giá trị từng dòng trong TableView.
  • Cấu hình TableView nhiều Sections.
  • Thêm hoặc xoá một dòng trong TableView.
  • Di chuyển một dòng trong TableView.
  • Sử dụng NavigationBar với TableView.
  • Tạo diễn hoạt Annimation cho Cell.

Chương 9: UIColectionView

  • Cấu hình UICollectionView.
  • Custom Item CollectionView.
  • Bắt giá trị từng dòng trong CollectionView.
  • Cấu hình CollectionView nhiều Sections.
  • Thêm hoặc xoá một dòng trong CollectionView.
  • Di chuyển một dòng trong CollectionView.
  • Tạo diễn hoạt Annimation cho Item.
  • Custom Navigation Controller.

Chương 10: Tạo ứng dụng nhiều màn hình

  • Ứng dụng nhiều tab màn hình với UITabar Controller.
  • Tạo SideMenu với TableView.
  • Điều hướng nhiều màn hình với UINavigation Controller.

Chương 11: Làm việc với âm thanh trong iOS với AVFoundation

  • Làm việc với các file Audio: mp3, wav, m4a... với thư viện AVFoundation.
  • a. Làm việc với AVAudioPlayer: Play nhạc local với AVAudioPlayer, Pause, Stop, Volume, Kết hợp với UISlider để bắt được thời lượng bài hát.
  • b. Play nhạc Online với AVPlayer: Play nhạc từ một đường link mp3, Pause, Stop, Volume, Lấy tổng thời lượng của bài nhạc Online, Lấy thời gian hiện tại của bài hát đang phát, Kết hợp Slider điều chỉnh thời gian phát, Play nhạc Online từ mp3.zing.vn & nhaccuatui.com.

Chương 12: Phát Video trong iOS với AVKit và AVFoundation

  • Video từ local.
  • Phát Video từ Internet.

Chương 13: Cơ sở dữ liệu CoreData của Apple

  • Giới thiệu cơ sở dữ liệu CoreData.
  • Tạo một cơ sở dữ liệu CoreData.
  • Truy xuất cơ sở dữ liệu CoreData.
  • Xử lí cơ sở dữ liệu: Thêm, xoá, sửa.

Chương 14: Cơ sở dữ liệu SQLite trong iOS

  • Giới thiệu cơ sở dữ liệu SQLite.
  • Tạo một cơ sở dữ liệu SQLite.
  • Truy xuất cơ sở dữ liệu SQLite.
  • Xử lí cơ sở dữ liệu: Thêm, xoá, sửa.

Phần Nâng Cao (Có Phí)

Chương 20: Ôn tập các đối tượng giao diện cơ bản & nâng cao

  • UILabel
  • UIButton: Tạo hành động với Button, custom UIButton: setImage, setTitle
  • UITextField: Bắt sự kiện khi chạm tay vào TextField, bắt sự kiện khi kết thúc nhập liệu
  • UISwitch: Bắt giá trị On/Off của Switch, tạo hành động với Switch
  • UISlider: Khởi tạo giá trị lớn nhất và nhỏ nhất cho Slider, lấy giá trị và gán giá trị cho Slider, kết hợp với NSTimer tạo diễn hoạt
  • UIImage: Lấy hình từ local của máy, lấy hình từ Internet
  • Quản lí toạ độ và kích thước các đối tượng trên màn hình: khái niệm Bounds và Frame, hệ trục toạ độ của UIKit, quản lí toạ độ đối tượng, quản lí kích thước đối tượng
  • UIView: quản lí từng lớp giao diện với UIView, tạo Popup View với UIView
  • UIPickerView: khởi tạo và cấu hình cho UIPickerView, gán hình cho dòng trong PickerView, bắt giá trị của dòng được chọn, custom UIPickerView, Multi Component trong PickerView
  • Cấu hình UIDatePickerView
  • UIAlertControler: hiện thông báo với AlertController, phát sinh hành động với AlertController, ActionSheet trong AlertController
  • Sử dụng đối tượng Segment Control
  • Sử dụng đối tượng UIActivity
  • Cấu hình UIProcesser
  • UIWebView: Hiện thị một trang Web với WebView, Hiện thị một đoạn html với WebView, Tạo trình duyệt web đơn giản với WebView
  • Tìm hiểu View Cycle của một ViewController

Chương 21: Toàn tập UITableView

  • Cấu hình UITableView cơ bản
  • Custom cell trong TableView
  • Bắt giá trị từng dòng trong TableView
  • Cấu hình tableView nhiều Sections
  • Thêm hoặc xoá một dòng trong TableView
  • Di chuyển một dòng trong TableView
  • Sử dụng NavigationBar với TableView
  • Reuse Cell trong TableView
  • Tạo diễn hoạt Annimation cho Cell
  • Kết hợp TableView với ContainerView
  • Quản lí Multi Cell trong TableView
  • Tạo SideMenu với TableView

Chương 22: Hiển thị dữ liệu nâng cao với các UI

  • UIScrollView: Zoom in, zoom Out với Scroll View, Scroll View Keyboard, Kết hợp ScrollView với ContainerView
  • Cấu hình UINavigation Controller: Custom Navigation Controller
  • UITabar Controller
  • Cấu hình PageView
  • Container View
  • SplitView
  • UIColectionView
  • Tạo hiệu ứng Blur Background với BlurView
  • Camera & Photos: Truy xuất vào Camera của iPhone, Mở và duyệt Photos Library của máy, Lưu ảnh đã chụp từ Camera vào Photos Library
  • Xem các loại file trong Documents: .docx, .xls, .pdf, .ppt....với thư viện QuickLook
  • Gửi email sử dụng framework MesageUI

Chương 23: Kỹ thuật thiết kế ứng dụng Đa Màn Hình (nhiều kích thước khác nhau)

  • Thiết kế giao diện cho nhiều kích thước màn hình với Auto Layout: Cấu hình trong main.Storyboard, cấu hình trong code
  • Cấu hình Size class: Responsive cho ứng dụng di động
  • Stack View: Horizontal Stack View, Vertical Stack View

Chương 24: Kỹ thuật tạo các UI với CODE thuần (Tạo đối tượng bằng CODE)

  • UILabel
  • UIButton
  • UITextField
  • UIImage
  • UISlider
  • UISwitch
  • UIPickerView
  • UITableView
  • UIColectionView

Chương 25: Media (Âm thanh & phim ảnh)

  • Làm việc với các file Audio: mp3, wav, m4a... với thư viện AVFoundation
  • Làm việc với AVAudioPlayer: Play nhạc local với AVAudioPlayer, Pause, Stop, Volume, Kết hợp với UISlider để bắt được thời lượng bài hát
  • Play nhạc Online với AVPlayer: Play nhạc từ một đường link mp3, Pause, Stop, Volume, Lấy tổng thời lượng của bài nhạc Online, Lấy thời gian hiện tại của bài hát đang phát, Kết hợp Slider điều chỉnh thời gian phát
  • Cấu hình CoreGraphics
  • Core Audio

Chương 26: Cơ sở dữ liệu offline (Local)

  • Lấy nội dung các thẻ trong XML local
  • Đọc file JSON từ local
  • Làm việc với file .plist
  • Đối tượng NSUserDefault: Truyền tham số giữa giữa hai màn hình, Sử dụng NSUserDefault để lưu dữ liệu
  • Cơ sở dữ liệu CoreData
  • SQLite trong iOS: Giới thiệu cơ sở dữ liệu SQLite, Tạo một cơ sở dữ liệu SQLite, Truy xuất cơ sở dữ liệu SQLite, Xử lí cơ sở dữ liệu: Thêm, xoá, sửa

Chương 27: Cơ sở dữ liệu online với PARSE CLOUD

  • Giới thiệu Parse
  • Hướng dẫn nhúng Parse vào App iOS
  • Save Parse Object vào Parse
  • Bắt sự kiên sau khi save Parse Object thành công
  • Hướng dẫn đọc một Parse Object
  • Parse User: Đăng kí thành viên
  • Parse User: Đăng nhập
  • Parse User: Lấy thông tin User đang Login
  • Hướng dẫn đọc một Parse Object trong một CLASS

Chương 28: Cơ sở dữ liệu online với CLOUD KIT (Apple)

  • Authentication
  • Discoverbility
  • Query
  • Zones
  • Records
  • Sync
  • Subcriptions: Save, Delete, Fetch & FetchAll
  • Notifications

Chương 29: Tạo diễn hoạt Animation

  • Diễn hoạt với UIView Animation: Tạo diễn hoạt với UIView.animate, Tạo diễn hoạt có Completion, Tạo diễn hoạt có Delay, Tạo diễn hoạt với lực đàn hồi
  • Diễn hoạt với Core Animation
  • Diễn hoạt với AVAudioPlayer

Chương 30: Capabilities

  • Push Notification: Push Notifications từ local App, Push Notifications Online: Dùng Push Notifications từ server của PARSE.com, Push Notifications từ SERVER riêng
  • Map Kit: Hiện thị một toạ độ cho trước lên MapKit, Gán annotation vào toạ độ, Custom Annotation, Bắt sự kiện chạm ngón tay vào MapKit, Chuyển đổi vị trí chạm thành toạ độ thực trên bản đồ, Đo khoảng cách giữa hai điểm trên bản đồ, Chỉ đường đi giữa hai điểm trên bản đồ, Vẽ đường đi lên bản đồ
  • Core Location: Bắt vị trị thực của khách hàng, Chuyển đổi toạ độ thành vị trí địa lí, Chuyển đổi vị trí địa lí thành toạ độ trên bản đồ, Ứng dụng tìm đường đi
  • Health Kit
  • Background App: Audio với Background mode, Location update Background, Bluetooth Background mode
  • MultipeerConectivity

Chương 31: Library & API

  • Google Map API
  • Youtube API
  • Facebook API
  • Làm việc với QR Code Framework (BarCode)
  • Dùng Chart Framework để biễu diễn biểu đồ
  • Gửi email sử dụng framework MesageUI

Chương 32: Các tiện ích mở rộng (Extension)

  • Custom Keyboard
  • Chia sẽ dữ liệu bằng Share Extension
  • Tạo Widget cho iPhone bằng Today Extension
  • Tìm kiếm dữ liệu bằng Spotlight Index Extension

Chương 33: Xử lí đa luồng tiến trình với Multithread

  • Grand Central Dispatch (GCD)
  • NSThread
  • Xử lí đồng bộ với Sync
  • Xử lí bất đồ
1