SlideShare une entreprise Scribd logo
Anthony Névo

Antoine Cabot



                3 July 2012
Qui sommes nous ?


                    Antoine Cabot
                    Fondateur
                    Antoine Cabot, diplômé de Télécom Bretagne et passionné de technologie
                    mobile a conçu, développé et déployé des services mobiles pour l’opérateur
                    mobile Orange durant 4 ans avant de fonder Haploid. Il a suivi et analysé la
                    montée en puissance des Smartphones depuis 2004 et a été un des artisans
                    du succès du lancement de l’iPhone en France en tant qu’expert Visual
                    Voicemail pour Orange. Passionné d’innovation, il souhaite apporter aux
                    utilisateurs des services convergents et de qualité. 



                    Anthony Nevo
                    Directeur Technique
                    Anthony Névo, diplômé du Cork Institute of Technology et de l'ISTIC Rennes,
                    est passionné par les nouvelles technologies et les interfaces graphiques depuis
                    toujours. Il a eu la chance de travailler et d'acquérir une large expertise sur les 3
                    principales plateformes de ces 15 dernières années: les applications PC/Mac,
                    les services et technologies sur le web et enfin les "apps" sur smartphones et
                    tablettes. Parmi ses nombreuses expériences, Anthony a été employé chez
                    Motorola, Cap Gemini ou encore Orange.




                                                                                                            2
Haploid en 2 mots




                    iOS   Android   HTML5




                                            3
Quelques chiffres en vrac




                            4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +
                           Google)




                                               4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +
                           Google)

                               150 milliards de $ de
                              revenus annuels sur le
                                     matériel




                                                       4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +
                           Google)

   150 milliards de $ de
                               150 milliards de $ de
            cash
                              revenus annuels sur le
                                     matériel




                                                       4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +
                           Google)

   150 milliards de $ de
                               150 milliards de $ de
            cash
                              revenus annuels sur le
                                     matériel
           3 milliards de $ de
        revenus pour l’AppStore




                                                       4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +
                           Google)

   150 milliards de $ de
                               150 milliards de $ de
            cash
                              revenus annuels sur le
                                     matériel
           3 milliards de $ de
        revenus pour l’AppStore      500 Millions de
                                  terminaux iOS dans le
                                         monde




                                                          4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +
                           Google)

   150 milliards de $ de
                               150 milliards de $ de
            cash
                              revenus annuels sur le      600 000 apps iPhone
                                     matériel
           3 milliards de $ de
        revenus pour l’AppStore      500 Millions de
                                  terminaux iOS dans le
                                         monde




                                                                                4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +
                           Google)

   150 milliards de $ de
                               150 milliards de $ de
            cash
                              revenus annuels sur le      600 000 apps iPhone
                                     matériel
           3 milliards de $ de                             200 000 apps optimisées
        revenus pour l’AppStore      500 Millions de             pour l’iPad
                                  terminaux iOS dans le
                                         monde




                                                                                4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +
                           Google)

   150 milliards de $ de
                               150 milliards de $ de
            cash
                              revenus annuels sur le      600 000 apps iPhone
                                     matériel
           3 milliards de $ de                             200 000 apps optimisées
        revenus pour l’AppStore      500 Millions de             pour l’iPad
                                  terminaux iOS dans le
                                         monde



                                         2000 nouvelles apps chaque
                                                  semaine




                                                                                4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +             46 millions d’applis
                           Google)                 téléchargées chaque jour dans
                                                     le monde (530 par seconde)
   150 milliards de $ de
                               150 milliards de $ de
            cash
                              revenus annuels sur le      600 000 apps iPhone
                                     matériel
           3 milliards de $ de                             200 000 apps optimisées
        revenus pour l’AppStore      500 Millions de             pour l’iPad
                                  terminaux iOS dans le
                                         monde



                                         2000 nouvelles apps chaque
                                                  semaine




                                                                                4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +             46 millions d’applis
                           Google)                 téléchargées chaque jour dans
                                                     le monde (530 par seconde)
   150 milliards de $ de
                               150 milliards de $ de
            cash
                              revenus annuels sur le      600 000 apps iPhone
                                     matériel
           3 milliards de $ de                             200 000 apps optimisées
        revenus pour l’AppStore      500 Millions de             pour l’iPad
                                  terminaux iOS dans le
                                         monde
                                                          26 milliards de
                                                   téléchargements depuis 2008

                                         2000 nouvelles apps chaque
                                                  semaine




                                                                                4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +             46 millions d’applis
                           Google)                 téléchargées chaque jour dans
                                                     le monde (530 par seconde)
   150 milliards de $ de
                               150 milliards de $ de
            cash
                              revenus annuels sur le      600 000 apps iPhone
                                     matériel
           3 milliards de $ de                             200 000 apps optimisées
        revenus pour l’AppStore      500 Millions de             pour l’iPad
                                  terminaux iOS dans le
                                         monde
                                                          26 milliards de
                                                   téléchargements depuis 2008
                   65% d’applications
                       payantes
                                         2000 nouvelles apps chaque
                                                  semaine




                                                                                4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +             46 millions d’applis
                           Google)                 téléchargées chaque jour dans
                                                     le monde (530 par seconde)
   150 milliards de $ de
                               150 milliards de $ de
            cash
                              revenus annuels sur le      600 000 apps iPhone
                                     matériel
           3 milliards de $ de                             200 000 apps optimisées
        revenus pour l’AppStore      500 Millions de             pour l’iPad
                                  terminaux iOS dans le
                                         monde
                                                          26 milliards de
                                                   téléchargements depuis 2008
                   65% d’applications
                       payantes
                                         2000 nouvelles apps chaque
                                                  semaine
        76% des revenus mobiles




                                                                                4
Quelques chiffres en vrac

               valorisation boursière de 527
               milliards de $ (= Microsoft +             46 millions d’applis
                           Google)                 téléchargées chaque jour dans
                                                     le monde (530 par seconde)
   150 milliards de $ de
                               150 milliards de $ de
            cash
                              revenus annuels sur le      600 000 apps iPhone
                                     matériel
           3 milliards de $ de                             200 000 apps optimisées
        revenus pour l’AppStore      500 Millions de             pour l’iPad
                                  terminaux iOS dans le
                                         monde
                                                          26 milliards de
                                                   téléchargements depuis 2008
                   65% d’applications
                       payantes
                                         2000 nouvelles apps chaque
                                                  semaine
        76% des revenus mobiles
                                                  1 milliard de téléchargement
                                                         pour Angry Birds

                                                                                 4
Ou publier son app ?




                       5
L’eco-système post-PC Apple




                              6
iOS - La genèse




   2007           2008   2009   2010   2011   2012


                                                 7
iOS - La genèse




 Lancement
 de l’iPhone

   iOS 1.x



   2007           2008   2009   2010   2011   2012


                                                 7
iOS - La genèse




                  Lancement
                  de l’iPhone
                       3G
                  Ouverture
                       de
                  l’AppStore
 Lancement
 de l’iPhone         iOS 2.x

   iOS 1.x



   2007            2008         2009   2010   2011   2012


                                                        7
iOS - La genèse




                                Lancement
                                de l’iPhone
                                    3GS
                                  100 000
                  Lancement        apps
                  de l’iPhone   disponibles
                       3G
                  Ouverture       iOS 3.x
                       de
                  l’AppStore
 Lancement
 de l’iPhone         iOS 2.x

   iOS 1.x



   2007            2008           2009        2010   2011   2012


                                                               7
iOS - La genèse




                                              Lancement
                                              de l’iPhone
                                                    4
                                Lancement     Lancement
                                de l’iPhone    de l’iPad
                                    3GS
                                  100 000       iOS 4.x
                  Lancement        apps
                  de l’iPhone   disponibles
                       3G
                  Ouverture       iOS 3.x
                       de
                  l’AppStore
 Lancement
 de l’iPhone         iOS 2.x

   iOS 1.x



   2007            2008           2009          2010        2011   2012


                                                                      7
iOS - La genèse


                                                            Lancement
                                                            de l’iPhone
                                                                 4S
                                              Lancement     Lancement
                                              de l’iPhone   de l’iPad 2
                                                    4
                                Lancement     Lancement
                                               de l’iPad      iOS 5.x
                                de l’iPhone
                                    3GS
                                  100 000       iOS 4.x
                  Lancement        apps
                  de l’iPhone   disponibles
                       3G
                  Ouverture       iOS 3.x
                       de
                  l’AppStore
 Lancement
 de l’iPhone         iOS 2.x

   iOS 1.x



   2007            2008           2009          2010          2011        2012


                                                                             7
iOS - La genèse
                                                                          Lancement
                                                                          de l’iPad 3
                                                            Lancement
                                                            de l’iPhone
                                                                 4S
                                              Lancement     Lancement
                                              de l’iPhone   de l’iPad 2
                                                    4
                                Lancement     Lancement
                                               de l’iPad      iOS 5.x
                                de l’iPhone
                                    3GS
                                  100 000       iOS 4.x
                  Lancement        apps
                  de l’iPhone   disponibles
                       3G
                  Ouverture       iOS 3.x
                       de
                  l’AppStore
 Lancement
 de l’iPhone         iOS 2.x

   iOS 1.x



   2007            2008           2009          2010          2011          2012


                                                                                   7
Pourquoi développer sur iOS ?


   ‣   Accéder à 500 millions d’utilisateurs
       potentiels
   ‣   Bénéficier du système de paiement
       iTunes (300 millions de CB)
   ‣   Profiter de l’uniformité des terminaux
       (iPod Touch / iPhone / iPad)
   ‣   La validation Apple garantie la qualité
       de votre application
   ‣   La gestion de la sécurité (sandboxing)
   ‣   Maturité de la plateforme (héritée
       d’Unix et MacOS)




                                                 8
