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

Introduction à Swift

Introduction à Swift

Une brève introduction au développement avec le langage Swift.

5bfb729f6ac07e17c2326a7335a3f3be?s=128

yageek

July 14, 2016
Tweet

Transcript

  1. © 2016 Yannick Heinrich. All Rights Reserved. #SWIFT Technology Introduction

    à Swift Yannick Heinrich iOS Developer
  2. Architecture Historique Swift Application sur iOS Plan

  3. Architecture

  4. Architecture BSD/Darwin Core Foundation Foundation libdispatch Swift

  5. Historique

  6. •1970 (Avant C++) • Objective-C —> C •POO, réflexif et

    typage « faible » • Dynamique (Moteur d’exécution) • Gestion de la mémoire manuelle (conventions) ou automatique (pas de GC) • Fermetures depuis Objective-C 2.0 • Classe racine (NSObject) • Protocoles (presque une interface) Objective-C
  7. Core Foundation -> C •Statique, C, POO like •Abstraction au

    dessus de BSD pour Threads, Network, File descriptors, Syscall, etc… Foundation -> Objective-C •Abstraction au dessus de Core Foundation GCD -> C •Abstraction pour la concurrence •API plus haut niveau dans Foundation (NSOperation) Historique
  8. Objective-C •Gestion de la mémoire (améliorée depuis Objective-C2.0) •Pas de

    surcharge d’opérateurs, méthodes (pas de mangling) •Pas de généricitée •Typage faible •Conventions vs Obligations •Verbeux (reste du C) Désavantages
  9. Swift

  10. •Développé par Apple •Hautement typé •Généricité, pattern matching, try/catch, guard,

    defer, optionnels, … •Mangling •Compatible avec Objective-C et C •Protocol Oriented Language •Constraints > C++ templates Swift
  11. •Open Source depuis Noël 2015 :) •Fonctionne sur Linux et

    Darwin •API changeante depuis 2.2 —> Stabilisation avec 3.0 •Utilisable ailleurs que sur  —> Toolchain dédiée —> https://swift.org/ Swift
  12. Playground Swift

  13. Application sur iOS

  14. •Singleton (pas crier) •Delegation •Class Cluster •Reactor •Poids Mouche •MVC

    Patterns
  15. Application OS Screen Button Current Active App Inactive App Inactive

    App HAL IPC
  16. UIApplication UIApplication Delegate UIApplicationMain() main() Run Loop Background

  17. Une zone d’écran/Une portion d’écran === ViewController + View Contrôleurs

    et Vues
  18. •Code •Graphiquement avec Interface Builder Création des vues

  19. Création des vues

  20. Création des vues

  21. More Information Swift.org https://swift.org/ The Swift Programming Language (Swift 2.2)

    https://developer.apple.com/library/ios/documentation/ Swift/Conceptual/Swift_Programming_Language/ Start Developing iOS Apps (Swift) https://developer.apple.com/library/ios/referencelibrary/ GettingStarted/DevelopiOSAppsSwift/index.html