Bối cảnh và vấn đề nghiên cứu
Ngành công nghệ thông tin và thị trường thiết bị di động thông minh chứng kiến sự phát triển vượt bậc của hệ sinh thái Apple với nền tảng hệ điều hành iOS. Nền tảng này được đánh giá cao nhờ khả năng tối ưu hóa phần cứng và tính bảo mật. Vào năm 2014, tại hội nghị WWDC, Apple đã chính thức giới thiệu ngôn ngữ lập trình Swift nhằm từng bước thay thế và kế thừa ngôn ngữ Objective-C truyền thống trong việc phát triển ứng dụng cho iOS và OS X.
Swift là ngôn ngữ hướng đối tượng có khả năng phòng chống lỗi cao và được biên dịch thông qua trình biên dịch LLVM. Tuy nhiên, tại thời điểm năm 2016, Swift vẫn là một ngôn ngữ rất mới, cộng đồng lập trình viên chưa phát triển rộng rãi và tài liệu tham khảo còn hạn chế. Đối với người mới bắt đầu, việc phải nắm vững nền tảng Objective-C đồng thời tiếp cận một ngôn ngữ mới như Swift tạo ra rào cản kỹ thuật đáng kể. Xuất phát từ bối cảnh đó, đề tài "Nghiên cứu lập trình iOS Swift - Ứng dụng lập trình game Flappy Bird trên nền tảng iOS" được thực hiện nhằm tìm hiểu ngôn ngữ mới và hiện thực hóa một sản phẩm ứng dụng cụ thể.
Mục tiêu và nhiệm vụ nghiên cứu của đồ án bao gồm 4 nội dung chính:
- Tìm hiểu và nghiên cứu phương pháp xây dựng một ứng dụng mang tính thực tế trên hệ điều hành iOS.
- Tìm hiểu về ứng dụng trò chơi (game) trên hệ điều hành iOS và quy trình tạo ra ứng dụng đó.
- Nắm bắt nguyên lý hoạt động của hệ điều hành iOS, các thành phần của hệ thống cũng như cấu trúc của một ứng dụng thực thi trên nền tảng iOS.
- Áp dụng các kiến thức đã nghiên cứu để thiết kế và xây dựng ứng dụng game Flappy Bird chạy trên nền tảng iOS.
Đối tượng nghiên cứu của đồ án gồm:
- Ngôn ngữ lập trình Swift.
- Bộ công cụ phát triển ứng dụng Xcode và iOS SDK.
- Trình giả lập máy ảo iOS Simulator.
- Hệ điều hành và tài nguyên hệ thống của iOS.
Phạm vi nghiên cứu: Đồ án tập trung vào cách thức tạo lập ứng dụng trên hệ điều hành iOS, các thao tác lập trình cơ bản và cú pháp cốt lõi của ngôn ngữ Swift. Toàn bộ quá trình nghiên cứu và thực nghiệm được tác giả Nguyễn Công Phước (lớp CCLT07A, Khoa Công nghệ Thông tin – Trường Cao đẳng Công nghệ Thông tin Hữu nghị Việt - Hàn) thực hiện trong thời gian gần 2 tháng, dưới sự hướng dẫn của TS. Lê Tân, hoàn thành vào ngày 30 tháng 05 năm 2016 tại Đà Nẵng.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và nền tảng công nghệ được sử dụng trong đồ án bao gồm:
- Hệ điều hành iOS: Tác giả phân tích nguồn gốc của iOS (Internetwork Operating System), hệ điều hành có nguồn gốc từ OS X và chia sẻ nền tảng Darwin của Apple. Hệ thống lý thuyết điểm lại toàn bộ quá trình phát triển từ iPhone OS 1 (công bố năm 2007 cùng iPhone 2G), sự xuất hiện của App Store trên iPhone OS 2 (2008), các cải tiến về đa nhiệm và giao diện phẳng qua các phiên bản iOS 3, iOS 4, iOS 5, iOS 6, iOS 7, iOS 8 cho đến iOS 9 (2015).
- Ngôn ngữ lập trình Swift: Khái niệm ngôn ngữ hướng đối tượng hoàn toàn (mọi giá trị số, chuỗi đều là đối tượng), hỗ trợ mã nguồn mở (phát hành qua swift.org), chạy song song với Objective-C, sử dụng trình biên dịch LLVM và bổ sung kiểu dữ liệu Tuple.
- Công cụ phát triển: Môi trường tích hợp Xcode (phiên bản Xcode 7), bộ công cụ iOS SDK và máy ảo iOS Simulator hỗ trợ giả lập môi trường iPhone, iPad trên hệ điều hành Mac OS X.
Phương pháp nghiên cứu thực tế bao gồm:
- Phương pháp thu thập và tổng hợp tài liệu: Khai thác tài liệu kỹ thuật chính thức từ trang Apple Developer, tài liệu mã nguồn mở Swift và các nguồn học liệu chuyên ngành.
- Phương pháp thực nghiệm kỹ thuật: Cài đặt trực tiếp môi trường phát triển trên hệ điều hành Mac OS X (hoặc giải pháp cài đặt máy ảo Mac OS trên nền tảng Windows với yêu cầu cấu hình máy tính mạnh, cấp phát tối thiểu 3GB RAM); cài đặt Xcode qua Mac App Store hoặc tải gói cài đặt từ cổng Apple Developer.
- Phương pháp phân tích và thiết kế hệ thống: Sử dụng ngôn ngữ mô hình hóa để xây dựng biểu đồ trường hợp sử dụng (Use Case), bảng đặc tả ca sử dụng, mô hình hóa các lớp điều khiển và biểu đồ hoạt động (Activity Diagram).
Nguồn dữ liệu của đồ án dựa trên các số liệu kỹ thuật chính thức được Apple công bố tại hội nghị WWDC 2015 (kho ứng dụng App Store đạt trên 1,5 triệu ứng dụng, hơn 100 tỷ lượt tải, trung bình 850 lượt tải mỗi giây và người dùng sử dụng trung bình 119 ứng dụng) cùng các thông số phần cứng, phần mềm của các đời hệ điều hành di động.
Nội dung chính theo từng chương
Phần 1: Cơ sở lý thuyết
Chương này hệ thống hóa lịch sử hình thành tập đoàn Apple Inc. (thành lập bởi Stephen Wozniak, Steve Jobs và Ronald Wayne) và quá trình tiến hóa của các thiết bị iPhone, iPad, iPod Touch, Apple Watch, Apple TV. Tác giả tổng hợp chi tiết 9 thế hệ hệ điều hành di động của Apple:
- iPhone OS 1 (2007): Chưa hỗ trợ ứng dụng của bên thứ ba, thao tác hoàn toàn qua cảm ứng, chưa có App Store.
- iPhone OS 2 (2008): Ra mắt kho ứng dụng App Store, bổ sung tính năng tìm kiếm danh bạ.
- iPhone OS 3 (2009): Đổi tên thành iOS vào năm 2010 sau khi mua quyền sử dụng nhãn hiệu từ Cisco; hỗ trợ quay/chỉnh sửa video, copy & paste, tin nhắn MMS, lệnh giọng nói trên iPhone 3GS, la bàn.
- iOS 4 (2010): Hỗ trợ hình nền, đa nhiệm (multi-tasking), kiểm tra chính tả, gom hộp thư; ngừng hỗ trợ iPhone thế hệ đầu.
- iOS 5 (2011): Bổ sung hơn 200 tính năng mới gồm Notification Center, trợ lý ảo Siri, iMessage, iCloud, Game Center, tích hợp Twitter, cập nhật qua OTA (Over-The-Air), Newsstand, Safari Reader và Reading List.
- iOS 6 (2012): Tích hợp Facebook, thay thế Google Maps bằng Apple Maps, chế độ Do Not Disturb, Passcode, gỡ bỏ ứng dụng cài sẵn YouTube và Google Maps.
- iOS 7 (2013): Thiết kế lại toàn diện theo phong cách giao diện phẳng, bổ sung Control Center, AirDrop, camera hỗ trợ Burst Mode (10 ảnh/giây), quay video Slo-Mo (720p tại 120 fps).
- iOS 8 (2014): Mở rộng hỗ trợ bàn phím bên thứ ba, widget trên Notification Center, ứng dụng theo dõi sức khỏe Health, tương tác thông báo nhanh.
- iOS 9 (2015): Tối ưu hóa CPU/GPU, phân chia màn hình đa nhiệm trên iPad, nâng cấp mã mở khóa lên 6 ký tự; dung lượng cài đặt giảm xuống còn 1,3 GB (so với 4,5 GB của iOS 8).
Chương cũng giới thiệu cách thức chuẩn bị môi trường: lập trình trên máy tính Mac chính hãng hoặc tạo máy ảo Mac OS trên Windows; phân biệt tài khoản Apple ID miễn phí (đủ để tải Xcode trên App Store) và tài khoản Apple Developer trả phí (99 USD/năm để đưa ứng dụng lên thiết bị thật).
Phần 2: Nội dung và kết quả nghiên cứu
Phần này trình bày cấu trúc làm việc của công cụ Xcode 7 và cú pháp lập trình Swift:
- Các khu vực chức năng trong Xcode: Navigator Area (quản lý tệp tin qua Project Navigator, tìm kiếm Find Navigator, báo lỗi Issue Navigator, theo dõi luồng qua Debug Navigator); Editor Area (thiết kế giao diện qua tệp Storyboard/Interface Builder hoặc soạn thảo mã nguồn); Toolbar Area (nút Run, Stop, Scheme menu chọn thiết bị máy ảo, Activity Viewer); Utility Area (Inspector Pane để chỉnh thuộc tính và Library Pane chứa đối tượng giao diện, đoạn mã mẫu).
- Quy trình thiết kế và liên kết mã: Thiết kế kéo thả đối tượng trên Storyboard, căn chỉnh theo đường gióng đứt nét màu xanh; thực hiện ánh xạ đối tượng vào tệp mã nguồn bằng thao tác giữ phím Ctrl và kéo thả chuột:
- Kiểu Outlet: Dùng cho đối tượng hiển thị thông tin ra ngoài giao diện.
- Kiểu Action: Dùng cho đối tượng tiếp nhận sự kiện tương tác (ví dụ: nhấn nút bấm Button để thực thi lệnh).
- Cơ chế kiểm thử và Debug: Hệ thống phát hiện lỗi thời gian thực bằng biểu tượng tròn đỏ (lỗi cú pháp) kèm gợi ý khắc phục, tam giác vàng (cảnh báo cải thiện mã); đánh dấu Breakpoint trên Breakpoint gutter để gỡ lỗi từng dòng lệnh, theo dõi bộ nhớ RAM và CPU trên Debug Navigator.
- Tính năng của iOS Simulator: Cho phép kiểm thử trên nhiều dòng thiết bị (iPhone, iPhone Retina, iPad); hỗ trợ xoay màn hình (Hardware > Rotate Left/Right), mô phỏng rung (Shake Gesture), ẩn/hiện bàn phím ảo (Simulate Hardware Keyboard), chụp ảnh màn hình lưu ra Mac OS, sao chép và dán (Copy-Paste) dữ liệu từ máy chủ. Tác giả cũng chỉ ra các khiếm khuyết của máy ảo: không hỗ trợ camera, microphone và một số thư viện như Media Player, MessageUI.
- Cú pháp ngôn ngữ Swift cơ bản:
- Quy ước: Không bắt buộc dấu chấm phẩy
; ở cuối dòng (trừ khi viết nhiều lệnh trên một dòng); phân biệt chữ hoa và chữ thường; toán tử gán =, các phép toán +, -, *, /, phép chia lấy dư % (chỉ áp dụng cho số nguyên); bắt buộc có khoảng trắng phân tách giữa biến và toán tử so sánh (==, !=, >, <, >=, <=, &&, ||).
- Khai báo: Sử dụng từ khóa
var cho biến số (có thể thay đổi giá trị) và let cho hằng số (bắt buộc gán giá trị khởi tạo, không được rỗng, không thể thay đổi sau khi gán).
- Khai báo hàm: Dùng từ khóa
func, cú pháp func <tên hàm>(<tên tham số>: <kiểu dữ liệu>) -> <kiểu dữ liệu trả về>.
- Cấu trúc điều khiển và lặp: Hỗ trợ cấu trúc rẽ nhánh
if, if-else, switch-case; các cấu trúc lặp for, for-in, while, và do-while (thực thi khối lệnh ít nhất một lần trước khi kiểm tra điều kiện dừng).
- Kiểu dữ liệu tập hợp: Mảng (
Array) chứa các phần tử cùng kiểu với chỉ số bắt đầu từ 0; Từ điển (Dictionary); Tuples gom nhóm nhiều giá trị khác kiểu dữ liệu thành một đơn vị duy nhất.
- Các thao tác lập trình giao diện cơ bản: Hướng dẫn thay đổi tên hiển thị ứng dụng (
Bundle display name), ẩn thanh trạng thái Status Bar, chèn hình nền thông qua UIImageView, liên kết khung làm việc tại mục Link Frameworks and Libraries, thiết lập thuộc tính các điều khiển UILabel, UIButton, UITextField.
Phần 3: Phân tích và thiết kế
Tác giả tiến hành mô hình hóa bài toán xây dựng game:
- Mô hình hóa yêu cầu (Use Case): Xác định tác tử chính là Người chơi (Player). Xây dựng biểu đồ Use Case tổng quát (Hình 3.1) và các đặc tả chi tiết cho từng hành động của người chơi trong hệ thống.
- Mô hình hóa khái niệm và lớp điều khiển: Thiết kế sơ đồ lớp điều khiển (Hình 3.3) quản lý logic vận hành trò chơi, xử lý tín hiệu tương tác từ người dùng và điều phối các đối tượng đồ họa.
- Biểu đồ hoạt động (Activity Diagram): Xây dựng biểu đồ luồng hoạt động (Hình 3.4) mô tả tiến trình từ lúc người chơi bắt đầu khởi chạy game, nhận tương tác chạm màn hình để điều khiển nhân vật bay lên, tính toán va chạm với chướng ngại vật/mặt đất, tính toán điểm số và kết thúc lượt chơi.
Phần 4: Giới thiệu sản phẩm game Flappy Bird trên nền tảng iOS
Trình bày kết quả xây dựng ứng dụng game Flappy Bird:
- Tổng quan về ứng dụng game 2D Flappy Bird được lập trình bằng ngôn ngữ Swift trên công cụ Xcode 7.
- Giao diện thực thi trò chơi trên trình giả lập iOS Simulator: Màn hình giới thiệu/khởi động khi chạy ứng dụng (Hình 4.1), giao diện màn hình chơi game chính (Hình 4.2, 4.3, 4.4) thể hiện nhân vật, hệ thống ống chướng ngại vật, điểm số hiển thị theo thời gian thực và màn hình thông báo khi kết thúc lượt chơi.
Thiết kế và triển khai
Hệ thống ứng dụng game Flappy Bird được thiết kế và triển khai dựa trên các thành phần kỹ thuật được mô tả trong đồ án:
- Kiến trúc mô hình hóa:
- Mô hình Use Case: Tập trung vào các hành động tương tác của người chơi như bắt đầu chơi, điều khiển nhân vật nhảy lên thông qua sự kiện cảm ứng màn hình, nhận điểm khi vượt qua chướng ngại vật và khởi động lại lượt chơi.
- Lớp điều khiển (Controller Layer): Đóng vai trò tiếp nhận sự kiện chạm (touch event), tính toán tọa độ di chuyển của nhân vật, tọa độ xuất hiện ngẫu nhiên của các cặp ống chướng ngại vật và kiểm tra điều kiện va chạm vật lý.
- Biểu đồ hoạt động: Xác định vòng lặp xử lý logic game: Khởi tạo màn chơi $\rightarrow$ Lắng nghe tương tác chạm $\rightarrow$ Cập nhật vị trí nhân vật/chướng ngại vật $\rightarrow$ Kiểm tra va chạm (nếu chạm đất hoặc chạm ống thì chuyển sang trạng thái Game Over; nếu vượt qua an toàn thì tăng điểm số) $\rightarrow$ Hiển thị kết quả.
- Công nghệ triển khai:
- Môi trường lập trình: Xcode 7 trên hệ điều hành Mac OS X.
- Ngôn ngữ: Swift (phiên bản đời đầu năm 2014–2016).
- Thành phần giao diện: Tệp
.storyboard, các đối tượng UIImageView để render khung cảnh nền, nhân vật và chướng ngại vật; UILabel để hiển thị điểm số; UIButton cho các nút điều hướng.
- Kiểm thử hệ thống: Ứng dụng được biên dịch và kiểm thử trên máy ảo iOS Simulator đi kèm Xcode. Tác giả thực hiện kiểm thử chức năng hiển thị đồ họa, khả năng xoay màn hình, tính đáp ứng của các sự kiện điều khiển và độ ổn định của ứng dụng khi chạy giả lập.
Kết quả và đóng góp
Đồ án đã tổng hợp và hệ thống hóa chi tiết các thông số kỹ thuật cốt lõi của ngôn ngữ Swift thông qua các bảng biểu chuẩn:
Bảng 1: Các kiểu dữ liệu cơ bản trong ngôn ngữ Swift (theo Bảng 2.1 trong tài liệu)
| Kiểu dữ liệu |
Độ rộng lưu trữ |
Phạm vi giá trị |
Int8 |
1 byte |
-127 đến 127 |
UInt8 |
1 byte |
0 đến 255 |
Int32 |
4 bytes |
-2.147.483.648 đến 2.147.483.647 |
UInt32 |
4 bytes |
0 đến 4.294.967.295 |
Int64 |
8 bytes |
-9.223.372.036.854.775.808 đến 9.223.372.036.854.775.807 |
UInt64 |
8 bytes |
0 đến 18.446.744.073.709.551.615 |
Float |
4 bytes |
Kiểu số thực dấu phẩy động |
Bảng 2: Các phép toán và toán tử trong Swift (theo Bảng 2.2 và Bảng 2.3 trong tài liệu)
| Nhóm toán tử |
Ký hiệu |
Ý nghĩa / Quy tắc |
Ví dụ minh họa |
| Phép toán số học |
+ |
Phép cộng |
A + B |
|
- |
Phép trừ |
A - B |
|
* |
Phép nhân |
A * B |
|
/ |
Phép chia |
A / B |
|
% |
Phép chia lấy phần dư (chỉ dùng cho số nguyên) |
9 % 5 = 4 |
| Toán tử so sánh |
> |
Lớn hơn |
5 > 4 (True) |
|
< |
Nhỏ hơn |
4 < 5 (True) |
|
>= |
Lớn hơn hoặc bằng |
4 >= 4 (True) |
|
<= |
Nhỏ hơn hoặc bằng |
3 <= 4 (True) |
|
== |
Bằng nhau |
1 == 1 (True) |
|
!= |
Không bằng nhau |
1 != 2 (True) |
| Toán tử logic |
&& |
Phép toán logic VÀ (AND) |
a > 4 && a < 10 |
|
|| |
Phép toán logic HOẶC (OR) |
a == 1 || a == 4 |
Kết quả thực nghiệm chính của đề tài bao gồm:
- Xây dựng tài liệu hướng dẫn kỹ thuật hoàn chỉnh bằng tiếng Việt về quy trình cài đặt môi trường phát triển ứng dụng iOS trên Mac OS X và Windows (thông qua máy ảo).
- Hệ thống hóa các thao tác thực hành cốt lõi trên Xcode 7: quản lý dự án, thiết kế giao diện Storyboard, ánh xạ Outlet/Action, quản lý lỗi và sử dụng Breakpoint gỡ lỗi.
- Hiện thực hóa thành công sản phẩm game Flappy Bird chạy hoàn chỉnh trên trình giả lập iOS Simulator, đáp ứng đầy đủ các yêu cầu về xử lý sự kiện tương tác chạm, hiển thị điểm số và quy tắc trò chơi.
Đóng góp của tác giả: Đồ án là tài liệu nghiên cứu ứng dụng thực hành sớm về ngôn ngữ Swift tại thời điểm ngôn ngữ này mới ra mắt được 2 năm, giúp sinh viên và người mới học lập trình iOS tiếp cận trực quan công cụ Xcode và cú pháp Swift thay cho Objective-C phức tạp.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài được tác giả nêu rõ:
- Thời gian nghiên cứu và thực hiện tương đối ngắn (gần 2 tháng).
- Kiến thức chuyên môn của tác giả về lĩnh vực mới còn giới hạn; tại thời điểm năm 2016, ngôn ngữ Swift còn mới và cộng đồng hỗ trợ chưa phát triển sâu rộng.
- Ứng dụng mới chỉ dừng lại ở việc kiểm thử trên môi trường giả lập iOS Simulator, chưa được triển khai và thử nghiệm trên thiết bị phần cứng thật do yêu cầu tài khoản Apple Developer trả phí (99 USD/năm).
- Máy ảo iOS Simulator còn những giới hạn phần cứng nhất định (không có camera, microphone và chưa hỗ trợ một số thư viện như Media Player, MessageUI).
Hướng nghiên cứu tiếp:
- Tiếp tục củng cố và nâng cao kiến thức chuyên sâu về ngôn ngữ lập trình Swift và các phiên bản nâng cấp của hệ điều hành iOS.
- Mở rộng, phát triển thêm các tính năng nâng cao cho ứng dụng game Flappy Bird và hoàn thiện quy trình triển khai thử nghiệm trên thiết bị iPhone/iPad vật lý.
Giá trị tham khảo
Đồ án là nguồn tài liệu tham khảo hữu ích dành cho:
- Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm đang bắt đầu tìm hiểu về lập trình ứng dụng di động cho hệ điều hành iOS.
- Lập trình viên muốn nghiên cứu quy trình thiết kế giao diện qua Interface Builder/Storyboard và cơ chế liên kết dữ liệu Outlet/Action trong Xcode.
- Người nghiên cứu muốn tham khảo phương pháp phân tích, thiết kế Use Case, sơ đồ lớp điều khiển và biểu đồ hoạt động cho một ứng dụng trò chơi 2D đơn giản.
Các phần nội dung đáng tham khảo nhất bao gồm: Chương hướng dẫn chi tiết các phân vùng chức năng trong Xcode 7 (Mục 2.1), bảng tổng hợp cú pháp kiểu dữ liệu - câu lệnh điều khiển của Swift (Mục 2.2) và sơ đồ thiết kế Use Case, Lớp điều khiển, Biểu đồ hoạt động ở Phần 3.
Câu hỏi thường gặp
1. Đồ án được thực hiện bởi ai, tại đơn vị đào tạo nào và trong thời gian bao lâu?
Đồ án do sinh viên Nguyễn Công Phước (lớp CCLT07A) thực hiện dưới sự hướng dẫn của GVHD - TS. Lê Tân tại Khoa Công nghệ Thông tin – Trường Cao đẳng Công nghệ Thông tin Hữu nghị Việt - Hàn (Đà Nẵng), hoàn thành ngày 30/05/2016 sau thời gian thực hiện gần 2 tháng.
2. Tại sao tác giả đánh giá việc tiếp cận ngôn ngữ Swift gặp nhiều khó khăn tại thời điểm thực hiện đề tài?
Do Swift được Apple giới thiệu vào năm 2014, tuổi đời ngôn ngữ còn quá trẻ, cộng đồng phát triển chưa nhiều và lập trình viên phải học một ngôn ngữ hoàn toàn mới trong khi vẫn cần nắm vững Objective-C làm nền tảng.
3. Trong Xcode, sự khác nhau cơ bản giữa hai kiểu ánh xạ Outlet và Action là gì?
Theo tài liệu, đối tượng dùng để hiển thị thông tin ra giao diện bên ngoài thuộc loại Outlet, còn đối tượng dùng để viết mã xử lý khi người dùng tương tác tạo ra kết quả (ví dụ nhấn nút bấm) thuộc loại Action.
4. Khi cần chạy thử nghiệm ứng dụng trực tiếp trên thiết bị iOS thật, lập trình viên cần đáp ứng điều kiện gì?
Lập trình viên cần đăng ký một tài khoản Apple Developer với mức phí quy định là 99 USD/năm; nếu chỉ kiểm thử trên máy ảo iOS Simulator thì chỉ cần tài khoản Apple ID miễn phí để tải Xcode.
5. Nếu không có máy tính Mac chính hãng, người học cần cấu hình máy tính Windows như thế nào để cài đặt máy ảo lập trình iOS?
Theo tác giả, cấu hình máy tính chạy Windows phải mạnh, CPU xử lý tốt và cần dành ít nhất 3GB RAM cho máy ảo chạy Mac OS để hệ thống hoạt động ổn định.
Kết luận
Đồ án "Nghiên cứu lập trình iOS Swift - Ứng dụng lập trình game Flappy Bird trên nền tảng iOS" đã hệ thống hóa toàn diện cơ sở lý thuyết về lịch sử phát triển của hệ điều hành iOS từ phiên bản 1 đến 9 cùng các đặc tính cốt lõi của ngôn ngữ Swift và bộ công cụ Xcode 7. Đề tài đã hoàn thành việc mô hình hóa yêu cầu, thiết kế kiến trúc lớp điều khiển và xây dựng thành công ứng dụng game Flappy Bird hoạt động trên môi trường giả lập iOS Simulator. Đây là tài liệu tổng hợp có giá trị thực tiễn cao cho người mới bắt đầu tiếp cận quy trình phát triển ứng dụng di động trên nền tảng của Apple.