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

Introductie iOS - Jens

Introductie iOS - Jens

Introductie iOS door Jens Goeman

AppFoundry

April 24, 2019
Tweet

More Decks by AppFoundry

Other Decks in Programming

Transcript

  1. Jens Goeman
    iOS CONSULTANT
    [email protected]
    iOS Introductie

    View Slide

  2. Count all the emoij in the presentation and win no prize!
    Presentation Game

    View Slide

  3. • Installed base 900 miljoen
    • 12 versies iOS
    • 17 verschillende toestellen
    • 180+ biljoen downloads van de App
    Store
    10 years of iPhone.

    View Slide

  4. Ontwikkelen voor iOS

    View Slide

  5. • Apple ID / Developer Account
    • Xcode
    • Simulator
    • Swift of Objective-C
    • Code Signing
    Ontwikkelen voor iOS

    View Slide

  6. • Besturing systeem
    • iPhone en iPad
    • Andere:
    • tvOS
    • watchOS
    • macOS
    iOS?

    View Slide

  7. • 99$ per jaar
    • Beta downloads
    • App Store releases
    • Externe testers
    • Software
    Apple Developer Program

    View Slide

  8. • IDE
    • Interface designer
    • Simulator
    • Crashlogs
    Xcode

    View Slide

  9. • Controle
    • Wie ben jij
    • Welke app
    • Wie mag installeren
    • Welke distributie
    Code signing

    View Slide

  10. Code signing

    App ID
    Development AD-HOC AppStore Enterprise
    Development AD-HOC AppStore Enterprise
    + +

    View Slide

  11. Objective-C

    View Slide

  12. • …
    • Rare syntax
    • Dynamic language
    • Bewezen
    • Nog veel legacy
    • Superset van C
    Objective-C

    #pragma mark
    id
    @interface
    (nonatomic, strong)
    [self.contentView addSubview:self.swipeView];
    NSString *filePath = @“%@/Image%@.pdf”;
    #import
    UIButton *shareButton;

    View Slide

  13. Swift

    View Slide

  14. • “nieuw” ✨
    • Snel
    • Veiliger
    • Meer leesbaar
    • Open source
    Swift
    let label = UILabel()
    class PillView {}
    self.stackview.axis = .horizontal
    func viewDidLoad() {}
    let channel = "IPA"
    super.viewDidLoad()

    View Slide

  15. Let’s get swifty

    View Slide

  16. Type
    Bool Int Double Float
    String Array Dictionary Set

    View Slide

  17. Declaring Variables

    View Slide

  18. Range operators

    View Slide

  19. Tuple

    View Slide

  20. String

    View Slide

  21. Collection Types

    View Slide

  22. Array

    View Slide

  23. Set

    View Slide

  24. Dictionary

    View Slide

  25. If Control flow

    View Slide

  26. Switch Control flow

    View Slide

  27. For-In Control flow

    View Slide

  28. Functions

    View Slide

  29. Closures

    View Slide

  30. Enums

    View Slide

  31. Structs and Classes

    View Slide

  32. I know this, let’s go already!

    View Slide

  33. • Memory management (ARC)
    • Async
    • Online / Offline
    • Provisioning
    • Auto-layout
    • Swift versie
    • App Store Review
    Typische uitdagingen

    View Slide












  34. 3

    5
    6
    7
    8
    9:











    View Slide

  35. Architectuur - MVC

    View Slide

  36. • Gebruik van externe libs
    • cocoapods
    • Carthage
    • Swift package manager
    Dependency Management

    View Slide

  37. Common Dependencies
    Dependency Use
    Swinject Dependency Injection
    Alamofire Networking
    Quick, Nimble Testing
    RXSwift Reactive Programing

    View Slide

  38. A day in the life of. . .

    View Slide

  39. • AppFoundry < Xplore group < Cronos group
    • Consultant
    • Klant
    • Intern
    • Technologie
    • iOS / Android / React / React-Native / Nodejs
    • Conferenties
    • Team events
    AppFoundry

    View Slide

  40. 1. Ontwikkelen
    2. Testen
    3. Samen werken met QA
    4. Repeat
    5. Release voor bereiden
    1. Build
    2. iTunes
    Day 0

    View Slide

  41. Day 1-5
    Chill, and wait for Apple

    View Slide

  42. Day 2-6
    1. Apple approved
    2. Dubble check met business
    3. Release (phased roll-out)
    4. Checking logs

    View Slide

  43. Questions

    View Slide

  44. Jens Goeman
    iOS CONSULTANT
    E: [email protected]
    Contact Details
    AppFoundry
    MERELBEKE - KONTICH - HASSELT
    W: www.appfoundry.be
    M: +32 (0)3 871 99 66
    E: [email protected]

    View Slide

  45. Emoij Count

    View Slide

  46. Emoij Count
    38

    View Slide