Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Swift and the future of iOS

Swift and the future of iOS

Avatar for Chiara Chiappini

Chiara Chiappini

November 23, 2015

More Decks by Chiara Chiappini

Other Decks in Programming

Transcript

  1. Swift @chiarachiappini Jun 2014 June 2015 Some point this year?

    Swift announced at WWDC 2014 Swift 2 announced at WWDC 2015 Swift will be open source
  2. Swift and Objective-C Swift let name ="Chiara" print("Hello \(name)") Objective-C

    NSString*str =@"Hello Chiara"; NSLog(@"%@", str) @chiarachiappini
  3. sudo gem install cocoapods pod init edit PodFile (similar to

    editing pom.xml) pod install @chiarachiappini
  4. platform :ios, '8.0' use_frameworks! target 'SwiftTalk' do pod 'Alamofire', '~>

    3.1' end target 'SwiftTalkTests' do pod 'Quick', '~> 0.6.0' pod 'Nimble', '2.0.0-rc.3' end
  5. protocol Sweet { var sugarQuantity: Int { get } }

    class BlackChocolate: Sweet { var sugarQuantity: Int = 10 } @chiarachiappini
  6. XCTest example class MyTestsXCTests: XCTestCase{ let myNumbers = [1,2,3] func

    testNumbersWithXCTest() { XCTAssertEqual(1 + 1, 2, "expected one plus one to equal two") for number in myNumbers{ XCTAssertLessThan(number, 4) } } } @chiarachiappini
  7. Use @testable import XCTest @testable import CodemotionExamples class CodemotionExamplesTests: XCTestCase

    { func testBlackChocolateHasSugar() { let blackChocolate = BlackChocolate() XCTAssertEqual(blackChocolate.sugarQuantity, 10, "Expected sugar quantity is 10") } } @chiarachiappini
  8. Quick class MyTestsQuick: QuickSpec { override func spec() { describe("Testing

    numbers") { context("when adding 1 and 2"){ it("results as 3") { expect(1+2).to(equal(3)) } } } @chiarachiappini
  9. Continuous Integration early feedback team peace of mind and alerting

    standardized build record of results @chiarachiappini
  10. Continuous Integration early feedback team peace of mind and alerting

    standardized build record of results support release process @chiarachiappini
  11. Continuous Integration early feedback team peace of mind and alerting

    standardized build record of results support release process first step to continuous deployment @chiarachiappini
  12. Jenkins Jobs build and unit test the app run acceptance

    tests build application archive (ipa) @chiarachiappini
  13. Jenkins Jobs build and unit test the app run acceptance

    tests build application archive (ipa) tag and archive the ipa @chiarachiappini
  14. Jenkins Jobs build and unit test the app run acceptance

    tests build application archive (ipa) tag and archive the ipa send to TestFlight @chiarachiappini
  15. What we learnt What is Swift How to practice Some

    Java-Swift language equivalences
  16. What we learnt What is Swift How to practice Some

    Java-Swift language equivalences Tools
  17. What we learnt What is Swift How to practice Some

    Java-Swift language equivalences Tools Testing and CI