MỞ ĐẦU Lý do chọn đề tài Với sự phát triển nhanh chóng của khoa học công nghệ và đặc biệt là ngành công nghệ thông tin, làm từng bước thay đổi cuộc sống của con người bởi các ứng dụng của sản phẩm của công nghệ. Điện thoại di động là một thứ không thể thiếu trong cuộc sống của chúng ta. Đặc biệt là điện thoại thông minh. Cả thế giới đã công nhận rằng: Sự thành công của iPhone phần lớn đến từ nền tảng iOS, không chỉ được tối ưu với phần cứng, nền tảng này còn có tính bảo mật cao.
Apple cùng với những chiếc iPhone đã thay đổi hoàn toàn lịch sử của ngành công nghệ di động, mở ra những khái niệm hoàn toàn mới khiến các hãng cạnh tranh luôn phải chạy theo. Song song với sự thành công của thiết bị chính là hệ điều hành iOS độc quyền của hãng. Năm 2016, bên cạnh những chiếc iPhone, iPad, chúng ta đã được chứng kiến những bom tấn ra mắt như Apple Watch, Apple Tivi và còn biết bao nhiêu bí mật khác mà Apple đang chuẩn bị tung ra thị trường. Cũng chính vì vậy, mà việc làm dành cho những Lập trình viên iOS sẽ ngày càng tăng dữ dội.
Swift là một ngôn ngữ lập trình hướng đối tượng dành cho việc phát triển iOS và OS X, được giới thiệu bởi Apple tại hội nghị WWDC 2014. Đây là ngôn ngữ tiềm năng, được thừa kế từ Objective-C nhưng dễ học hơn Objective-C, để tiếp cận được Swift thì Objective-C là ngôn ngữ cơ bản mà các lập trình viên iOS cần phải nắm vững. Swift được thiết kế là một ngôn ngữ có khả năng phòng chống lỗi cao. Nó được biên dịch với trình biên dịch LLVM.
Điểm yếu lớn nhất của Swift có lẽ sẽ là tuổi đời quá trẻ của ngôn ngữ lập trình này. Cụ thể hơn, để sử dụng Swift, các nhà phát triển sẽ phải học lại một ngôn ngữ lập trình hoàn toàn mới. Và cộng đồng cũng chưa có nhiều, Các nhà phát triển ứng dụng iOS sẽ mất một khoảng thời gian đáng kể để làm chủ ngôn ngữ mới của Apple. Và đối với nhưng lập trình viên mới gia nhập vào ngôi nhà lập trình iOS, Objective-C là ngôn ngữ cơ bản phải nắm được và là nền tảng cho việc tiếp cận Swift.
Điều đó làm cho lập trình iOS ngày càng khó hơn. Mục đích của đề tài lần này là tìm hiểu về ngôn ngữ lập trình mới, nghiên cứu và xây dựng được một ứng dụng thực tế. Em mong rằng qua đề tài này, em sẽ có thêm nhiều động lực và nền tảng cơ bản để bước tiếp con đường đam mê lập trình iOS của Nguyễn Công Phước – CCLT07A 1 Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS mình. Đây cũng chính là lý do chính mà em chọn đề tài này làm đề tài tốt nghiệp của mình.
Mục tiêu và nhiệm vụ nghiên cứu Nhằm tìm hiểu và nghiên cứu để biết được cách thức 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 thêm về ứng dụng game trên hệ điều hành IOS và cách tạo ra nó. Hiểu về nguyên lý hoạt động của IOS, các thành phần của hệ thống cũng như của một ứng dụng thực thi trên nền tảng IOS. Áp dụng thiết kế ứng dụng game Flappy Bird chạy trên nền tảng IOS. Đối tƣợng và phạm vi nghiên cứu o Đối tƣợng: Ngôn ngữ Swift.
Công cụ phát triển ứng dụng XCode và iOS SDK. Máy ảo iOS Simulator. Hệ điều hành và tài nguyên hệ thống IOS. o Phạm vi: Nghiên cứu cách thức tạo nên ứng dụng trên IOS.
Các thao tác cơ bản Nghiên cứu ngôn ngữ Swift Phƣơng pháp nghiên cứu. Nghiên cứu và thu thập tài liệu, các phương pháp để ứng dụng liên quan đến đề tài. Sử dụng trực tiếp hệ điều hành Mac OS X để cài đặt và sử dụng. Tiếp cận ngôn ngữ Swift qua tài liệu liên quan.
Ý nghĩa khoa học và thực tiễn o Ý nghĩa khoa học: Hiểu được cơ bản về ngôn ngữ Swift và cách thức tạo nên ứng dụng trên IOS. o Ý nghĩa thực tiễn: Thiết kế được ứng dụng game Flappy Bird trên iOS. Nguyễn Công Phước – CCLT07A 2 Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS PHẦN 1: CƠ SỞ LÝ THUYẾT 1. Nguồn gốc của hệ điều hành iOS và lịch sử phát triển: 1.1 Nguồn gốc của hệ điều hành iOS Apple Inc.
là tập đoàn công nghệ máy tính của Mỹ được sáng lập là Stephen Wozniak, Steve Jobs và Ronald Wayne, có trụ sở chính đặt tại Silicon Valley (Thung Lũng Si-li-côn) ở San Francisco, tiểu bang California. Aplle được biết đến với nhiều sản phẩm là máy tính cá nhân, phần mềm, phần cứng, thiết bị nghe nhạc và nhiều thiết bị đa phương tiện khác. Sản phẩm nổi tiếng nhất là máy tính Apple Macintosh, máy nghe nhạc iPod (2001), chương trình nghe nhạc iTunes, điện thoại iPhone (2007), máy tính bảng iPad (2010) và đồng hồ thông minh Apple Watch (2014-2015) hoạt động trên nhiều quốc gia trên thế giới. iOS là từ viết tắt của Internetwork Operating System, là hệ điều hành mạng của Cisco, giúp cho các thiết bị của Cisco (switch, router) sử dụng được các tập hợp chức năng mạng chạy trên nó (routing, packet switching.) để xây dựng và hình thành nên hệ thống mạng.
iOS có nguồn gốc từ OS X, mà nó chia sẻ nền tảng Darwin. iOS là phiên bản di động của Apple OS X - hệ điều hành được sử dụng trên các máy tính của Apple. iOS là một hệ thống điều hành điện thoại di động phát triển và phân phối bởi Apple Inc phát hành năm 2007 cho iPhone và iPod Touch, nó đã được mở rộng để hỗ trợ các thiết bị khác của Apple như iPad và Apple TV. Apple không cấp phép cho iOS để cài đặt trên phần cứng không phải của Apple.2 Lịch sử phát triển iOS là hệ điều hành trên các thiết bị di động của Apple.
Ban đầu hệ điều hành này chỉ được phát triển để chạy trên iPhone, nhưng sau đó nó đã được mở rộng để chạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV. Ngày 08 tháng 6, 2015, theo số liệu thống kê ở hội nghị WWDC năm 2015, tổng số lượng ứng dụng trên App Store đã vượt mốc 1,5 triệu ứng dụng, số lượng ứng dụng trung bình mà mỗi người dùng đang sử dụng là 119 ứng dụng. Cứ mỗi giây trôi qua, App Store lại chứng kiến 850 lượt tải. App Store đã vượt qua mốc 100 tỷ lượt tải ứng dụng.
Giao diện người dùng của iOS dựa trên cơ sở thao tác bằng tay. Người dùng có thể tương tác với hệ điều hành này thông qua rất nhiều động tác bằng tay trên màn hình cảm ứng của các thiết bị của Apple. Nguyễn Công Phước – CCLT07A 3 Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Hệ điều hành di dộng của Apple được công bố cùng chiếc iPhone 2G tại Macworld Conference & Expo vào ngày 9/1/2007 và chính thức phát hành trong tháng 6 sau đó. Khi ra mắt, hệ điều hành này không được Apple chỉ định một cái tên riêng biệt mà chỉ đơn giản gọi là "hệ điều hành X dành cho iPhone” và không hỗ trợ các ứng dụng từ các nhà phát triển thứ 3.
Nguyên nhân của việc từ chối các ứng dụng từ bên thứ 3 được Steve Jobs đưa ra là các nhà phát triển có thể xây dựng ứng dụng trùng chức năng với các ứng dụng gốc trên iPhone. Đến ngày 17/ 10/ 2007, Apple thông báo đã phát triển bộ công cụ phát triển phần mềm (SDK) và lên kế hoạch chuyển chúng đến tay các nhà phát triển vào tháng 2 năm 2008. Sau đó ngày 6/3/2008, Apple phát hành phiên bản thử nghiệm (beta) đầu tiên của bộ công cụ này cùng với một cái tên mới cho hệ điều hành, "iPhone OS". Tháng 9 năm 2009, iPod touch ra đời mang trên mình “iPhone OS” với hầu hết chức năng hiện có ngoại trừ khả năng gọi, nhắn tin hay các dịch vụ từ nhà mạng khác.
Và đến mùa lễ cuối năm này, Apple cũng đạt doanh số hơn một triệu chiếc iPhone. Ngày 27/1/2010, sau sự thành công của iPhone và iPod touch, Apple tiếp tục giới thiệu iPad sử dụng hệ điều hành được tùy chỉnh từ “iPhone OS” với một màn hình lớn hơn so với iPhone và iPod touch được thiết kế để duyệt web, đọc sách, giải trí đa phương tiện… Cuối cùng đến tháng 6 năm 2010, Apple chính thức đổi tên “iPhone OS” thành một cái tên mới đơn giản, dễ nhớ hơn được mua từ hãng sản xuất thiết bị mạng Cisco, đó là "iOS" và được sử dụng cho đến ngày hôm nay.3 Các phiên bản hệ điều hành iOS Nền tảng di động iOS của Apple đã tồn tại được một khoảng thời gian dài, kể từ thời điểm mà người dùng chỉ biết iPhone chứ chưa rõ hệ điều hành gì, cho đến hiện tại là iOS 9. Mời các bạn cùng nhìn lại lịch sử 9 đời của nền tảng này. iPhone OS Hệ điều hành này được tiết lộ tại Hội nghị và Triển lãm Macworld diễn ra vào tháng 1/2007 và được phát hành vào tháng 9 năm đó.
Khi đó, hệ điều hành này chưa có một cái tên "độc quyền" nên chỉ đơn giản gọi là "iPhone chạy OS X". Ban đầu, ứng dụng bên thứ ba không được hỗ trợ. Steve Jobs đã chỉ ra rằng những nhà phát triển có thể xây dựng các ứng dụng web mà "sẽ vận hành như những ứng dụng ban đầu trên iPhone". Nguyễn Công Phước – CCLT07A 4 Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Hình 1.1 Giao diện iPhone OS 1.x Không như bất kỳ hệ điều hành di động nào khác cùng thời điểm, Apple chỉ dựa vào thao tác cảm ứng vì không dùng bàn phím cứng.
Khi đó, chưa có App Store, không thể chụp được ảnh màn hình. Một điều thú vị là phiên bản sau cùng của iPhone OS 1.5, lại ra đời ngay sau khi iPhone OS 2 được tiết lộ. iPhone OS 2 Đến năm 2008, Apple chính thức trình làng iPhone OS 2.x, nền tảng này ra đời chủ yếu để vá hầu hết các lỗi góp mặt trên phiên bản tiền nhiệm. Quan trọng nhất là sự xuất hiện của kho ứng dụng trực tuyến App Store, cho phép người dùng iPhone và iPhone 3G tải về các ứng dụng và trò chơi.2 Giao diện iPhone OS 2.x Nguyễn Công Phước – CCLT07A 5 Nghiên cứu lập trình IOS Swift - Ứng dụng lập trình game Fappy Bird trên nền tảng IOS Chắc chắn, bản cập nhật này đã mang lại rất nhiều điều mới lạ cho người dùng.