L’environnement de développement


   ‣   Un mac
   ‣   XCode (Mac App Store)
   ‣   1 iPod ou 1 iPhone ou 1 iPad

   ‣   79€ / an pour publier autant
       d’applications que l’on veut

   ‣   3 programmes
       ‣   Individual
       ‣   Company
       ‣   Enterprise ($299/an)
       ‣   University (free)


   ‣   déploiement sur 100 terminaux


                                       9
Processus de validation

‣   Les règles
    «We have over 350,000 apps in the App Store. We don't need any more Fart apps. If your app doesn't do
    something useful or provide some form of lasting entertainment, it may not be accepted.»
    «Apps must comply with all terms and conditions explained in the Apple iOS Human Interface Guidelines»
    «Apps that encourage users to use an Apple Device in a way that may cause damage to the device will be
    rejected»




‣   Choix des pays / choix des prix
‣   Produits In-App / Abonnements
‣   Le temps de validation
‣   Les bonnes pratiques (forum, ticket support)
‣   La validation express



                                                                                                        10
La vie d’une app sur l’App Store

   ‣   Les mises à jour
   ‣   Les notifications
   ‣   Le suivi des usages (Flurry & Google Analytics)
   ‣   Le marketing (screenshots, notes...)
   ‣   Les leviers (AppGratuites & Surikate)
   ‣   Mise en avant Apple en suivant la ligne de produits
   ‣   Les revenus ?
       ‣   Apple vous fait un virement tous les
           mois pour les ventes
       ‣   Monétisation publicitaire (iAd, AdMob)




                                                             11
Etre dans le top 25 ?




                        12
Un peu de technique...




                         13
Avant iOS




            14
Avant iOS



    ‣   NextStep (1988)




                          14
Avant iOS



    ‣   NextStep (1988)




                          14
Avant iOS



    ‣   NextStep (1988)




                          14
Avant iOS



    ‣   NextStep (1988)




                          14
Avant iOS




            15
Avant iOS



    ‣   Mac OS X Cheetah (2001)




                                  15
Avant iOS



    ‣   Mac OS X Cheetah (2001)




                                  15
Avant iOS




            16
Avant iOS



    ‣   OS X Mountain Lion (2012)




                                    16
Avant iOS



    ‣   OS X Mountain Lion (2012)




                                    16
Fondations




             17
Fondations



    ‣   UNIX (BSD + NextStep)




                                17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:




                                17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:
        ‣   C / C++




                                17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:
        ‣   C / C++
        ‣   Objective-C




                                17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:
        ‣   C / C++
        ‣   Objective-C
        ‣   Web




                                17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:
        ‣   C / C++
        ‣   Objective-C
        ‣   Web
        ‣   (Flash :)




                                17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:
        ‣   C / C++
        ‣   Objective-C
        ‣   Web
        ‣   (Flash :)
    ‣   4 niveaux d’abstraction:




                                   17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:
        ‣   C / C++
        ‣   Objective-C
        ‣   Web
        ‣   (Flash :)
    ‣   4 niveaux d’abstraction:
        ‣   CoreOS




                                   17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:
        ‣   C / C++
        ‣   Objective-C
        ‣   Web
        ‣   (Flash :)
    ‣   4 niveaux d’abstraction:
        ‣   CoreOS
        ‣   Core Services




                                   17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:
        ‣   C / C++
        ‣   Objective-C
        ‣   Web
        ‣   (Flash :)
    ‣   4 niveaux d’abstraction:
        ‣   CoreOS
        ‣   Core Services
        ‣   Media


                                   17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:
        ‣   C / C++
        ‣   Objective-C
        ‣   Web
        ‣   (Flash :)
    ‣   4 niveaux d’abstraction:
        ‣   CoreOS
        ‣   Core Services
        ‣   Media
        ‣   Cocoa Touch

                                   17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:
        ‣   C / C++
        ‣   Objective-C
        ‣   Web
        ‣   (Flash :)
    ‣   4 niveaux d’abstraction:
        ‣   CoreOS
        ‣   Core Services
        ‣   Media
        ‣   Cocoa Touch

                                   17
Fondations



    ‣   UNIX (BSD + NextStep)
    ‣   Langages disponibles:
        ‣   C / C++
        ‣   Objective-C
        ‣   Web
        ‣   (Flash :)
    ‣   4 niveaux d’abstraction:
        ‣   CoreOS
        ‣   Core Services
        ‣   Media
        ‣   Cocoa Touch

                                   17
Core OS




          18
Core OS



    ‣   Couche la plus basse




                               18
Core OS



    ‣   Couche la plus basse
    ‣   Utilisée principalement pour:




                                        18
Core OS



    ‣   Couche la plus basse
    ‣   Utilisée principalement pour:
          ‣   Communication (bluetooth, accessoires, ...)




                                                            18
Core OS



    ‣   Couche la plus basse
    ‣   Utilisée principalement pour:
          ‣   Communication (bluetooth, accessoires, ...)
          ‣   Sécurité (trousseau d’accès, cryptographie, ...)




                                                                 18
Core OS



    ‣   Couche la plus basse
    ‣   Utilisée principalement pour:
          ‣   Communication (bluetooth, accessoires, ...)
          ‣   Sécurité (trousseau d’accès, cryptographie, ...)
          ‣   Accélération matérielle (via le framework
              Accelerate)




                                                                 18
Core OS



    ‣   Couche la plus basse
    ‣   Utilisée principalement pour:
          ‣   Communication (bluetooth, accessoires, ...)
          ‣   Sécurité (trousseau d’accès, cryptographie, ...)
          ‣   Accélération matérielle (via le framework
              Accelerate)
          ‣   Fonctions systèmes Unix:




                                                                 18
Core OS



    ‣   Couche la plus basse
    ‣   Utilisée principalement pour:
          ‣   Communication (bluetooth, accessoires, ...)
          ‣   Sécurité (trousseau d’accès, cryptographie, ...)
          ‣   Accélération matérielle (via le framework
              Accelerate)
          ‣   Fonctions systèmes Unix:
              ‣
                  Threading




                                                                 18
Core OS



    ‣   Couche la plus basse
    ‣   Utilisée principalement pour:
          ‣   Communication (bluetooth, accessoires, ...)
          ‣   Sécurité (trousseau d’accès, cryptographie, ...)
          ‣   Accélération matérielle (via le framework
              Accelerate)
          ‣   Fonctions systèmes Unix:
              ‣
                  Threading
              ‣
                  Réseau (Sockets, ...)




                                                                 18
Core OS



    ‣   Couche la plus basse
    ‣   Utilisée principalement pour:
          ‣   Communication (bluetooth, accessoires, ...)
          ‣   Sécurité (trousseau d’accès, cryptographie, ...)
          ‣   Accélération matérielle (via le framework
              Accelerate)
          ‣   Fonctions systèmes Unix:
              ‣
                  Threading
              ‣
                  Réseau (Sockets, ...)
              ‣
                  Accès au système de fichiers




                                                                 18
Core OS



    ‣   Couche la plus basse
    ‣   Utilisée principalement pour:
          ‣   Communication (bluetooth, accessoires, ...)
          ‣   Sécurité (trousseau d’accès, cryptographie, ...)
          ‣   Accélération matérielle (via le framework
              Accelerate)
          ‣   Fonctions systèmes Unix:
              ‣
                  Threading
              ‣
                  Réseau (Sockets, ...)
              ‣
                  Accès au système de fichiers
              ‣
                  Gestion de la mémoire



                                                                 18
Core OS



    ‣   Couche la plus basse
    ‣   Utilisée principalement pour:
          ‣   Communication (bluetooth, accessoires, ...)
          ‣   Sécurité (trousseau d’accès, cryptographie, ...)
          ‣   Accélération matérielle (via le framework
              Accelerate)
          ‣   Fonctions systèmes Unix:
              ‣
                  Threading
              ‣
                  Réseau (Sockets, ...)
              ‣
                  Accès au système de fichiers
              ‣
                  Gestion de la mémoire
              ‣
                  ...


                                                                 18
Core Service




               19
Core Service



     ‣   Propose un grand nombre de services:




                                                19
Core Service



     ‣   Propose un grand nombre de services:
         ‣   Réseau (CFNetwork)




                                                19
Core Service



     ‣   Propose un grand nombre de services:
         ‣   Réseau (CFNetwork)
         ‣   Core Data / SQLite




                                                19
Core Service



     ‣   Propose un grand nombre de services:
         ‣   Réseau (CFNetwork)
         ‣   Core Data / SQLite
         ‣   Foundation:




                                                19
Core Service



     ‣   Propose un grand nombre de services:
         ‣   Réseau (CFNetwork)
         ‣   Core Data / SQLite
         ‣   Foundation:
             ‣
                 gestion de types de données complexes (chaines,
                 dates, ...)




                                                                   19
Core Service



     ‣   Propose un grand nombre de services:
         ‣   Réseau (CFNetwork)
         ‣   Core Data / SQLite
         ‣   Foundation:
             ‣
                 gestion de types de données complexes (chaines,
                 dates, ...)
             ‣
                 préférences




                                                                   19
Core Service



     ‣   Propose un grand nombre de services:
         ‣   Réseau (CFNetwork)
         ‣   Core Data / SQLite
         ‣   Foundation:
             ‣
                 gestion de types de données complexes (chaines,
                 dates, ...)
             ‣
                 préférences
             ‣
                 ...




                                                                   19
Core Service



     ‣   Propose un grand nombre de services:
         ‣   Réseau (CFNetwork)
         ‣   Core Data / SQLite
         ‣   Foundation:
             ‣
                 gestion de types de données complexes (chaines,
                 dates, ...)
             ‣
                 préférences
             ‣
                 ...
         ‣   Géolocalisation (Core Location)




                                                                   19
Core Service



     ‣   Propose un grand nombre de services:
         ‣   Réseau (CFNetwork)
         ‣   Core Data / SQLite
         ‣   Foundation:
             ‣
                 gestion de types de données complexes (chaines,
                 dates, ...)
             ‣
                 préférences
             ‣
                 ...
         ‣   Géolocalisation (Core Location)
         ‣   Gestion des achats «In-app»




                                                                   19
