Immersion à iOS - Soat

689 views
623 views

Published on

Le monde du développement sur iPhone et iPad est aussi séduisant qu'il est impressionnant. Un nouveau langage à apprendre, des tonnes d'API et une grammaire tactile à découvrir, on peut assez vite se noyer.
Pascal Batty, consultant Soat, vous propose de revenir sur l'histoire de ce SDK et d'en démystifier les bases, puis de mettre les mains dans le cambouis pour créer votre première application.
Que vous veniez du Java ou du .net, vous pourrez découvrir que si l'eau paraît froide au début, elle est très bonne quand on est dedans.

La vidéo de la présentation est visible ici : http://youtu.be/spo2KUHBHlM

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
689
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Immersion à iOS - Soat

  1. 1. iOS Immersion Pascal Batty 1mardi 11 décembre 12
  2. 2. Je veux ! 2mardi 11 décembre 12
  3. 3. ๏ Idée de génie ๏ Maquettes révolutionnaires ๏ API de fou ๏ App Mobile 3mardi 11 décembre 12
  4. 4. Mobile ? 4mardi 11 décembre 12
  5. 5. 6.x 69,5 % 5.x 24,8 % 4.x 5,7 % Version ? 5mardi 11 décembre 12
  6. 6. Moyen ? 6mardi 11 décembre 12
  7. 7. 7mardi 11 décembre 12
  8. 8. Objective-C : Historique 8mardi 11 décembre 12
  9. 9. 1980 N a is s a n c e d Obje c t ive - C 9mardi 11 décembre 12
  10. 10. 1986 NeXTs te pmardi 11 décembre 12
  11. 11. 2001 M acOS X 11mardi 11 décembre 12
  12. 12. 2007 iphone 12mardi 11 décembre 12
  13. 13. 2008 iP h o ne OS SDK 13mardi 11 décembre 12
  14. 14. 2009 2010 2011 2012 iOS 3 iOS 4 iOS 5 iOS 6 … Xcode 3.2 Xcode 4.0mardi 11 décembre 12
  15. 15. Objective-C : Technique 15mardi 11 décembre 12
  16. 16. Framework Runtime ObjC Compilo Langage 16mardi 11 décembre 12
  17. 17. #define try-catch enum Références int main(int argc, char** argv) struct char* Désallocation Headers uint Allocation Pointeurs int[] typedef malloc() #ifdef 17mardi 11 décembre 12
  18. 18. Pointeurs 18mardi 11 décembre 12
  19. 19. Méthode de classe @class nil Propriétés NSString Protocoles Retain Release Polymorphisme Méthode d’instance @protocol Héritage @property NSObject 19mardi 11 décembre 12
  20. 20. NSObject 20mardi 11 décembre 12
  21. 21. nil 21mardi 11 décembre 12
  22. 22. Boîte à outils • NSString • NSArray • NSDictionary • NSSet 22mardi 11 décembre 12
  23. 23. Boîte à outils • NSString • NSMutableString • NSArray • NSMutableArray • NSDictionary • NSMutableDictionary • NSSet • NSMutableSet 22mardi 11 décembre 12
  24. 24. Syntaxe 23mardi 11 décembre 12
  25. 25. Déclaration #import <Foundation/Foundation.h> @interface Person:NSObject @property NSString *name; - (id)initWithName:(NSString *)name; + (id)personWithName:(NSString *)name; @end 24mardi 11 décembre 12
  26. 26. Implémentation #import "Person.h" @implementation Person @synthesize name = _name; - (id)initWithName:(NSString *)name { … } + (id)personWithName:(NSString *)name { … } @end 25mardi 11 décembre 12
  27. 27. Envoi de message ObjC [teller sayHello]; Java/C# teller.sayHello(); ObjC [teller sayHelloTo:person]; Java/C# teller.sayHello(person); 26mardi 11 décembre 12
  28. 28. Envoi de message ObjC [teller say:message to:person]; teller.say(message, person); Java/C# 27mardi 11 décembre 12
  29. 29. Sélecteur say:to: 28mardi 11 décembre 12
  30. 30. Initialisation, Propriétés Person *person1 = [[Person alloc] init]; Person *person2 = [[Person alloc] initWithName:@"Noé"]; Person *person3 = [Person personWithName:@"Jim"]; [person1 setName:@"Jen"]; Setter person2.name = @"Pam"]; NSString *name = [person1 name]; Getter NSString *otherName = person2.name; 29mardi 11 décembre 12
  31. 31. Gestion de la mémoire 30mardi 11 décembre 12
  32. 32. mardi 11 décembre 12
  33. 33. Reference Counting 32mardi 11 décembre 12
  34. 34. Setter (retain) - (void)setText:(NSString *)textValue { if (textValue != _text) { [textValue retain]; [_text release]; _text = textValue; } } 33mardi 11 décembre 12
  35. 35. Ouf… Automatic Reference Counting 34mardi 11 décembre 12
  36. 36. Anatomie d’une App 35mardi 11 décembre 12
  37. 37. Révisions Controller View Model 36mardi 11 décembre 12
  38. 38. Interface Utilisateur Outlets Actions ViewController Interface 37mardi 11 décembre 12
  39. 39. View ≠ ViewController 38mardi 11 décembre 12
  40. 40. Délégation UITextField @protocol UITextFieldDelegate • textFieldShouldBeginEditing: • textFieldDidBeginEditing: • textFieldShouldEndEditing: • textFieldDidEndEditing: • textField:shouldChangeCharactersInRange:replacementString: • textFieldShouldClear: • textFieldShouldReturn: 39mardi 11 décembre 12
  41. 41. Délégation UITextField delegate 40mardi 11 décembre 12
  42. 42. Délégation L’utilisateur a appuyé sur Retour ! UITextField delegate [delegate textFieldShouldReturn:self] 40mardi 11 décembre 12
  43. 43. Délégation L’utilisateur a appuyé sur Retour ! UITextField delegate [delegate textFieldShouldReturn:self] Ok, je lance une recherche 40mardi 11 décembre 12
  44. 44. Là où tout commence… AppDelegate 41mardi 11 décembre 12
  45. 45. Pause ! puis demo 42mardi 11 décembre 12
  46. 46. Pour commencer http://developer.apple.com/ios 43mardi 11 décembre 12
  47. 47. Merci 44mardi 11 décembre 12

×