Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Tools, Frameworks, & Swift for iOS

1,695 views

Published on

Apple announced Swift, a new programming language for Cocoa and Cocoa Touch, at its Worldwide Developer Conference (WWDC) in June 2014. This session will provide details on this new programming language and how it can be leveraged for iOS 8, which is slated for a fall 2014 release. Resources, frameworks, and design considerations for iOS development will also be explored, with a tie into iOS app development for enterprise and business. This talk will also touch on HTML5 for iOS.

Published in: Technology
  • Be the first to comment

Tools, Frameworks, & Swift for iOS

  1. 1. Tools & Libraries for iOS Teri Grossheim Mobile+Web Devcon Chicago 2014
  2. 2. Agenda Tools & Frameworks Swift Basics HTML5 Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  3. 3. Apple Developer Programs Separate programs for iOS & OS X (Individual vs. Company) Apps distributed on App Store iOS Developer Enterprise Program iOS Developer University Program Safari Developer Program Register as an Apple Developer Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  4. 4. Apple Developer Library For iOS, OS X, Safari, iAd Programming Guides Reference Code Sample Code Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  5. 5. Tools & Frameworks Xcode Xcode Service Instruments The Developer Library Other Tools iOS SDK Frameworks Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  6. 6. Xcode Suite of Development Tools Write & Debug iOS Simulator Instruments Interface Builder Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  7. 7. Xcode Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  8. 8. Xcode Service OS X Server Enable Access to Source Code Repositories Configure Bots to Perform Continuous Integrations Manage & Monitor Bots from Log Navigator & Web Browser Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  9. 9. Instruments Analyze performance of iOS apps Gathers data about: Memory Usage Disk Activity Network Activity Graphics Correlation of data Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  10. 10. Playgrounds A new type of document in Xcode 6 Design a new algorithm Create new tests Experiment with new APIs Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  11. 11. Other Tools AppCode Injection for Xcode Dash Objective-Clean Hockey Coach Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  12. 12. iOS SDK Cocoa Touch Layer: Key frameworks Media Layer: Graphics, audio, and video technologies Core Services Layer: Fundamental system services for apps Core OS Layer: Low-level features Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  13. 13. Cocoa Touch Layer Key Technologies AirDrop Text Kit UI Kit Dynamics Multitasking Auto Layout Storyboards APNS Gesture Recognizers Standard SystemView Controllers Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  14. 14. Cocoa Touch Layer Frameworks AddressBookUI MapKit EventKitUI MessagesUI iAd.framework UIKit Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  15. 15. Core Services Layer Peer-to-Peer Services iCloud Storage Automatic Reference Counting Block Objects Data Protection File-Sharing Support Grand Central Dispatch In-App Purchase SQLite XML Support Key Technologies Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  16. 16. Core Services Layer Frameworks Accounts Event Kit Address Book Foundation Ad Support HealthKit CFNetwork HomeKit Core Data JavaScript Core Core Foundation PassKit Core Location PushKit Core Motion StoreKit Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  17. 17. Core Services Layer New for iOS 8 HealthKit Headers ! HKDefines HKHealthStore HKMetadata HKObjectType HKStatistics HKType Identifiers HKUnit HomeKit Headers ! HMAccessory HMCharacteristic HKCharacteristicMetadata HMError HMHome HM Service Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  18. 18. Core Services Layer New for iOS 8 Network Extension Headers ! NEOnDemandRule NEVPNConnection NEVPNProtocolIKEv2 NEVPNProtocolIPSec ! Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  19. 19. Core Services ! iBeacon/Location Based Apps Passes & Passbook Health/Fitness Apps Home Automation Apps Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  20. 20. Core OS Layer Frameworks Accelerate Core Bluetooth External Accessory Generic Security Service Security System 64-bit Support Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  21. 21. Swift Cocoa & Cocoa Touch Objective-C & C Xcode 6 (beta) Fast, Modern, Safe, 
 Interactive Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  22. 22. Swift - The Basics var languageName: String = “Swift” var version: Double = 1.0 var introduced: Int = 2014 var isAwesome: Bool = true Constants &Variables let languageName: String = “Swift” var version: Double = 1.0 let introduced: Int = 2014 let isAwesome: Bool = true Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  23. 23. Swift - The Basics var languageName: String = “Swift” var version: Double = 1.0 var introduced: Int = 2014 var isAwesome: Bool = true Type Inference let languageName:“Swift” var version = 1.0 let introduced = 2014 let isAwesome = true Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  24. 24. Swift - The Basics Strings let someString = “I appear to be a string” // inferred to be of type String ! urlRequest.HTTPMethod = “POST” ! let components = “~/Documents/Swift”.pathComponents // [“~”,“Documents”,“Swift”] Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  25. 25. Swift - The Basics Characters for character in “chicago” { printIn(character) } ! c h i c a g o Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  26. 26. Swift - The Basics Building Complex Strings let a = 3, b = 5 ! // “3 times 5 is 15” ! let mathResult = “(a) times (b) is (a * b)” ! // “3 times 5 is 15” ! Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  27. 27. Swift - The Basics Array & Dictionary let components = “~/Documents/Swift”.pathComponents // [“~”,“Documents”,“Swift”] // returns an Array, not an NS array Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  28. 28. Swift - The Basics Typed Collections var names: String [ ] = [“Aaron”,“Anne”,“Bill”,“Jim”] var names = [“Aaron”,“Anne”,“Bill”,“Jim”] // an array of String values var numberOfLegs = [“dog”: 4, “spider”: 8, “zebra”: 4] // an Dictionary with String keys and Int values Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  29. 29. Swift - The Basics Modifying an Array var shoppingList = [ “Butter” , “Carrots” ] printIn(shoppingList[0]) shoppingList += “Sugar” shoppingList += [ “Salt” , “Pepper” , “Thyme” ] shoppingList[1] += “Three carrots” shoppingList[4…6] += [ “Sage” ,“Rosemary” ,“Garlic” ] [ “Butter” , Carrots” ] [ “Butter” ,“Carrots” ,“Sugar” ] [ “Butter” ,“Carrots” ,“Sugar” ,“Salt” ,“Pepper” , Thyme” ] [ “Butter” ,“Three carrots” ,“Sugar” ,“Salt” ,“Pepper” , Thyme” ] [ “Butter” ,“Three carrots” ,“Sugar” ,“Sage” ,“Rosemary” , Garlic” ] Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  30. 30. Swift - The Basics Modifying a Dictionary var numberOfLegs = [“dog”: 3, spider”: 8, “zebra”: 4] numberOfLegs[“snake”] = 0 numberOfLegs[“dog”] = 4 [ “dog”: 3,“spider”: 8, “zebra”: 4] [ “dog”: 3,“spider”: 8, “zebra”: 4, “snake”: 0] [ “dog”: 4,“spider”: 8, “zebra”: 4, “snake”: 0] Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  31. 31. Swift - The Basics RetrievingValue from a Dictionary using Optionals var numberOfLegs = [“dog”: 4, spider”: 8, “zebra”: 4] ! let possibleLegCount: Int? = numberOfLegs [ “ant” ] ! if possibleLegCount == nil { printIn(“Ant wasn’t found”) } else { let legCount = possibleLegCount! printIn(“An ant has (legCount) legs”) } Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  32. 32. HTML5 ! Safari Developer Library Safari Extensions Web Inspector Web App & iOS Web Apps Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  33. 33. References WWDC 2014 Videos Introduction to Swift
 Swift Playgrounds Other Tools Adam Swinden: http://ios.devtools.me
 Ben Scheirman: http://benscheirman.com/2013/08/the-ios-developers-toolbelt/ iOS Developer Library Xcode Overview: https://developer.apple.com/library/mac/documentation/ToolsLanguages/Conceptual/ Xcode_Overview/Xcode_Overview.pdf 
 Xcode Service: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide- continuous_integration/000-About_Continuous_Integration/about_continuous_integration.html#//apple_ref/ doc/uid/TP40013292-CH1-SW1 
 iOS Technology Overview: https://developer.apple.com/library/ios/documentation/miscellaneous/conceptual/ iphoneostechoverview/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007898-CH1-SW1 
 iOS Technology Overview: iOS Developer Tools: https://developer.apple.com/library/ios/documentation/ miscellaneous/conceptual/iphoneostechoverview/iPhoneOSDeveloperTools/iPhoneOSDeveloperTools.html 
 Safari for Developers: https://developer.apple.com/safari/features/ 
 iOS 7.1 to iOS 8.0 API Differences: https://developer.apple.com/library/prerelease/ios/releasenotes/General/ iOS80APIDiffs/index.html#//apple_ref/doc/uid/TP40014455 Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014
  34. 34. ThankYou - Q&A 
 @terigrossheim 
 terigrossheim@icloud.com
 
 Teri Grossheim
 
 google.com/+TeriGrossheim ! Teri Grossheim - Tools & Libraries for iOS - Mobile+Web Devcon Chicago 2014

×