Core Service



     ‣   Propose un grand nombre de services:
         ‣   Réseau (CFNetwork)
         ‣   Core Data / SQLite
         ‣   Foundation:
             ‣
                 gestion de types de données complexes (chaines,
                 dates, ...)
             ‣
                 préférences
             ‣
                 ...
         ‣   Géolocalisation (Core Location)
         ‣   Gestion des achats «In-app»
         ‣   Calendrier, Carnet d’adresses, Kiosque, ...



                                                                   19
Media




        20
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
        riches:




                                              20
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:
        Visuel:




                                              20
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:
        Visuel:
        ‣   Core Graphics (dessin bitmap et vectoriel en
            2D)




                                                           20
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:
        Visuel:
        ‣   Core Graphics (dessin bitmap et vectoriel en
            2D)
        ‣   Core Animation




                                                           20
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:
        Visuel:
        ‣   Core Graphics (dessin bitmap et vectoriel en
            2D)
        ‣   Core Animation
        ‣   Core Image (traitement d’image)




                                                           20
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:
        Visuel:
        ‣   Core Graphics (dessin bitmap et vectoriel en
            2D)
        ‣   Core Animation
        ‣   Core Image (traitement d’image)
        ‣   OpenGL ES (affichage 2D / 3D accéléré)




                                                           20
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:
        Visuel:
        ‣   Core Graphics (dessin bitmap et vectoriel en
            2D)
        ‣   Core Animation
        ‣   Core Image (traitement d’image)
        ‣   OpenGL ES (affichage 2D / 3D accéléré)
        ‣   Core Text




                                                           20
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:
        Visuel:
        ‣   Core Graphics (dessin bitmap et vectoriel en
            2D)
        ‣   Core Animation
        ‣   Core Image (traitement d’image)
        ‣   OpenGL ES (affichage 2D / 3D accéléré)
        ‣   Core Text
        ‣   Accès à l’album photo



                                                           20
Media




        21
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
        riches:




                                              21
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:/ Vidéo:
        Audio




                                              21
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:/ Vidéo:
        Audio
        ‣   Accès à la bibliothèque iTunes




                                              21
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:/ Vidéo:
        Audio
        ‣   Accès à la bibliothèque iTunes
        ‣   Lecture / enregistrement audio / vidéo




                                                     21
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:/ Vidéo:
        Audio
        ‣   Accès à la bibliothèque iTunes
        ‣   Lecture / enregistrement audio / vidéo
        ‣   Manipulation / traitement des médias




                                                     21
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:/ Vidéo:
        Audio
        ‣   Accès à la bibliothèque iTunes
        ‣   Lecture / enregistrement audio / vidéo
        ‣   Manipulation / traitement des médias
        ‣   Spatialisation du son (OpenAL)




                                                     21
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:/ Vidéo:
        Audio
        ‣   Accès à la bibliothèque iTunes
        ‣   Lecture / enregistrement audio / vidéo
        ‣   Manipulation / traitement des médias
        ‣   Spatialisation du son (OpenAL)




                                                     21
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:/ Vidéo:
        Audio
        ‣   Accès à la bibliothèque iTunes
        ‣   Lecture / enregistrement audio / vidéo
        ‣   Manipulation / traitement des médias
        ‣   Spatialisation du son (OpenAL)

    ‣   AirPlay



                                                     21
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:/ Vidéo:
        Audio
        ‣   Accès à la bibliothèque iTunes
        ‣   Lecture / enregistrement audio / vidéo
        ‣   Manipulation / traitement des médias
        ‣   Spatialisation du son (OpenAL)

    ‣   AirPlay
        ‣   Ecran distant



                                                     21
Media


    ‣   Ensemble de technologies
        permettant la création d’interfaces
    ‣   riches:/ Vidéo:
        Audio
        ‣   Accès à la bibliothèque iTunes
        ‣   Lecture / enregistrement audio / vidéo
        ‣   Manipulation / traitement des médias
        ‣   Spatialisation du son (OpenAL)

    ‣   AirPlay
        ‣   Ecran distant
        ‣   Mirroring

                                                     21
Cocoa Touch




              22
Cocoa Touch



    ‣   Couche la plus haute.




                                22
Cocoa Touch



    ‣   Couche la plus haute.
    ‣   Partie visible de l’iceberg.




                                       22
Cocoa Touch



    ‣   Couche la plus haute.
    ‣   Partie visible de l’iceberg.
    ‣   Propose une série de composants déjà
        disponibles:




                                               22
Cocoa Touch



    ‣   Couche la plus haute.
    ‣   Partie visible de l’iceberg.
    ‣   Propose une série de composants déjà
        disponibles:
        ‣   UIKit: élements graphiques de base (listes,
            boutons, labels, ...)




                                                          22
Cocoa Touch



    ‣   Couche la plus haute.
    ‣   Partie visible de l’iceberg.
    ‣   Propose une série de composants déjà
        disponibles:
        ‣   UIKit: élements graphiques de base (listes,
            boutons, labels, ...)
        ‣   Map Kit




                                                          22
Cocoa Touch



    ‣   Couche la plus haute.
    ‣   Partie visible de l’iceberg.
    ‣   Propose une série de composants déjà
        disponibles:
        ‣   UIKit: élements graphiques de base (listes,
            boutons, labels, ...)
        ‣   Map Kit
        ‣   Message UI




                                                          22
Cocoa Touch



    ‣   Couche la plus haute.
    ‣   Partie visible de l’iceberg.
    ‣   Propose une série de composants déjà
        disponibles:
        ‣   UIKit: élements graphiques de base (listes,
            boutons, labels, ...)
        ‣   Map Kit
        ‣   Message UI
        ‣   Game Kit




                                                          22
Cocoa Touch



    ‣   Couche la plus haute.
    ‣   Partie visible de l’iceberg.
    ‣   Propose une série de composants déjà
        disponibles:
        ‣   UIKit: élements graphiques de base (listes,
            boutons, labels, ...)
        ‣   Map Kit
        ‣   Message UI
        ‣   Game Kit
        ‣   iAd



                                                          22
Cocoa Touch



    ‣   Couche la plus haute.
    ‣   Partie visible de l’iceberg.
    ‣   Propose une série de composants déjà
        disponibles:
        ‣   UIKit: élements graphiques de base (listes,
            boutons, labels, ...)
        ‣   Map Kit
        ‣   Message UI
        ‣   Game Kit
        ‣   iAd
        ‣   Twitter, Address Book UI, Event Kit UI

                                                          22
L’Objective-C




                23
L’Objective-C




     ‣   Inventé au début des années 80 par Brad
         Cox




                                                   23
L’Objective-C




     ‣   Inventé au début des années 80 par Brad
         Cox
     ‣   S’inspire de concepts provenant de
         Smalltalk




                                                   23
L’Objective-C




     ‣   Inventé au début des années 80 par Brad
         Cox
     ‣   S’inspire de concepts provenant de
         Smalltalk
     ‣   A l’origine, une simple extension du C




                                                   23
L’Objective-C - Syntaxe




                          24
L’Objective-C - Syntaxe



     ‣   Déclaration de méthodes / fonctions




                                               24
L’Objective-C - Syntaxe



     ‣   Déclaration de méthodes / fonctions




                                               24
L’Objective-C - Syntaxe



     ‣   Déclaration de méthodes / fonctions

         ‣   C




                                               24
L’Objective-C - Syntaxe



     ‣   Déclaration de méthodes / fonctions

         ‣   C
             int calculateSomething(int a, int b);




                                                     24
L’Objective-C - Syntaxe



     ‣   Déclaration de méthodes / fonctions

         ‣   C
             int calculateSomething(int a, int b);
         ‣   Java




                                                     24
L’Objective-C - Syntaxe



     ‣   Déclaration de méthodes / fonctions

         ‣   C
             int calculateSomething(int a, int b);
         ‣   Java
             int calculateSomething(int a, int b);




                                                     24
L’Objective-C - Syntaxe



     ‣   Déclaration de méthodes / fonctions

         ‣   C
             int calculateSomething(int a, int b);
         ‣   Java
             int calculateSomething(int a, int b);
         ‣   Objective-C




                                                     24
L’Objective-C - Syntaxe



     ‣   Déclaration de méthodes / fonctions

         ‣   C
             int calculateSomething(int a, int b);
         ‣   Java
             int calculateSomething(int a, int b);
         ‣   Objective-C
             int calculateSomethingUsing:(int)a and:(int)b;




                                                              24
L’Objective-C - Syntaxe




                          25
L’Objective-C - Syntaxe



     ‣   Appel de méthodes / fonctions




                                         25
L’Objective-C - Syntaxe



     ‣   Appel de méthodes / fonctions




                                         25
L’Objective-C - Syntaxe



     ‣   Appel de méthodes / fonctions

         ‣   C




                                         25
L’Objective-C - Syntaxe



     ‣   Appel de méthodes / fonctions

         ‣   C
             int result;




                                         25
L’Objective-C - Syntaxe



     ‣   Appel de méthodes / fonctions

         ‣   C
             int result;
             result = calculateSomething(42, 12);




                                                    25
L’Objective-C - Syntaxe



     ‣   Appel de méthodes / fonctions

         ‣   C
             int result;
             result = calculateSomething(42, 12);
         ‣   Java




                                                    25
L’Objective-C - Syntaxe



     ‣   Appel de méthodes / fonctions

         ‣   C
             int result;
             result = calculateSomething(42, 12);
         ‣   Java
             int result;




                                                    25
L’Objective-C - Syntaxe



     ‣   Appel de méthodes / fonctions

         ‣   C
             int result;
             result = calculateSomething(42, 12);
         ‣   Java
             int result;
             result = myObject.calculateSomething(42, 12);




                                                             25
L’Objective-C - Syntaxe



     ‣   Appel de méthodes / fonctions

         ‣   C
             int result;
             result = calculateSomething(42, 12);
         ‣   Java
             int result;
             result = myObject.calculateSomething(42, 12);
         ‣   Objective-C




                                                             25
