Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
1,31 MB
Nội dung
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC KHOA CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU KHOA HỌC ĐỀ XUẤT ĐƯA NGÔN NGỮ SWIFT VÀO TRONG GIẢNG DẠY LẬP TRÌNH DI ĐỘNG Chủ nhiệm đề tài: ThS Phan Thị Thể Tp Hồ Chí Minh, tháng năm 2015 TRƯỜNG CAO ĐẲNG CƠNG NGHỆ THỦ ĐỨC KHOA CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU KHOA HỌC ĐỀ XUẤT ĐƯA NGÔN NGỮ SWIFT VÀO TRONG GIẢNG DẠY LẬP TRÌNH DI ĐỘNG Chủ nhiệm đề tài: ThS Phan Thị Thể Tp Hồ Chí Minh, tháng 05 năm 2015 Trƣờng CĐ Công nghệ Thủ Đức MỤC LỤC CHƢƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.2 Mục tiêu đề tài 1.3 Đối tƣợng nghiên cứu 1.4 Phạm vi nghiên cứu 1.5 Phƣơng pháp nghiên cứu 1.6 Bố cục đề tài 1.7 Điểm đề tài CHƢƠNG NGÔN NGỮ SWIFT 2.1 Giới thiệu ngôn ngữ Swift 2.2 Biến Swift 2.2.1 Khai báo biến 2.2.2 Khai báo kiểu Annotation 2.3 Kiểu chuỗi (string) swift 2.4 Kiểu array 2.5 Print biến số (variables and constants) 2.6 Vòng lặp Swift 2.6.1 Vòng lặp For - For Loops 2.6.2 Vòng lặp While - While Loops 12 2.7 Câu lệnh điều kiện - Conditional Statements 13 2.8 Hàm - Functions 2.8.1 Định nghĩa gọi hàm - Defining and Calling Functions 19 2.8.2 Tham số giá trị trả - Function Parameters and Return Values 19 2.8.3- Hàm lồng - Nested Functions 24 2.9 Struct Class 25 2.9.1 Structure 25 2.9.2 Class 26 2.10 Cơ sở liệu Swift 29 2.11 2.3 Một số ví dụ sử dụng ngơn ngữ SWIFT 34 So sánh ngôn ngữ Objective-C Swift 44 CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 46 3.1 Các kết đạt đƣợc hạn chế đề tài 46 3.2 Hƣớng phát triển 46 TÀI LIỆU THAM KHẢO 46 Phan Thị Thể Trang Trƣờng CĐ Công nghệ Thủ Đức CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề Hiện nay, điện thoại không đơn phƣơng tiện liên lạc, thị trƣờng di động có nhu cầu ngày cao ứng dụng đính kèm thơng minh Ngồi ứng dụng di động chạy Android ứng dụng chạy iOS OSX trở nên phổ biến Ngôn ngữ Swift Apple đầu tư phát triển bốn năm sản phẩm nỗ lực không mệt mỏi từ đội ngũ chuyên gia giàu kinh nghiệm Apple, tối ưu cho trình biên dịch viết mã " đƣợc đời năm 2014 Swift mang tới môi trƣờng lập trình thú vị giảm khơ khan nhiều so với ngôn ngữ khác Đây minh chứng cho thấy Apple không công ty hƣớng tới lợi nhuận sản phẩm hồn thiện tới ngƣời dùng cuối mà cịn quan tâm tới đối tác - lập trình viên tham gia xây dựng hệ sinh thái Hình Khái quát Swift Swift thay đổi cách lập trình viên viết ứng dụng cho OS X iOS, giao diện trực quan, đơn giản, nhanh chóng tiện dụng Theo chia sẻ từ Craig Federighi, Phó chủ tịch cấp cao phụ trách mảng phần mềm Apple, Swift nằm C Objective-C Điều có nghĩa lập trình viên sử dụng cơng cụ Objective-C Swift, ngôn ngữ đƣợc sử dụng phổ biến nên lập trình viên dễ dàng làm quen Vì việc tiếp cận với Phan Thị Thể Trang Trƣờng CĐ Công nghệ Thủ Đức ngơn ngữ lập trình giúp tơi cập nhật kiến thức công nghệ Đồng thời, tơi xin đề xuất cập nhật lại chƣơng trình đào tạo để áp dụng vào giảng dạy cho SV khóa 13 trở sau 1.2 Mục tiêu đề tài Tìm hiểu ngơn ngữ lập trình hãng Apple Đề xuất cập nhật lại chƣơng trình đào tạo học phần “Lập trình di động iOS” áp dụng cho Sinh viên Cao Đẳng khóa 2013 trở sau So sánh ngôn ngữ Objective-C ngôn ngữ Swift Xây dựng số ứng dụng đơn giản Demo cho Sinh viên 1.3 Đối tƣợng nghiên cứu Ngơn ngữ lập trình SWIFT Các ứng dụng đơn giản sử dụng ngơn ngữ SWIFT Chƣơng trình học phần Lập trình di động iOS 1.4 Phạm vi nghiên cứu Ngơn ngữ lập trình SWIFT Các ứng dụng đơn giản sử dụng ngôn ngữ SWIFT Chƣơng trình học phần Lập trình di động 1.5 Phƣơng pháp nghiên cứu Tham khảo tài liệu SWIFT Research ứng dụng sử dụng ngôn ngữ SWIFT Thử nghiệm đánh giá Cập nhật chƣơng trình học phần “Lập trình di động iOS” 1.6 Bố cục đề tài CHƢƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.2 Mục tiêu đề tài 1.3 Đối tƣợng nghiên cứu 1.4 Phạm vi nghiên cứu 1.5 Phƣơng pháp nghiên cứu 1.6 Bố cục đề tài 1.7 Các bƣớc tiến hành Phan Thị Thể Trang Trƣờng CĐ Công nghệ Thủ Đức 1.8 Điểm đề tài 1.9 Giá trị thực tiễn đề tài CHƢƠNG CƠ SỞ LÝ THUYẾT 2.1 Ngơn ngữ SWIFT 2.2 Một số ví dụ sử dụng ngôn ngữ SWIFT 2.3 So sánh ngôn ngữ Objective-C Swift CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 3.1 Các kết đạt đƣợc hạn chế đề tài 3.2 Hƣớng phát triển 1.3 Đề xuất TÀI LIỆU THAM KHẢO 1.7 Điểm đề tài Ngơn ngữ Swift ngơn ngữ lập trình đƣợc đời năm 2014 đƣợc ứng dụng cơng ty lập trình di động Phan Thị Thể Trang Trƣờng CĐ Công nghệ Thủ Đức CHƢƠNG NGƠN NGỮ SWIFT 2.1 Giới thiệu ngơn ngữ Swift Swift ngơn ngữ lập trình apple, đƣợc giới thiệu WWDC 14 đƣợc tích hợp với iOS Xcode beta Swift tập hợp ƣu điểm loại ngôn ngữ lập trình mạnh mẽ mềm dẻo ngôn ngữ compile đơn giản loại ngôn ngữ script Việc lập trình với Swift trực quan nhờ phƣơng thức xếp hợp lý giao diện sử dụng kiểu hiển thị kết theo thời gian thực X Code Runtime Tức lúc viết mã, kết để tiện việc chỉnh sửa hình ảnh xem từ bên IDE Ngoài ra, X Code dựng kịch thực ứng dụng, tính giúp lập trình viên quản lý ứng dụng khỏi bị cố tràn nhớ Ngơn ngữ lập trình Swift giống với Objective C, nhƣng phƣơng thức hoạt động đơn giản Nếu lập trình với ngơn ngữ Objective-C, việc nghiên cứu Swift trở nên nhẹ nhàng ngơn ngữ kế thừa số lƣợng cú pháp mà biết từ trƣớc 2.2 Biến Swift 2.2.1 Khai báo biến Swift cung cấp đầy đủ kiểu liệu nhƣ C Objective C: Kiểu liệu Int Double Float Bool String Character Swift cung cấp kiểu collection, Array Dictionary Trong Swift, không cần khai báo kiểu liệu dùng Để khai báo biến ta dùng „var‟, biến thay đổi Để khai báo số ta dùng „let‟, biến số khơng đổi Ví dụ: Phan Thị Thể Trang Trƣờng CĐ Công nghệ Thủ Đức Để khai báo nhiều biến liên tiếp: Lƣu ý: Dấu chấm phẩy không cần thiết cuối câu Nhƣng muốn viết hai câu dòng nhất, cần phải sử dụng dấu chấm phẩy 2.2.2 Khai báo kiểu Annotation Chúng ta khai báo kiểu annotation khai báo biến hay số mà biết kiểu liệu đƣợc lƣu Convert kiểu int kiểu Double nhƣ sau: 2.3 Kiểu chuỗi (string) swift Dƣới ví dụ sử dụng String Swift Phan Thị Thể Trang Trƣờng CĐ Công nghệ Thủ Đức Phan Thị Thể Trang Trƣờng CĐ Công nghệ Thủ Đức 2.4 Kiểu array Dƣới ví dụ khác kiểu array Swift var shoppingList = ["catfish", "water", "tulips", "blue paint"] shoppingList[1] = "bottle of water" var occupations = [ "Malcolm": "Captain", "Kaylee": "Mechanic", ] occupations["Jayne"] = "Public Relations" 2.5 Print biến số (variables and constants) Chúng ta sử dụng println () để in biến In biến cần phải bỏ ngoặc đơn: \ (variable) 2.6 Vòng lặp Swift Swift cung cấp tất câu lệnh điều khiển giống nhƣ ngơn ngữ C Chúng bao gồm vịng lặp for while để thực tác vụ nhiều lần; câu lệnh if switch để thực nhánh khác mã dựa điều kiện định; câu lệnh nhƣ break continue chuyển luồng thực đến thời điểm khác mã 2.6.1 Vòng lặp For - For Loops Swift cung cấp hai kiểu vòng lặp để thực gói lệnh số lần định: - Vòng lặp for-in thực tập hợp lệnh cho phần tử phạm vi, trình tự, tập hợp, cấp số - Vòng lặp for thực tập hợp lệnh điều kiện cụ thể đƣợc đáp ứng, thƣờng cách tăng truy cập lần vòng lặp kết thúc Phan Thị Thể Trang Trƣờng CĐ Công nghệ Thủ Đức Viết chức Thêm Dữ Liệu Để thêm tƣơng tác CoreData, trƣớc tiên phải import CoreData vào Để viết chức lƣu vào CSDL phải thực bƣớc nhƣ đoạn code dƣới Ở bƣớc khai báo CSDL, tạo đối tƣợng muốn lƣu… không cần quan tâm, copy nguyên đoạn code đƣợc Ở có thơng tin cần điền Phan Thị Thể Trang 32 Trƣờng CĐ Công nghệ Thủ Đức A: Chúng ta viết tên Entity muốn truy cập vào đây, ta có Entity đƣợc tạo tên ThongTin (Các gọi database thƣờng tên Bảng - Table ) B: tên atribute muốn liệu tƣơng ứng đƣợc lƣu vào (Theo nhƣ cách gọi database tên Cột - Column ) C: Ở liệu muốn ghi vào, lấy liệu từ text field nên sử dụng diadanh.text quocgia.text Lƣu ý: Chúng ta cộng với + “” để đƣa dữa liệu dạng String nhƣ đoạn code Nhƣ lần action themdulieu thực hiện, lấy nội dung ô text field nhập vào CSDL với Attribute tƣơng ứng Chức Tìm liệu ( Truy vấn CSDL) Tƣơng tự nhƣ giải thích trên, ta có vị trí A: Tên Entity B: Tên Attribute muốn lấy so sánh với liệu điều kiện, so sánh với diadanh.text xem coi có liệu trùng khơng C: Attribute mà muốn lấy liệu Phan Thị Thể Trang 33 Trƣờng CĐ Cơng nghệ Thủ Đức 2.11 Một số ví dụ sử dụng ngôn ngữ SWIFT Một số kiểu liệu vòng lặp Phan Thị Thể Trang 34 Trƣờng CĐ Công nghệ Thủ Đức Phan Thị Thể Trang 35 Trƣờng CĐ Công nghệ Thủ Đức Phan Thị Thể Trang 36 Trƣờng CĐ Công nghệ Thủ Đức Phan Thị Thể Trang 37 Trƣờng CĐ Công nghệ Thủ Đức Phan Thị Thể Trang 38 Trƣờng CĐ Công nghệ Thủ Đức Phan Thị Thể Trang 39 Trƣờng CĐ Công nghệ Thủ Đức Ví dụ 2: Trị chơi Snakes and Ladders Phan Thị Thể Trang 40 Trƣờng CĐ Công nghệ Thủ Đức Các giá trị finalSquare, board, square, diceRoll đƣợc khởi tạo cách nhƣ trƣớc: let finalSquare = 25 var board = [Int](count: finalSquare + 1, repeatedValue: 0) board[03] = +08; board[06] = +11; board[09] = +09; board[10] = +02 board[14] = -10; board[19] = -11; board[22] = -02; board[24] = -08 var square = 10 11 var diceRoll = Phiên trò chơi sử dụng vòng lặp while lệnh switch để thực logic trị chơi Vịng lặp while có nhãn lệnh gọi gameLoop, để vịng lặp trị chơi cho trị chơi Snakes and Ladders Điều kiện vòng lặp while while square != finalSquare, để phản ánh phải hạ cánh xác vng 25: gameLoop: while square != finalSquare { if ++diceRoll == { diceRoll = } switch square + diceRoll { Phan Thị Thể Trang 41 Trƣờng CĐ Công nghệ Thủ Đức case finalSquare: // diceRoll will move us to the final square, so the game is over 10 11 break gameLoop 12 13 case let newSquare where newSquare > finalSquare: 14 15 // diceRoll will move us beyond the final square, so roll again 16 17 continue gameLoop 18 19 default: 20 21 // this is a valid move, so find out its effect 22 23 square += diceRoll 24 25 square += board[square] 26 27 } 28 29 } 30 31 println("Game over!”) Ví dụ 3: Chƣơng trình hỏi đáp dựa vào sở liệu đƣợc lƣu trữ CoreData Khi ngƣời dùng nhập vào câu hỏi, hệ thống đƣa câu trả lời tƣơng ứng Phan Thị Thể Trang 42 Trƣờng CĐ Cơng nghệ Thủ Đức Ví dụ 4: Sử dụng Map Iphone để load đồ thành phố chức tìm kiếm đƣờng đến địa điểm cho trƣớc Phan Thị Thể Trang 43 Trƣờng CĐ Công nghệ Thủ Đức 2.3 So sánh ngôn ngữ Objective-C Swift Theo WWDC, Swift đƣợc thiết kế với nhiều: an toàn, đại, mạnh mẽ (Safe, Modern, Power) Cú pháp Swift đƣợc thiết kế Programmer/ Developer tạo code lỗi Và có lỗi code nào, trình soạn thảo Xcode cảnh báo rõ ràng để programmer sửa Khi sử dụng ngơn ngữ Swift để lập trình, ghi dịng code so với Objective-C Ví dụ khơng sử dụng dấu cuối câu Và số tính khác nhƣ Extensions Sau ví dụ để so sánh code Swift Objective-C Objective-C //Non-Mutable Dictionary NSDictionary * myFixedDictionary = @{@"key1":@"This is value1",@"key2":@"This is value2"}; Phan Thị Thể Swift //Constant Dictionary (Almost similar with Non-Mutable Dictionary) let myFixedDictionary = ["key1":"This is the value1","key2":"This is value2"] Trang 44 Trƣờng CĐ Công nghệ Thủ Đức // Mutable Dictionary NSMutableDictionary * myFlexibleDictionary = 10 [[NSMutableDictionary alloc]init]; 11 //Set Object using Old Syntax 12 [myFlexibleDictionary 13 setObject:@"This is value1" 14 forKey:@"key1"]; 15 //Set Object using New Syntax 16 [myFlexibleDictionary 17 setObject:@"This is value2" 18 forKey:@"key2"]; 19 20 NSLog(@"myFixedDictionary: 21 %@",myFixedDictionary); 22 NSLog(@"myFlexibleDictionary: 23 %@",myFlexibleDictionary); 24 25 //Non-Mutable Array 26 NSArray * myFixedArray = 27 [[NSArray alloc]initWithObjects:@"Object1", @"Object2",nil]; //Mutable Array NSMutableArray * myFlexibleArray = [[NSMutableArray alloc]init]; //Add Object using Old Syntax [myFlexibleArray addObject:@"Object1"]; //Add Object using New Syntax myFlexibleArray[1] = @"Object2"; //Variable Dictionary (Almost similar with Mutable Dictionary) var myFlexibleDictionary = [String : 10 String]() 11 myFlexibleDictionary["key1"] = "This 12 is the value1" 13 myFlexibleDictionary["key2"] = "This 14 is the value2" 15 16 println("myFixedDictionary: 17 \(myFixedDictionary)") 18 println("myFlexibleDictionary: 19 \(myFlexibleDictionary)") 20 21 //Constant Array (Almost similar with 22 Non-Mutable Array) 23 let myFixedArray: [String] = ["Object1", "Object1"] //Variable Array (Almost similar with Mutable Array) var myFlexibleArray = [String]() myFlexibleArray.append("Object1") myFlexibleArray.append("Object2") println("myFixedArray: \(myFixedArray)") println("myFlexibleArray: \(myFlexibleArray)") NSLog(@"myFixedArray: %@",myFixedArray); NSLog(@"myFlexibleArray: %@",myFlexibleArray); Trong ví dụ sử dụng NSDictionary, NSMutableDictionary, NSArray NSMutableArray, cấu trúc Array Dictionary Swift Objective-C giống Nhƣng nhận thấy code Swift đơn giản ngắn Phan Thị Thể Trang 45 Trƣờng CĐ Công nghệ Thủ Đức n CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 3.1 Các kết đạt đƣợc hạn chế đề tài Các kết đạt đƣợc: Tìm hiểu thực đƣợc số chƣơng trình đơn giản lập trình SWIFT Cập nhật chƣơng trình đào tạo “Lập trình di động iOS” 3.2 Hƣớng phát triển Xây dựng chƣơng trình ứng dụng chạy Smart Phone Cập nhật chƣơng trình học phần lập trình di động cao đẳng ngành công nghệ thông tin TÀI LIỆU THAM KHẢO [1] https://developer.apple.com/library/prerelease/ios/documentation/Swift [2] http://rachufour.org/alonso/2015/01/07/importing-and-quering-through-an-sqlitedatabase-in-swift-ios/ [3] https://github.com/vsco/swift-benchmarks Phan Thị Thể Trang 46