Introductie iOS - Jens

Introductie iOS - Jens

Introductie iOS door Jens Goeman

103e1ebcacd620770cf32a36b9aba17e?s=128

AppFoundry

April 24, 2019
Tweet

Transcript

  1. Jens Goeman iOS CONSULTANT jens.goeman@appfoundry.be iOS Introductie

  2. Count all the emoij in the presentation and win no

    prize! Presentation Game
  3. • Installed base 900 miljoen • 12 versies iOS •

    17 verschillende toestellen • 180+ biljoen downloads van de App Store 10 years of iPhone.
  4. Ontwikkelen voor iOS

  5. • Apple ID / Developer Account • Xcode • Simulator

    • Swift of Objective-C • Code Signing Ontwikkelen voor iOS
  6. • Besturing systeem • iPhone en iPad • Andere: •

    tvOS • watchOS • macOS iOS?
  7. • 99$ per jaar • Beta downloads • App Store

    releases • Externe testers • Software Apple Developer Program
  8. • IDE • Interface designer • Simulator • Crashlogs Xcode

  9. • Controle • Wie ben jij • Welke app •

    Wie mag installeren • Welke distributie Code signing
  10. Code signing App ID Development AD-HOC AppStore Enterprise Development AD-HOC

    AppStore Enterprise + +
  11. Objective-C

  12. • … • Rare syntax • Dynamic language • Bewezen

    • Nog veel legacy • Superset van C Objective-C #pragma mark id <UIViewControllerAnimatedTransitioning> @interface (nonatomic, strong) [self.contentView addSubview:self.swipeView]; NSString *filePath = @“%@/Image%@.pdf”; #import <UIKit/UIKit.h> UIButton *shareButton;
  13. Swift

  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()
  15. Let’s get swifty

  16. Type Bool Int Double Float String Array Dictionary Set

  17. Declaring Variables

  18. Range operators

  19. Tuple

  20. String

  21. Collection Types

  22. Array

  23. Set

  24. Dictionary

  25. If Control flow

  26. Switch Control flow

  27. For-In Control flow

  28. Functions

  29. Closures

  30. Enums

  31. Structs and Classes

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

  33. • Memory management (ARC) • Async • Online / Offline

    • Provisioning • Auto-layout • Swift versie • App Store Review Typische uitdagingen
  34. 3 5 6 7 8 9: ☃

  35. Architectuur - MVC

  36. • Gebruik van externe libs • cocoapods • Carthage •

    Swift package manager Dependency Management
  37. Common Dependencies Dependency Use Swinject Dependency Injection Alamofire Networking Quick,

    Nimble Testing RXSwift Reactive Programing
  38. A day in the life of. . .

  39. • AppFoundry < Xplore group < Cronos group • Consultant

    • Klant • Intern • Technologie • iOS / Android / React / React-Native / Nodejs • Conferenties • Team events AppFoundry
  40. 1. Ontwikkelen 2. Testen 3. Samen werken met QA 4.

    Repeat 5. Release voor bereiden 1. Build 2. iTunes Day 0
  41. Day 1-5 Chill, and wait for Apple

  42. Day 2-6 1. Apple approved 2. Dubble check met business

    3. Release (phased roll-out) 4. Checking logs
  43. Questions

  44. Jens Goeman iOS CONSULTANT E: jens.goeman@appfoundry.be Contact Details AppFoundry MERELBEKE

    - KONTICH - HASSELT W: www.appfoundry.be M: +32 (0)3 871 99 66 E: info@appfoundry.be
  45. Emoij Count

  46. Emoij Count 38