L’Objective-C - Syntaxe



     ‣   Appel de méthodes / fonctions

         ‣   C
             int result;
             result = calculateSomething(42, 12);
         ‣   Java
             int result;
             result = myObject.calculateSomething(42, 12);
         ‣   Objective-C
             int result;




                                                             25
L’Objective-C - Syntaxe



     ‣   Appel de méthodes / fonctions

         ‣   C
             int result;
             result = calculateSomething(42, 12);
         ‣   Java
             int result;
             result = myObject.calculateSomething(42, 12);
         ‣   Objective-C
             int result;
             result = [myObject calculateSomethingUsing:42 and:12];




                                                                      25
L’Objective-C - Syntaxe




                          26
L’Objective-C - Syntaxe




                          26
L’Objective-C - Syntaxe


       Objective-C:




                          26
L’Objective-C - Syntaxe


       Objective-C:
       UIAlertView *alertView = [[UIAlertView alloc]
                               initWithTitle:@"You are not connected to the internet"
                               message:@"An internet connection is required."
                               delegate:nil
                               cancelButtonTitle:@"OK"
                               otherButtonTitles:nil];




                                                                                        26
L’Objective-C - Syntaxe


       Objective-C:
       UIAlertView *alertView = [[UIAlertView alloc]
                               initWithTitle:@"You are not connected to the internet"
                               message:@"An internet connection is required."
                               delegate:nil
                               cancelButtonTitle:@"OK"
                               otherButtonTitles:nil];


                               Java:




                                                                                        26
L’Objective-C - Syntaxe


       Objective-C:
       UIAlertView *alertView = [[UIAlertView alloc]
                               initWithTitle:@"You are not connected to the internet"
                               message:@"An internet connection is required."
                               delegate:nil
                               cancelButtonTitle:@"OK"
                               otherButtonTitles:nil];


                               Java:
                               alertView.init("You are not connected to the internet","An
                               internet connection is required.",NULL,"OK",NULL);




                                                                                        26
DEMO


       27
Design Patterns - MVC




                        28
Design Patterns - MVC



    ‣   Architecture Modèle-Vue-
        Contrôleur (MVC)
        ‣   Modèle: contient les données et
            garantit leur intégrité
        ‣   Vue: présente ce que l'utilisateur
            voit
        ‣   Contrôleur: contrôle la logique de
            l’application




                                                 28
29
Design Patterns - Délégation



     ‣   Délégation




                               30
Design Patterns - Délégation



     ‣   Délégation




                               30
Design Patterns - Délégation



     ‣   Délégation




                               VS




                                    30
Design Patterns - Délégation



     ‣   Délégation




                               VS




                                    30
Design Patterns




                  31
Design Patterns



     ‣   Délégation




                      31
Design Patterns



     ‣   Délégation




                      31
Design Patterns



     ‣   Délégation

         « Un objet A délègue à un objet B la tâche de
         réaliser une action pour lui. »




                                                         31
Design Patterns



     ‣   Délégation

         « Un objet A délègue à un objet B la tâche de
         réaliser une action pour lui. »




                                                         31
Design Patterns



     ‣   Délégation

         « Un objet A délègue à un objet B la tâche de
         réaliser une action pour lui. »

     ‣   Example:




                                                         31
Design Patterns



     ‣   Délégation

         « Un objet A délègue à un objet B la tâche de
         réaliser une action pour lui. »

     ‣   Example:
         ‣   UITableView




                                                         31
DEMO


       32
Gestion de la mémoire




                        33
Gestion de la mémoire



     ‣   Pas de Garbage collector sur iOS




                                            33
Gestion de la mémoire



     ‣   Pas de Garbage collector sur iOS
     ‣   Mais:




                                            33
Gestion de la mémoire



     ‣   Pas de Garbage collector sur iOS
     ‣   Mais:
         ‣   La gestion de la mémoire est simple en
             Objective-C




                                                      33
Gestion de la mémoire



     ‣   Pas de Garbage collector sur iOS
     ‣   Mais:
         ‣   La gestion de la mémoire est simple en
             Objective-C
         ‣   Les objets sont alloués via:




                                                      33
Gestion de la mémoire



     ‣   Pas de Garbage collector sur iOS
     ‣   Mais:
         ‣   La gestion de la mémoire est simple en
             Objective-C
         ‣   Les objets sont alloués via:
             ‣
                 alloc




                                                      33
Gestion de la mémoire



     ‣   Pas de Garbage collector sur iOS
     ‣   Mais:
         ‣   La gestion de la mémoire est simple en
             Objective-C
         ‣   Les objets sont alloués via:
             ‣
                 alloc
             ‣
                 retain




                                                      33
Gestion de la mémoire



     ‣   Pas de Garbage collector sur iOS
     ‣   Mais:
         ‣   La gestion de la mémoire est simple en
             Objective-C
         ‣   Les objets sont alloués via:
             ‣
                 alloc
             ‣
                 retain
             ‣
                 copy




                                                      33
Gestion de la mémoire



     ‣   Pas de Garbage collector sur iOS
     ‣   Mais:
         ‣   La gestion de la mémoire est simple en
             Objective-C
         ‣   Les objets sont alloués via:
             ‣
                 alloc
             ‣
                 retain
             ‣
                 copy
         ‣   Ils sont détruits via:




                                                      33
Gestion de la mémoire



     ‣   Pas de Garbage collector sur iOS
     ‣   Mais:
         ‣   La gestion de la mémoire est simple en
             Objective-C
         ‣   Les objets sont alloués via:
             ‣
                 alloc
             ‣
                 retain
             ‣
                 copy
         ‣   Ils sont détruits via:
             ‣
                 release




                                                      33
Gestion de la mémoire



     ‣   Pas de Garbage collector sur iOS
     ‣   Mais:
         ‣   La gestion de la mémoire est simple en
             Objective-C
         ‣   Les objets sont alloués via:
             ‣
                 alloc
             ‣
                 retain
             ‣
                 copy
         ‣   Ils sont détruits via:
             ‣
                 release
     ‣   Sytème de «Retain Count»


                                                      33
Gestion de la mémoire




                        34
Gestion de la mémoire




                        34
Gestion de la mémoire




                        34
Gestion de la mémoire




                        34
Gestion de la mémoire




                        34
Gestion de la mémoire




                        34
Gestion de la mémoire




                        34
Gestion de la mémoire




                        34
Gestion de la mémoire




                        34
DEMO


       35
4, rue Ampère
22300 LANNION

contact@haploid.fr

+33 9 72 22 51 37

@haploid

www.haploid.fr

Contenu connexe

Similaire à Introduction iOS Code d'Armor

iOS 7 : présentation et opportunités
iOS 7 : présentation et opportunitésiOS 7 : présentation et opportunités
iOS 7 : présentation et opportunités
Care
 
Introduction to app analytics : mobile, Facebook... Tournai Café Numérique 09...
Introduction to app analytics : mobile, Facebook... Tournai Café Numérique 09...Introduction to app analytics : mobile, Facebook... Tournai Café Numérique 09...
Introduction to app analytics : mobile, Facebook... Tournai Café Numérique 09...
Jb Gabellieri
 
Parlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usage
LaFrenchMobile
 
userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014
USERADGENTS
 
Retour d'expérience AdobeMC 2011
Retour d'expérience AdobeMC 2011Retour d'expérience AdobeMC 2011
Retour d'expérience AdobeMC 2011jonasmonnier
 
Présentation de l'atelier "Apponomics 2012" chez FrenchWeb par Jérôme Stioui ...
Présentation de l'atelier "Apponomics 2012" chez FrenchWeb par Jérôme Stioui ...Présentation de l'atelier "Apponomics 2012" chez FrenchWeb par Jérôme Stioui ...
Présentation de l'atelier "Apponomics 2012" chez FrenchWeb par Jérôme Stioui ...
FrenchWeb.fr
 
Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?
OCTO Technology Suisse
 
2018-10-18 J2 6C - 10 questions Power BI posées par les néophytes - Jean-Pier...
2018-10-18 J2 6C - 10 questions Power BI posées par les néophytes - Jean-Pier...2018-10-18 J2 6C - 10 questions Power BI posées par les néophytes - Jean-Pier...
2018-10-18 J2 6C - 10 questions Power BI posées par les néophytes - Jean-Pier...
Modern Workplace Conference Paris
 
iPad en Entreprise: Applications Professionnelles et Développement d'Apps b2b
iPad en Entreprise: Applications Professionnelles et Développement d'Apps b2biPad en Entreprise: Applications Professionnelles et Développement d'Apps b2b
iPad en Entreprise: Applications Professionnelles et Développement d'Apps b2b
Gael Guillet
 
Présentation People input Petits Déjeuners du Marketing - Avril 2014
Présentation People input   Petits Déjeuners du Marketing - Avril 2014Présentation People input   Petits Déjeuners du Marketing - Avril 2014
Présentation People input Petits Déjeuners du Marketing - Avril 2014Julien Guyard
 
Présentation Ionic Framework
Présentation Ionic FrameworkPrésentation Ionic Framework
Présentation Ionic Framework
Ndongo Samb
 
Actualités mobile - Juin 2014
Actualités mobile - Juin 2014Actualités mobile - Juin 2014
Actualités mobile - Juin 2014
Damien Laureaux
 
Webschool bourges "le monde de google"
Webschool bourges "le monde de google"Webschool bourges "le monde de google"
Webschool bourges "le monde de google"Webschool Bourges
 
La BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devicesLa BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devices
Microsoft Décideurs IT
 
La BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devicesLa BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devices
Microsoft Technet France
 
Présentation: Business Intelligence - Cas du Maroc
Présentation: Business Intelligence - Cas du MarocPrésentation: Business Intelligence - Cas du Maroc
Présentation: Business Intelligence - Cas du Maroc
Lamia Ben
 
#Livret blanc short 06 fev
#Livret blanc short 06 fev#Livret blanc short 06 fev
#Livret blanc short 06 fev
Martial Limousin
 
Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?
NiceToMeetYou
 
#SnowCamp2020 - DATAOPS n’est pas que DEVOPS appliqué aux projets DATA
#SnowCamp2020 -  DATAOPS n’est pas que DEVOPS appliqué aux projets DATA#SnowCamp2020 -  DATAOPS n’est pas que DEVOPS appliqué aux projets DATA
#SnowCamp2020 - DATAOPS n’est pas que DEVOPS appliqué aux projets DATA
Frédéric Petit
 

Similaire à Introduction iOS Code d'Armor (20)

iOS 7 : présentation et opportunités
iOS 7 : présentation et opportunitésiOS 7 : présentation et opportunités
iOS 7 : présentation et opportunités
 
Introduction to app analytics : mobile, Facebook... Tournai Café Numérique 09...
Introduction to app analytics : mobile, Facebook... Tournai Café Numérique 09...Introduction to app analytics : mobile, Facebook... Tournai Café Numérique 09...
Introduction to app analytics : mobile, Facebook... Tournai Café Numérique 09...
 
Parlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usage
 
userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014
 
Retour d'expérience AdobeMC 2011
Retour d'expérience AdobeMC 2011Retour d'expérience AdobeMC 2011
Retour d'expérience AdobeMC 2011
 
Présentation de l'atelier "Apponomics 2012" chez FrenchWeb par Jérôme Stioui ...
Présentation de l'atelier "Apponomics 2012" chez FrenchWeb par Jérôme Stioui ...Présentation de l'atelier "Apponomics 2012" chez FrenchWeb par Jérôme Stioui ...
Présentation de l'atelier "Apponomics 2012" chez FrenchWeb par Jérôme Stioui ...
 
Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?
 
Intro Android
Intro AndroidIntro Android
Intro Android
 
2018-10-18 J2 6C - 10 questions Power BI posées par les néophytes - Jean-Pier...
2018-10-18 J2 6C - 10 questions Power BI posées par les néophytes - Jean-Pier...2018-10-18 J2 6C - 10 questions Power BI posées par les néophytes - Jean-Pier...
2018-10-18 J2 6C - 10 questions Power BI posées par les néophytes - Jean-Pier...
 
iPad en Entreprise: Applications Professionnelles et Développement d'Apps b2b
iPad en Entreprise: Applications Professionnelles et Développement d'Apps b2biPad en Entreprise: Applications Professionnelles et Développement d'Apps b2b
iPad en Entreprise: Applications Professionnelles et Développement d'Apps b2b
 
Présentation People input Petits Déjeuners du Marketing - Avril 2014
Présentation People input   Petits Déjeuners du Marketing - Avril 2014Présentation People input   Petits Déjeuners du Marketing - Avril 2014
Présentation People input Petits Déjeuners du Marketing - Avril 2014
 
Présentation Ionic Framework
Présentation Ionic FrameworkPrésentation Ionic Framework
Présentation Ionic Framework
 
Actualités mobile - Juin 2014
Actualités mobile - Juin 2014Actualités mobile - Juin 2014
Actualités mobile - Juin 2014
 
Webschool bourges "le monde de google"
Webschool bourges "le monde de google"Webschool bourges "le monde de google"
Webschool bourges "le monde de google"
 
La BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devicesLa BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devices
 
La BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devicesLa BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devices
 
Présentation: Business Intelligence - Cas du Maroc
Présentation: Business Intelligence - Cas du MarocPrésentation: Business Intelligence - Cas du Maroc
Présentation: Business Intelligence - Cas du Maroc
 
#Livret blanc short 06 fev
#Livret blanc short 06 fev#Livret blanc short 06 fev
#Livret blanc short 06 fev
 
Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?
 
#SnowCamp2020 - DATAOPS n’est pas que DEVOPS appliqué aux projets DATA
#SnowCamp2020 -  DATAOPS n’est pas que DEVOPS appliqué aux projets DATA#SnowCamp2020 -  DATAOPS n’est pas que DEVOPS appliqué aux projets DATA
#SnowCamp2020 - DATAOPS n’est pas que DEVOPS appliqué aux projets DATA
 

Dernier

Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
AlbertSmithTambwe
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
AlbertSmithTambwe
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
Horgix
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 

Dernier (9)

Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 

Introduction iOS Code d'Armor

  • 2. Qui sommes nous ? Antoine Cabot Fondateur Antoine Cabot, diplômé de Télécom Bretagne et passionné de technologie mobile a conçu, développé et déployé des services mobiles pour l’opérateur mobile Orange durant 4 ans avant de fonder Haploid. Il a suivi et analysé la montée en puissance des Smartphones depuis 2004 et a été un des artisans du succès du lancement de l’iPhone en France en tant qu’expert Visual Voicemail pour Orange. Passionné d’innovation, il souhaite apporter aux utilisateurs des services convergents et de qualité.  Anthony Nevo Directeur Technique Anthony Névo, diplômé du Cork Institute of Technology et de l'ISTIC Rennes, est passionné par les nouvelles technologies et les interfaces graphiques depuis toujours. Il a eu la chance de travailler et d'acquérir une large expertise sur les 3 principales plateformes de ces 15 dernières années: les applications PC/Mac, les services et technologies sur le web et enfin les "apps" sur smartphones et tablettes. Parmi ses nombreuses expériences, Anthony a été employé chez Motorola, Cap Gemini ou encore Orange. 2
  • 3. Haploid en 2 mots iOS Android HTML5 3
  • 5. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + Google) 4
  • 6. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + Google) 150 milliards de $ de revenus annuels sur le matériel 4
  • 7. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + Google) 150 milliards de $ de 150 milliards de $ de cash revenus annuels sur le matériel 4
  • 8. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + Google) 150 milliards de $ de 150 milliards de $ de cash revenus annuels sur le matériel 3 milliards de $ de revenus pour l’AppStore 4
  • 9. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + Google) 150 milliards de $ de 150 milliards de $ de cash revenus annuels sur le matériel 3 milliards de $ de revenus pour l’AppStore 500 Millions de terminaux iOS dans le monde 4
  • 10. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + Google) 150 milliards de $ de 150 milliards de $ de cash revenus annuels sur le 600 000 apps iPhone matériel 3 milliards de $ de revenus pour l’AppStore 500 Millions de terminaux iOS dans le monde 4
  • 11. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + Google) 150 milliards de $ de 150 milliards de $ de cash revenus annuels sur le 600 000 apps iPhone matériel 3 milliards de $ de 200 000 apps optimisées revenus pour l’AppStore 500 Millions de pour l’iPad terminaux iOS dans le monde 4
  • 12. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + Google) 150 milliards de $ de 150 milliards de $ de cash revenus annuels sur le 600 000 apps iPhone matériel 3 milliards de $ de 200 000 apps optimisées revenus pour l’AppStore 500 Millions de pour l’iPad terminaux iOS dans le monde 2000 nouvelles apps chaque semaine 4
  • 13. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + 46 millions d’applis Google) téléchargées chaque jour dans le monde (530 par seconde) 150 milliards de $ de 150 milliards de $ de cash revenus annuels sur le 600 000 apps iPhone matériel 3 milliards de $ de 200 000 apps optimisées revenus pour l’AppStore 500 Millions de pour l’iPad terminaux iOS dans le monde 2000 nouvelles apps chaque semaine 4
  • 14. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + 46 millions d’applis Google) téléchargées chaque jour dans le monde (530 par seconde) 150 milliards de $ de 150 milliards de $ de cash revenus annuels sur le 600 000 apps iPhone matériel 3 milliards de $ de 200 000 apps optimisées revenus pour l’AppStore 500 Millions de pour l’iPad terminaux iOS dans le monde 26 milliards de téléchargements depuis 2008 2000 nouvelles apps chaque semaine 4
  • 15. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + 46 millions d’applis Google) téléchargées chaque jour dans le monde (530 par seconde) 150 milliards de $ de 150 milliards de $ de cash revenus annuels sur le 600 000 apps iPhone matériel 3 milliards de $ de 200 000 apps optimisées revenus pour l’AppStore 500 Millions de pour l’iPad terminaux iOS dans le monde 26 milliards de téléchargements depuis 2008 65% d’applications payantes 2000 nouvelles apps chaque semaine 4
  • 16. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + 46 millions d’applis Google) téléchargées chaque jour dans le monde (530 par seconde) 150 milliards de $ de 150 milliards de $ de cash revenus annuels sur le 600 000 apps iPhone matériel 3 milliards de $ de 200 000 apps optimisées revenus pour l’AppStore 500 Millions de pour l’iPad terminaux iOS dans le monde 26 milliards de téléchargements depuis 2008 65% d’applications payantes 2000 nouvelles apps chaque semaine 76% des revenus mobiles 4
  • 17. Quelques chiffres en vrac valorisation boursière de 527 milliards de $ (= Microsoft + 46 millions d’applis Google) téléchargées chaque jour dans le monde (530 par seconde) 150 milliards de $ de 150 milliards de $ de cash revenus annuels sur le 600 000 apps iPhone matériel 3 milliards de $ de 200 000 apps optimisées revenus pour l’AppStore 500 Millions de pour l’iPad terminaux iOS dans le monde 26 milliards de téléchargements depuis 2008 65% d’applications payantes 2000 nouvelles apps chaque semaine 76% des revenus mobiles 1 milliard de téléchargement pour Angry Birds 4
  • 18. Ou publier son app ? 5
  • 20. iOS - La genèse 2007 2008 2009 2010 2011 2012 7
  • 21. iOS - La genèse Lancement de l’iPhone iOS 1.x 2007 2008 2009 2010 2011 2012 7
  • 22. iOS - La genèse Lancement de l’iPhone 3G Ouverture de l’AppStore Lancement de l’iPhone iOS 2.x iOS 1.x 2007 2008 2009 2010 2011 2012 7
  • 23. iOS - La genèse Lancement de l’iPhone 3GS 100 000 Lancement apps de l’iPhone disponibles 3G Ouverture iOS 3.x de l’AppStore Lancement de l’iPhone iOS 2.x iOS 1.x 2007 2008 2009 2010 2011 2012 7
  • 24. iOS - La genèse Lancement de l’iPhone 4 Lancement Lancement de l’iPhone de l’iPad 3GS 100 000 iOS 4.x Lancement apps de l’iPhone disponibles 3G Ouverture iOS 3.x de l’AppStore Lancement de l’iPhone iOS 2.x iOS 1.x 2007 2008 2009 2010 2011 2012 7
  • 25. iOS - La genèse Lancement de l’iPhone 4S Lancement Lancement de l’iPhone de l’iPad 2 4 Lancement Lancement de l’iPad iOS 5.x de l’iPhone 3GS 100 000 iOS 4.x Lancement apps de l’iPhone disponibles 3G Ouverture iOS 3.x de l’AppStore Lancement de l’iPhone iOS 2.x iOS 1.x 2007 2008 2009 2010 2011 2012 7
  • 26. iOS - La genèse Lancement de l’iPad 3 Lancement de l’iPhone 4S Lancement Lancement de l’iPhone de l’iPad 2 4 Lancement Lancement de l’iPad iOS 5.x de l’iPhone 3GS 100 000 iOS 4.x Lancement apps de l’iPhone disponibles 3G Ouverture iOS 3.x de l’AppStore Lancement de l’iPhone iOS 2.x iOS 1.x 2007 2008 2009 2010 2011 2012 7
  • 27. Pourquoi développer sur iOS ? ‣ Accéder à 500 millions d’utilisateurs potentiels ‣ Bénéficier du système de paiement iTunes (300 millions de CB) ‣ Profiter de l’uniformité des terminaux (iPod Touch / iPhone / iPad) ‣ La validation Apple garantie la qualité de votre application ‣ La gestion de la sécurité (sandboxing) ‣ Maturité de la plateforme (héritée d’Unix et MacOS) 8
  • 28. L’environnement de développement ‣ Un mac ‣ XCode (Mac App Store) ‣ 1 iPod ou 1 iPhone ou 1 iPad ‣ 79€ / an pour publier autant d’applications que l’on veut ‣ 3 programmes ‣ Individual ‣ Company ‣ Enterprise ($299/an) ‣ University (free) ‣ déploiement sur 100 terminaux 9
  • 29. Processus de validation ‣ Les règles «We have over 350,000 apps in the App Store. We don't need any more Fart apps. If your app doesn't do something useful or provide some form of lasting entertainment, it may not be accepted.» «Apps must comply with all terms and conditions explained in the Apple iOS Human Interface Guidelines» «Apps that encourage users to use an Apple Device in a way that may cause damage to the device will be rejected» ‣ Choix des pays / choix des prix ‣ Produits In-App / Abonnements ‣ Le temps de validation ‣ Les bonnes pratiques (forum, ticket support) ‣ La validation express 10
  • 30. La vie d’une app sur l’App Store ‣ Les mises à jour ‣ Les notifications ‣ Le suivi des usages (Flurry & Google Analytics) ‣ Le marketing (screenshots, notes...) ‣ Les leviers (AppGratuites & Surikate) ‣ Mise en avant Apple en suivant la ligne de produits ‣ Les revenus ? ‣ Apple vous fait un virement tous les mois pour les ventes ‣ Monétisation publicitaire (iAd, AdMob) 11
  • 31. Etre dans le top 25 ? 12
  • 32. Un peu de technique... 13
  • 33. Avant iOS 14
  • 34. Avant iOS ‣ NextStep (1988) 14
  • 35. Avant iOS ‣ NextStep (1988) 14
  • 36. Avant iOS ‣ NextStep (1988) 14
  • 37. Avant iOS ‣ NextStep (1988) 14
  • 38. Avant iOS 15
  • 39. Avant iOS ‣ Mac OS X Cheetah (2001) 15
  • 40. Avant iOS ‣ Mac OS X Cheetah (2001) 15
  • 41. Avant iOS 16
  • 42. Avant iOS ‣ OS X Mountain Lion (2012) 16
  • 43. Avant iOS ‣ OS X Mountain Lion (2012) 16
  • 45. Fondations ‣ UNIX (BSD + NextStep) 17
  • 46. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: 17
  • 47. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: ‣ C / C++ 17
  • 48. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: ‣ C / C++ ‣ Objective-C 17
  • 49. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: ‣ C / C++ ‣ Objective-C ‣ Web 17
  • 50. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: ‣ C / C++ ‣ Objective-C ‣ Web ‣ (Flash :) 17
  • 51. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: ‣ C / C++ ‣ Objective-C ‣ Web ‣ (Flash :) ‣ 4 niveaux d’abstraction: 17
  • 52. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: ‣ C / C++ ‣ Objective-C ‣ Web ‣ (Flash :) ‣ 4 niveaux d’abstraction: ‣ CoreOS 17
  • 53. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: ‣ C / C++ ‣ Objective-C ‣ Web ‣ (Flash :) ‣ 4 niveaux d’abstraction: ‣ CoreOS ‣ Core Services 17
  • 54. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: ‣ C / C++ ‣ Objective-C ‣ Web ‣ (Flash :) ‣ 4 niveaux d’abstraction: ‣ CoreOS ‣ Core Services ‣ Media 17
  • 55. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: ‣ C / C++ ‣ Objective-C ‣ Web ‣ (Flash :) ‣ 4 niveaux d’abstraction: ‣ CoreOS ‣ Core Services ‣ Media ‣ Cocoa Touch 17
  • 56. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: ‣ C / C++ ‣ Objective-C ‣ Web ‣ (Flash :) ‣ 4 niveaux d’abstraction: ‣ CoreOS ‣ Core Services ‣ Media ‣ Cocoa Touch 17
  • 57. Fondations ‣ UNIX (BSD + NextStep) ‣ Langages disponibles: ‣ C / C++ ‣ Objective-C ‣ Web ‣ (Flash :) ‣ 4 niveaux d’abstraction: ‣ CoreOS ‣ Core Services ‣ Media ‣ Cocoa Touch 17
  • 58. Core OS 18
  • 59. Core OS ‣ Couche la plus basse 18
  • 60. Core OS ‣ Couche la plus basse ‣ Utilisée principalement pour: 18
  • 61. Core OS ‣ Couche la plus basse ‣ Utilisée principalement pour: ‣ Communication (bluetooth, accessoires, ...) 18
  • 62. Core OS ‣ Couche la plus basse ‣ Utilisée principalement pour: ‣ Communication (bluetooth, accessoires, ...) ‣ Sécurité (trousseau d’accès, cryptographie, ...) 18
  • 63. Core OS ‣ Couche la plus basse ‣ Utilisée principalement pour: ‣ Communication (bluetooth, accessoires, ...) ‣ Sécurité (trousseau d’accès, cryptographie, ...) ‣ Accélération matérielle (via le framework Accelerate) 18
  • 64. Core OS ‣ Couche la plus basse ‣ Utilisée principalement pour: ‣ Communication (bluetooth, accessoires, ...) ‣ Sécurité (trousseau d’accès, cryptographie, ...) ‣ Accélération matérielle (via le framework Accelerate) ‣ Fonctions systèmes Unix: 18
  • 65. Core OS ‣ Couche la plus basse ‣ Utilisée principalement pour: ‣ Communication (bluetooth, accessoires, ...) ‣ Sécurité (trousseau d’accès, cryptographie, ...) ‣ Accélération matérielle (via le framework Accelerate) ‣ Fonctions systèmes Unix: ‣ Threading 18
  • 66. Core OS ‣ Couche la plus basse ‣ Utilisée principalement pour: ‣ Communication (bluetooth, accessoires, ...) ‣ Sécurité (trousseau d’accès, cryptographie, ...) ‣ Accélération matérielle (via le framework Accelerate) ‣ Fonctions systèmes Unix: ‣ Threading ‣ Réseau (Sockets, ...) 18
  • 67. Core OS ‣ Couche la plus basse ‣ Utilisée principalement pour: ‣ Communication (bluetooth, accessoires, ...) ‣ Sécurité (trousseau d’accès, cryptographie, ...) ‣ Accélération matérielle (via le framework Accelerate) ‣ Fonctions systèmes Unix: ‣ Threading ‣ Réseau (Sockets, ...) ‣ Accès au système de fichiers 18
  • 68. Core OS ‣ Couche la plus basse ‣ Utilisée principalement pour: ‣ Communication (bluetooth, accessoires, ...) ‣ Sécurité (trousseau d’accès, cryptographie, ...) ‣ Accélération matérielle (via le framework Accelerate) ‣ Fonctions systèmes Unix: ‣ Threading ‣ Réseau (Sockets, ...) ‣ Accès au système de fichiers ‣ Gestion de la mémoire 18
  • 69. Core OS ‣ Couche la plus basse ‣ Utilisée principalement pour: ‣ Communication (bluetooth, accessoires, ...) ‣ Sécurité (trousseau d’accès, cryptographie, ...) ‣ Accélération matérielle (via le framework Accelerate) ‣ Fonctions systèmes Unix: ‣ Threading ‣ Réseau (Sockets, ...) ‣ Accès au système de fichiers ‣ Gestion de la mémoire ‣ ... 18
  • 71. Core Service ‣ Propose un grand nombre de services: 19
  • 72. Core Service ‣ Propose un grand nombre de services: ‣ Réseau (CFNetwork) 19
  • 73. Core Service ‣ Propose un grand nombre de services: ‣ Réseau (CFNetwork) ‣ Core Data / SQLite 19
  • 74. Core Service ‣ Propose un grand nombre de services: ‣ Réseau (CFNetwork) ‣ Core Data / SQLite ‣ Foundation: 19
  • 75. Core Service ‣ Propose un grand nombre de services: ‣ Réseau (CFNetwork) ‣ Core Data / SQLite ‣ Foundation: ‣ gestion de types de données complexes (chaines, dates, ...) 19
  • 76. Core Service ‣ Propose un grand nombre de services: ‣ Réseau (CFNetwork) ‣ Core Data / SQLite ‣ Foundation: ‣ gestion de types de données complexes (chaines, dates, ...) ‣ préférences 19
  • 77. Core Service ‣ Propose un grand nombre de services: ‣ Réseau (CFNetwork) ‣ Core Data / SQLite ‣ Foundation: ‣ gestion de types de données complexes (chaines, dates, ...) ‣ préférences ‣ ... 19
  • 78. Core Service ‣ Propose un grand nombre de services: ‣ Réseau (CFNetwork) ‣ Core Data / SQLite ‣ Foundation: ‣ gestion de types de données complexes (chaines, dates, ...) ‣ préférences ‣ ... ‣ Géolocalisation (Core Location) 19
  • 79. Core Service ‣ Propose un grand nombre de services: ‣ Réseau (CFNetwork) ‣ Core Data / SQLite ‣ Foundation: ‣ gestion de types de données complexes (chaines, dates, ...) ‣ préférences ‣ ... ‣ Géolocalisation (Core Location) ‣ Gestion des achats «In-app» 19
  • 80. Core Service ‣ Propose un grand nombre de services: ‣ Réseau (CFNetwork) ‣ Core Data / SQLite ‣ Foundation: ‣ gestion de types de données complexes (chaines, dates, ...) ‣ préférences ‣ ... ‣ Géolocalisation (Core Location) ‣ Gestion des achats «In-app» ‣ Calendrier, Carnet d’adresses, Kiosque, ... 19
  • 81. Media 20
  • 82. Media ‣ Ensemble de technologies permettant la création d’interfaces riches: 20
  • 83. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches: Visuel: 20
  • 84. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches: Visuel: ‣ Core Graphics (dessin bitmap et vectoriel en 2D) 20
  • 85. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches: Visuel: ‣ Core Graphics (dessin bitmap et vectoriel en 2D) ‣ Core Animation 20
  • 86. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches: Visuel: ‣ Core Graphics (dessin bitmap et vectoriel en 2D) ‣ Core Animation ‣ Core Image (traitement d’image) 20
  • 87. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches: Visuel: ‣ Core Graphics (dessin bitmap et vectoriel en 2D) ‣ Core Animation ‣ Core Image (traitement d’image) ‣ OpenGL ES (affichage 2D / 3D accéléré) 20
  • 88. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches: Visuel: ‣ Core Graphics (dessin bitmap et vectoriel en 2D) ‣ Core Animation ‣ Core Image (traitement d’image) ‣ OpenGL ES (affichage 2D / 3D accéléré) ‣ Core Text 20
  • 89. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches: Visuel: ‣ Core Graphics (dessin bitmap et vectoriel en 2D) ‣ Core Animation ‣ Core Image (traitement d’image) ‣ OpenGL ES (affichage 2D / 3D accéléré) ‣ Core Text ‣ Accès à l’album photo 20
  • 90. Media 21
  • 91. Media ‣ Ensemble de technologies permettant la création d’interfaces riches: 21
  • 92. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches:/ Vidéo: Audio 21
  • 93. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches:/ Vidéo: Audio ‣ Accès à la bibliothèque iTunes 21
  • 94. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches:/ Vidéo: Audio ‣ Accès à la bibliothèque iTunes ‣ Lecture / enregistrement audio / vidéo 21
  • 95. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches:/ Vidéo: Audio ‣ Accès à la bibliothèque iTunes ‣ Lecture / enregistrement audio / vidéo ‣ Manipulation / traitement des médias 21
  • 96. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches:/ Vidéo: Audio ‣ Accès à la bibliothèque iTunes ‣ Lecture / enregistrement audio / vidéo ‣ Manipulation / traitement des médias ‣ Spatialisation du son (OpenAL) 21
  • 97. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches:/ Vidéo: Audio ‣ Accès à la bibliothèque iTunes ‣ Lecture / enregistrement audio / vidéo ‣ Manipulation / traitement des médias ‣ Spatialisation du son (OpenAL) 21
  • 98. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches:/ Vidéo: Audio ‣ Accès à la bibliothèque iTunes ‣ Lecture / enregistrement audio / vidéo ‣ Manipulation / traitement des médias ‣ Spatialisation du son (OpenAL) ‣ AirPlay 21
  • 99. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches:/ Vidéo: Audio ‣ Accès à la bibliothèque iTunes ‣ Lecture / enregistrement audio / vidéo ‣ Manipulation / traitement des médias ‣ Spatialisation du son (OpenAL) ‣ AirPlay ‣ Ecran distant 21
  • 100. Media ‣ Ensemble de technologies permettant la création d’interfaces ‣ riches:/ Vidéo: Audio ‣ Accès à la bibliothèque iTunes ‣ Lecture / enregistrement audio / vidéo ‣ Manipulation / traitement des médias ‣ Spatialisation du son (OpenAL) ‣ AirPlay ‣ Ecran distant ‣ Mirroring 21
  • 101. Cocoa Touch 22
  • 102. Cocoa Touch ‣ Couche la plus haute. 22
  • 103. Cocoa Touch ‣ Couche la plus haute. ‣ Partie visible de l’iceberg. 22
  • 104. Cocoa Touch ‣ Couche la plus haute. ‣ Partie visible de l’iceberg. ‣ Propose une série de composants déjà disponibles: 22
  • 105. Cocoa Touch ‣ Couche la plus haute. ‣ Partie visible de l’iceberg. ‣ Propose une série de composants déjà disponibles: ‣ UIKit: élements graphiques de base (listes, boutons, labels, ...) 22
  • 106. Cocoa Touch ‣ Couche la plus haute. ‣ Partie visible de l’iceberg. ‣ Propose une série de composants déjà disponibles: ‣ UIKit: élements graphiques de base (listes, boutons, labels, ...) ‣ Map Kit 22
  • 107. Cocoa Touch ‣ Couche la plus haute. ‣ Partie visible de l’iceberg. ‣ Propose une série de composants déjà disponibles: ‣ UIKit: élements graphiques de base (listes, boutons, labels, ...) ‣ Map Kit ‣ Message UI 22
  • 108. Cocoa Touch ‣ Couche la plus haute. ‣ Partie visible de l’iceberg. ‣ Propose une série de composants déjà disponibles: ‣ UIKit: élements graphiques de base (listes, boutons, labels, ...) ‣ Map Kit ‣ Message UI ‣ Game Kit 22
  • 109. Cocoa Touch ‣ Couche la plus haute. ‣ Partie visible de l’iceberg. ‣ Propose une série de composants déjà disponibles: ‣ UIKit: élements graphiques de base (listes, boutons, labels, ...) ‣ Map Kit ‣ Message UI ‣ Game Kit ‣ iAd 22
  • 110. Cocoa Touch ‣ Couche la plus haute. ‣ Partie visible de l’iceberg. ‣ Propose une série de composants déjà disponibles: ‣ UIKit: élements graphiques de base (listes, boutons, labels, ...) ‣ Map Kit ‣ Message UI ‣ Game Kit ‣ iAd ‣ Twitter, Address Book UI, Event Kit UI 22
  • 112. L’Objective-C ‣ Inventé au début des années 80 par Brad Cox 23
  • 113. L’Objective-C ‣ Inventé au début des années 80 par Brad Cox ‣ S’inspire de concepts provenant de Smalltalk 23
  • 114. L’Objective-C ‣ Inventé au début des années 80 par Brad Cox ‣ S’inspire de concepts provenant de Smalltalk ‣ A l’origine, une simple extension du C 23
  • 116. L’Objective-C - Syntaxe ‣ Déclaration de méthodes / fonctions 24
  • 117. L’Objective-C - Syntaxe ‣ Déclaration de méthodes / fonctions 24
  • 118. L’Objective-C - Syntaxe ‣ Déclaration de méthodes / fonctions ‣ C 24
  • 119. L’Objective-C - Syntaxe ‣ Déclaration de méthodes / fonctions ‣ C int calculateSomething(int a, int b); 24
  • 120. L’Objective-C - Syntaxe ‣ Déclaration de méthodes / fonctions ‣ C int calculateSomething(int a, int b); ‣ Java 24
  • 121. L’Objective-C - Syntaxe ‣ Déclaration de méthodes / fonctions ‣ C int calculateSomething(int a, int b); ‣ Java int calculateSomething(int a, int b); 24
  • 122. L’Objective-C - Syntaxe ‣ Déclaration de méthodes / fonctions ‣ C int calculateSomething(int a, int b); ‣ Java int calculateSomething(int a, int b); ‣ Objective-C 24
  • 123. L’Objective-C - Syntaxe ‣ Déclaration de méthodes / fonctions ‣ C int calculateSomething(int a, int b); ‣ Java int calculateSomething(int a, int b); ‣ Objective-C int calculateSomethingUsing:(int)a and:(int)b; 24
  • 125. L’Objective-C - Syntaxe ‣ Appel de méthodes / fonctions 25
  • 126. L’Objective-C - Syntaxe ‣ Appel de méthodes / fonctions 25
  • 127. L’Objective-C - Syntaxe ‣ Appel de méthodes / fonctions ‣ C 25
  • 128. L’Objective-C - Syntaxe ‣ Appel de méthodes / fonctions ‣ C int result; 25
  • 129. L’Objective-C - Syntaxe ‣ Appel de méthodes / fonctions ‣ C int result; result = calculateSomething(42, 12); 25
  • 130. L’Objective-C - Syntaxe ‣ Appel de méthodes / fonctions ‣ C int result; result = calculateSomething(42, 12); ‣ Java 25
  • 131. L’Objective-C - Syntaxe ‣ Appel de méthodes / fonctions ‣ C int result; result = calculateSomething(42, 12); ‣ Java int result; 25
  • 132. L’Objective-C - Syntaxe ‣ Appel de méthodes / fonctions ‣ C int result; result = calculateSomething(42, 12); ‣ Java int result; result = myObject.calculateSomething(42, 12); 25
  • 133. L’Objective-C - Syntaxe ‣ Appel de méthodes / fonctions ‣ C int result; result = calculateSomething(42, 12); ‣ Java int result; result = myObject.calculateSomething(42, 12); ‣ Objective-C 25
  • 134. L’Objective-C - Syntaxe ‣ Appel de méthodes / fonctions ‣ C int result; result = calculateSomething(42, 12); ‣ Java int result; result = myObject.calculateSomething(42, 12); ‣ Objective-C int result; 25
  • 135. L’Objective-C - Syntaxe ‣ Appel de méthodes / fonctions ‣ C int result; result = calculateSomething(42, 12); ‣ Java int result; result = myObject.calculateSomething(42, 12); ‣ Objective-C int result; result = [myObject calculateSomethingUsing:42 and:12]; 25
  • 138. L’Objective-C - Syntaxe Objective-C: 26
  • 139. L’Objective-C - Syntaxe Objective-C: UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"You are not connected to the internet" message:@"An internet connection is required." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 26
  • 140. L’Objective-C - Syntaxe Objective-C: UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"You are not connected to the internet" message:@"An internet connection is required." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; Java: 26
  • 141. L’Objective-C - Syntaxe Objective-C: UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"You are not connected to the internet" message:@"An internet connection is required." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; Java: alertView.init("You are not connected to the internet","An internet connection is required.",NULL,"OK",NULL); 26
  • 142. DEMO 27
  • 143. Design Patterns - MVC 28
  • 144. Design Patterns - MVC ‣ Architecture Modèle-Vue- Contrôleur (MVC) ‣ Modèle: contient les données et garantit leur intégrité ‣ Vue: présente ce que l'utilisateur voit ‣ Contrôleur: contrôle la logique de l’application 28
  • 145. 29
  • 146. Design Patterns - Délégation ‣ Délégation 30
  • 147. Design Patterns - Délégation ‣ Délégation 30
  • 148. Design Patterns - Délégation ‣ Délégation VS 30
  • 149. Design Patterns - Délégation ‣ Délégation VS 30
  • 151. Design Patterns ‣ Délégation 31
  • 152. Design Patterns ‣ Délégation 31
  • 153. Design Patterns ‣ Délégation « Un objet A délègue à un objet B la tâche de réaliser une action pour lui. » 31
  • 154. Design Patterns ‣ Délégation « Un objet A délègue à un objet B la tâche de réaliser une action pour lui. » 31
  • 155. Design Patterns ‣ Délégation « Un objet A délègue à un objet B la tâche de réaliser une action pour lui. » ‣ Example: 31
  • 156. Design Patterns ‣ Délégation « Un objet A délègue à un objet B la tâche de réaliser une action pour lui. » ‣ Example: ‣ UITableView 31
  • 157. DEMO 32
  • 158. Gestion de la mémoire 33
  • 159. Gestion de la mémoire ‣ Pas de Garbage collector sur iOS 33
  • 160. Gestion de la mémoire ‣ Pas de Garbage collector sur iOS ‣ Mais: 33
  • 161. Gestion de la mémoire ‣ Pas de Garbage collector sur iOS ‣ Mais: ‣ La gestion de la mémoire est simple en Objective-C 33
  • 162. Gestion de la mémoire ‣ Pas de Garbage collector sur iOS ‣ Mais: ‣ La gestion de la mémoire est simple en Objective-C ‣ Les objets sont alloués via: 33
  • 163. Gestion de la mémoire ‣ Pas de Garbage collector sur iOS ‣ Mais: ‣ La gestion de la mémoire est simple en Objective-C ‣ Les objets sont alloués via: ‣ alloc 33
  • 164. Gestion de la mémoire ‣ Pas de Garbage collector sur iOS ‣ Mais: ‣ La gestion de la mémoire est simple en Objective-C ‣ Les objets sont alloués via: ‣ alloc ‣ retain 33
  • 165. Gestion de la mémoire ‣ Pas de Garbage collector sur iOS ‣ Mais: ‣ La gestion de la mémoire est simple en Objective-C ‣ Les objets sont alloués via: ‣ alloc ‣ retain ‣ copy 33
  • 166. Gestion de la mémoire ‣ Pas de Garbage collector sur iOS ‣ Mais: ‣ La gestion de la mémoire est simple en Objective-C ‣ Les objets sont alloués via: ‣ alloc ‣ retain ‣ copy ‣ Ils sont détruits via: 33
  • 167. Gestion de la mémoire ‣ Pas de Garbage collector sur iOS ‣ Mais: ‣ La gestion de la mémoire est simple en Objective-C ‣ Les objets sont alloués via: ‣ alloc ‣ retain ‣ copy ‣ Ils sont détruits via: ‣ release 33
  • 168. Gestion de la mémoire ‣ Pas de Garbage collector sur iOS ‣ Mais: ‣ La gestion de la mémoire est simple en Objective-C ‣ Les objets sont alloués via: ‣ alloc ‣ retain ‣ copy ‣ Ils sont détruits via: ‣ release ‣ Sytème de «Retain Count» 33
  • 169. Gestion de la mémoire 34
  • 170. Gestion de la mémoire 34
  • 171. Gestion de la mémoire 34
  • 172. Gestion de la mémoire 34
  • 173. Gestion de la mémoire 34
  • 174. Gestion de la mémoire 34
  • 175. Gestion de la mémoire 34
  • 176. Gestion de la mémoire 34
  • 177. Gestion de la mémoire 34
  • 178. DEMO 35
  • 179. 4, rue Ampère 22300 LANNION contact@haploid.fr +33 9 72 22 51 37 @haploid www.haploid.fr

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. 42% n’utilisent que le top 25\n\n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. BSD (Berkeley Software Distribution) remonte aux années 80\n
  55. BSD (Berkeley Software Distribution) remonte aux années 80\n
  56. BSD (Berkeley Software Distribution) remonte aux années 80\n
  57. BSD (Berkeley Software Distribution) remonte aux années 80\n
  58. BSD (Berkeley Software Distribution) remonte aux années 80\n
  59. BSD (Berkeley Software Distribution) remonte aux années 80\n
  60. BSD (Berkeley Software Distribution) remonte aux années 80\n
  61. BSD (Berkeley Software Distribution) remonte aux années 80\n
  62. BSD (Berkeley Software Distribution) remonte aux années 80\n
  63. BSD (Berkeley Software Distribution) remonte aux années 80\n
  64. BSD (Berkeley Software Distribution) remonte aux années 80\n
  65. BSD (Berkeley Software Distribution) remonte aux années 80\n
  66. BSD (Berkeley Software Distribution) remonte aux années 80\n
  67. trousseau d’accès: partager des mots de passe entre applications\n
  68. trousseau d’accès: partager des mots de passe entre applications\n
  69. trousseau d’accès: partager des mots de passe entre applications\n
  70. trousseau d’accès: partager des mots de passe entre applications\n
  71. trousseau d’accès: partager des mots de passe entre applications\n
  72. trousseau d’accès: partager des mots de passe entre applications\n
  73. trousseau d’accès: partager des mots de passe entre applications\n
  74. trousseau d’accès: partager des mots de passe entre applications\n
  75. trousseau d’accès: partager des mots de passe entre applications\n
  76. trousseau d’accès: partager des mots de passe entre applications\n
  77. trousseau d’accès: partager des mots de passe entre applications\n
  78. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  79. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  80. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  81. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  82. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  83. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  84. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  85. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  86. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  87. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  88. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  89. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  90. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  91. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  92. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  93. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  94. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  95. CFNetwork: sockets, SSL / TLS, HTTP, HTTPS avec authentification, FTP, Bonjour\nFoundation (Obj-C. Wrapper class) / CoreFoundation (C)\n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. Ecriture d’un pre-processor pour C contenant quelques possibilités de Smalltalk (notamment la règle: «tout est un object», notion de «messages», ...)\n
  116. Ecriture d’un pre-processor pour C contenant quelques possibilités de Smalltalk (notamment la règle: «tout est un object», notion de «messages», ...)\n
  117. Ecriture d’un pre-processor pour C contenant quelques possibilités de Smalltalk (notamment la règle: «tout est un object», notion de «messages», ...)\n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. On ne parle pas de méthodes en Objective-C mais de messages\n
  127. On ne parle pas de méthodes en Objective-C mais de messages\n
  128. On ne parle pas de méthodes en Objective-C mais de messages\n
  129. On ne parle pas de méthodes en Objective-C mais de messages\n
  130. On ne parle pas de méthodes en Objective-C mais de messages\n
  131. On ne parle pas de méthodes en Objective-C mais de messages\n
  132. On ne parle pas de méthodes en Objective-C mais de messages\n
  133. On ne parle pas de méthodes en Objective-C mais de messages\n
  134. On ne parle pas de méthodes en Objective-C mais de messages\n
  135. On ne parle pas de méthodes en Objective-C mais de messages\n
  136. On ne parle pas de méthodes en Objective-C mais de messages\n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. Patrons/Méthodes de conception en Français\nModèles utilisés dans l’ensemble du système iOS\nLa vue n’effectue aucun traitement et se contente d’afficher les résultats des traitements ainsi que les interactions avec l’utilisateur\n
  144. Patrons/Méthodes de conception en Français\nModèles utilisés dans l’ensemble du système iOS\nLa vue n’effectue aucun traitement et se contente d’afficher les résultats des traitements ainsi que les interactions avec l’utilisateur\n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. \n
  160. \n
  161. \n
  162. \n
  163. \n
  164. \n
  165. \n
  166. \n
  167. \n
  168. \n
  169. \n
  170. \n
  171. \n
  172. \n
  173. \n
  174. \n
  175. \n