• Like

How To Do Almost Smalltalking To Develop iOs Apps

  • 657 views
Uploaded on

ESUG 2012, Ghent

ESUG 2012, Ghent

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
657
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
15
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. lunes 3 de septiembre de 12
  • 2. How to do Almost Smalltalking to develop iOs Appslunes 3 de septiembre de 12
  • 3. How to do Almost Smalltalking to develop iOs Apps Tansel Ersavas tansel@tansel.orglunes 3 de septiembre de 12
  • 4. lunes 3 de septiembre de 12
  • 5. Let us do some surveylunes 3 de septiembre de 12
  • 6. Let us do some survey • As primary development platformlunes 3 de septiembre de 12
  • 7. Let us do some survey • As primary development platform • How many uses Windowslunes 3 de septiembre de 12
  • 8. Let us do some survey • As primary development platform • How many uses Windows • Linuxlunes 3 de septiembre de 12
  • 9. Let us do some survey • As primary development platform • How many uses Windows • Linux • Maclunes 3 de septiembre de 12
  • 10. lunes 3 de septiembre de 12
  • 11. Mobile Platformslunes 3 de septiembre de 12
  • 12. Mobile Platforms • Any developers for mobile platforms?lunes 3 de septiembre de 12
  • 13. Mobile Platforms • Any developers for mobile platforms? • Any iOs developerslunes 3 de septiembre de 12
  • 14. Mobile Platforms • Any developers for mobile platforms? • Any iOs developers • Any Android developerslunes 3 de septiembre de 12
  • 15. Mobile Platforms • Any developers for mobile platforms? • Any iOs developers • Any Android developers • Windowslunes 3 de septiembre de 12
  • 16. Mobile Platforms • Any developers for mobile platforms? • Any iOs developers • Any Android developers • Windows • Multiple platforms?lunes 3 de septiembre de 12
  • 17. lunes 3 de septiembre de 12
  • 18. Who am I?lunes 3 de septiembre de 12
  • 19. Who am I? • Doing Smalltalk since 1992lunes 3 de septiembre de 12
  • 20. Who am I? • Doing Smalltalk since 1992 • Involved in Squeak since 1996lunes 3 de septiembre de 12
  • 21. Who am I? • Doing Smalltalk since 1992 • Involved in Squeak since 1996 • Past developer and editor of the SqueakNews e-zinelunes 3 de septiembre de 12
  • 22. Who am I? • Doing Smalltalk since 1992 • Involved in Squeak since 1996 • Past developer and editor of the SqueakNews e-zine • Experienced systems developer with30+ years of experiencelunes 3 de septiembre de 12
  • 23. Who am I? • Doing Smalltalk since 1992 • Involved in Squeak since 1996 • Past developer and editor of the SqueakNews e-zine • Experienced systems developer with30+ years of experience • Currently iOs,Android and RAILS consultantlunes 3 de septiembre de 12
  • 24. lunes 3 de septiembre de 12
  • 25. Why am I not there?lunes 3 de septiembre de 12
  • 26. Why am I not there?lunes 3 de septiembre de 12
  • 27. lunes 3 de septiembre de 12
  • 28. Mobile madnesslunes 3 de septiembre de 12
  • 29. Mobile madness • Who is to blame?lunes 3 de septiembre de 12
  • 30. Mobile madness • Who is to blame? • Especially tabletslunes 3 de septiembre de 12
  • 31. Mobile madness • Who is to blame? • Especially tablets • Guess who started itlunes 3 de septiembre de 12
  • 32. Mobile madness • Who is to blame? • Especially tablets • Guess who started itlunes 3 de septiembre de 12
  • 33. lunes 3 de septiembre de 12
  • 34. Why iOslunes 3 de septiembre de 12
  • 35. Why iOs • Rise of mobile deviceslunes 3 de septiembre de 12
  • 36. Why iOs • Rise of mobile devices • Rise of tabletslunes 3 de septiembre de 12
  • 37. Why iOs • Rise of mobile devices • Rise of tablets • Apple projected to sell more tabletslunes 3 de septiembre de 12
  • 38. Why iOs • Rise of mobile devices • Rise of tablets • Apple projected to sell more tabletslunes 3 de septiembre de 12
  • 39. lunes 3 de septiembre de 12
  • 40. To Master Smalltalklunes 3 de septiembre de 12
  • 41. To Master Smalltalklunes 3 de septiembre de 12
  • 42. lunes 3 de septiembre de 12
  • 43. To Master Objective-Clunes 3 de septiembre de 12
  • 44. To Master Objective-C • You must remember or re-learn some!lunes 3 de septiembre de 12
  • 45. To Master Objective-C • You must remember or re-learn some! • Return to “C”lunes 3 de septiembre de 12
  • 46. To Master Objective-C • You must remember or re-learn some! • Return to “C” • Come back to Smalltalklunes 3 de septiembre de 12
  • 47. lunes 3 de septiembre de 12
  • 48. Objective-Clunes 3 de septiembre de 12
  • 49. Objective-C • Developed by Brad Cox and Tom Love in 1980slunes 3 de septiembre de 12
  • 50. Objective-C • Developed by Brad Cox and Tom Love in 1980s • Earliest appearance 1981ishlunes 3 de septiembre de 12
  • 51. Objective-C • Developed by Brad Cox and Tom Love in 1980s • Earliest appearance 1981ish • Both were introduced to Smalltalk at ITT Corporation Programming Technology Center in 1981lunes 3 de septiembre de 12
  • 52. lunes 3 de septiembre de 12
  • 53. OOPC to Objective-Clunes 3 de septiembre de 12
  • 54. OOPC to Objective-C • Brad Cox started writing a preprocessor for C to add some capabilities of Smalltalklunes 3 de septiembre de 12
  • 55. OOPC to Objective-C • Brad Cox started writing a preprocessor for C to add some capabilities of Smalltalk • He named it OOPClunes 3 de septiembre de 12
  • 56. OOPC to Objective-C • Brad Cox started writing a preprocessor for C to add some capabilities of Smalltalk • He named it OOPC • meaning “Object oriented pre-compiler”lunes 3 de septiembre de 12
  • 57. OOPC to Objective-C • Brad Cox started writing a preprocessor for C to add some capabilities of Smalltalk • He named it OOPC • meaning “Object oriented pre-compiler” • OOPC evolved to Objective-Clunes 3 de septiembre de 12
  • 58. lunes 3 de septiembre de 12
  • 59. MacOS Replacementlunes 3 de septiembre de 12
  • 60. MacOS Replacement • Candidates were:lunes 3 de septiembre de 12
  • 61. MacOS Replacement • Candidates were: • BeOSlunes 3 de septiembre de 12
  • 62. MacOS Replacement • Candidates were: • BeOS • NeXTsteplunes 3 de septiembre de 12
  • 63. MacOS Replacement • Candidates were: • BeOS • NeXTstep • Winner was: NeXTsteplunes 3 de septiembre de 12
  • 64. lunes 3 de septiembre de 12
  • 65. NeXTlunes 3 de septiembre de 12
  • 66. NeXT • Steve Jobs founded NeXTlunes 3 de septiembre de 12
  • 67. NeXT • Steve Jobs founded NeXT • Licensed Objective-C to develop NeXTSTEPlunes 3 de septiembre de 12
  • 68. NeXT • Steve Jobs founded NeXT • Licensed Objective-C to develop NeXTSTEP • NeXTSTEP -> OPENSTEP (with SUN)lunes 3 de septiembre de 12
  • 69. NeXT • Steve Jobs founded NeXT • Licensed Objective-C to develop NeXTSTEP • NeXTSTEP -> OPENSTEP (with SUN) • OPENSTEP +BSD ->Mac OS-Xlunes 3 de septiembre de 12
  • 70. NeXT • Steve Jobs founded NeXT • Licensed Objective-C to develop NeXTSTEP • NeXTSTEP -> OPENSTEP (with SUN) • OPENSTEP +BSD ->Mac OS-X • OS X -> iOslunes 3 de septiembre de 12
  • 71. lunes 3 de septiembre de 12
  • 72. Objective-C in iOslunes 3 de septiembre de 12
  • 73. Objective-C in iOs • Superset of Clunes 3 de septiembre de 12
  • 74. Objective-C in iOs • Superset of C • Incorporates Smalltalk syntax and many Smalltalk conceptslunes 3 de septiembre de 12
  • 75. lunes 3 de septiembre de 12
  • 76. Objective-Clunes 3 de septiembre de 12
  • 77. Objective-C • Basic syntax:lunes 3 de septiembre de 12
  • 78. Objective-C • Basic syntax: • Anything valid in C is valid in Objective-Clunes 3 de septiembre de 12
  • 79. Objective-C • Basic syntax: • Anything valid in C is valid in Objective-C • Smalltalk syntax is introduced through “[]”lunes 3 de septiembre de 12
  • 80. lunes 3 de septiembre de 12
  • 81. Additional Syntaxlunes 3 de septiembre de 12
  • 82. Additional Syntax • Separation of interface and implementationlunes 3 de septiembre de 12
  • 83. Additional Syntax • Separation of interface and implementation • Method categorieslunes 3 de septiembre de 12
  • 84. Additional Syntax • Separation of interface and implementation • Method categories • Protocolslunes 3 de septiembre de 12
  • 85. Additional Syntax • Separation of interface and implementation • Method categories • Protocols • UI related macroslunes 3 de septiembre de 12
  • 86. Additional Syntax • Separation of interface and implementation • Method categories • Protocols • UI related macros • Some code generation for getters-setterslunes 3 de septiembre de 12
  • 87. lunes 3 de septiembre de 12
  • 88. Smalltalk in Objective-Clunes 3 de septiembre de 12
  • 89. Smalltalk in Objective-C [UIView setAnimationDelay:wait];lunes 3 de septiembre de 12
  • 90. Smalltalk in Objective-C [UIView setAnimationDelay:wait]; [UIView beginAnimations:@"Fade Out" context:nil];lunes 3 de septiembre de 12
  • 91. Smalltalk in Objective-C [UIView setAnimationDelay:wait]; [UIView beginAnimations:@"Fade Out" context:nil]; [self.navigationController pushViewController:videoStarter animated:NO];lunes 3 de septiembre de 12
  • 92. Smalltalk in Objective-C [UIView setAnimationDelay:wait]; [UIView beginAnimations:@"Fade Out" context:nil]; [self.navigationController pushViewController:videoStarter animated:NO]; [self performSelector:@selector(showVideo:) withObject: @"Owh" afterDelay: 0.3];lunes 3 de septiembre de 12
  • 93. lunes 3 de septiembre de 12
  • 94. Objective-C Quirkslunes 3 de septiembre de 12
  • 95. Objective-C Quirks[self dim: nehButton alpha: ((aView == nehButton) ? 0.5 : 0.1)];lunes 3 de septiembre de 12
  • 96. Objective-C Quirks[self dim: nehButton alpha: ((aView == nehButton) ? 0.5 : 0.1)];[self fadeIn:(UIView*)aView duration: (NSTimeInterval)1.5 wait:(NSTimeInterval)0];lunes 3 de septiembre de 12
  • 97. Objective-C Quirks[self dim: nehButton alpha: ((aView == nehButton) ? 0.5 : 0.1)];[self fadeIn:(UIView*)aView duration: (NSTimeInterval)1.5 wait:(NSTimeInterval)0]; videoStarter = [[VideoStart alloc] initWithNibName:@"VideoStart" ! ! ! ! ! ! ! ! ! ! bundle:[NSBundle mainBundle]];lunes 3 de septiembre de 12
  • 98. lunes 3 de septiembre de 12
  • 99. // // Created by Tansel on 19/05/11. // Copyright 2011, 2012 Tansel Ersavas. All rights reserved. // #import <UIKit/UIKit.h> #import <AVFoundation/AVAudioPlayer.h> @class AVAudioPlayer; @interface Audio : UIViewController { ! IBOutlet UIButton *__weak playNehButton; ! IBOutlet UIButton *__weak playOwhButton; ! IBOutlet UIButton *__weak playEhButton; ! IBOutlet UIButton *__weak playEairhButton; ! IBOutlet UIButton *__weak playHehButton; ! } @property (weak, nonatomic) IBOutlet UIButton *playNehButton; @property (weak, nonatomic) IBOutlet UIButton *playOwhButton; @property (weak, nonatomic) IBOutlet UIButton *playEhButton; @property (weak, nonatomic) IBOutlet UIButton *playEairhButton; @property (weak, nonatomic) IBOutlet UIButton *playHehButton; -(IBAction)playNeh; -(IBAction)playOwh; -(IBAction)playEh; -(IBAction)playEairh; -(IBAction)playHeh; -(IBAction)stop; @endlunes 3 de septiembre de 12
  • 100. lunes 3 de septiembre de 12
  • 101. // Created by Tansel on 19/05/11. // Copyright 2011, 2012 Tansel Ersavas. All rights reserved. // #import "Audio.h" @implementation Audio @synthesize playNehButton; @synthesize playOwhButton; @synthesize playEhButton; @synthesize playEairhButton; @synthesize playHehButton; -(void) playSound: aSoundFile ofType: aType{ ... } -(IBAction)playNeh { ! [self playSound: @"Neh" ofType: @"mp3"]; } ... - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; ! [self.navigationController setNavigationBarHidden: NO animated: YES]; } ... @endlunes 3 de septiembre de 12
  • 102. lunes 3 de septiembre de 12
  • 103. +(BOOL)instancesRespondToSelector:aSelector +(BOOL)isSubclassOfClass:aClass -(BOOL)isKindOfClass:aClass -(BOOL)isMemberOfClass:aClass -(BOOL)respondsToSelector:aSelector -(id)performSelector:aSelector -(id)performSelector:aSelector withObject:anObject -(id)performSelector:aSelector withObject:anObject withObject:anotherObject -(id)performSelector:aSelector withObject:anObject afterDelay:aDelaylunes 3 de septiembre de 12
  • 104. lunes 3 de septiembre de 12
  • 105. Objective-Clunes 3 de septiembre de 12
  • 106. Objective-C • Naming conventionslunes 3 de septiembre de 12
  • 107. Objective-C • Naming conventions • Long and verboselunes 3 de septiembre de 12
  • 108. Objective-C • Naming conventions • Long and verbose • Very readablelunes 3 de septiembre de 12
  • 109. Objective-C • Naming conventions • Long and verbose • Very readable • Very consistentlunes 3 de septiembre de 12
  • 110. Objective-C • Naming conventions • Long and verbose • Very readable • Very consistent • Bonus:Very Smalltalk like!lunes 3 de septiembre de 12
  • 111. lunes 3 de septiembre de 12
  • 112. More infolunes 3 de septiembre de 12
  • 113. More info • Is abundant on the Weblunes 3 de septiembre de 12
  • 114. More info • Is abundant on the Web • One example is Objective-C tutorial by Cocoa Dev Centrallunes 3 de septiembre de 12
  • 115. More info • Is abundant on the Web • One example is Objective-C tutorial by Cocoa Dev Centrallunes 3 de septiembre de 12
  • 116. lunes 3 de septiembre de 12
  • 117. Let us start!lunes 3 de septiembre de 12
  • 118. Let us start!lunes 3 de septiembre de 12
  • 119. Let us start! “Do or do not! There is no try!”lunes 3 de septiembre de 12
  • 120. lunes 3 de septiembre de 12
  • 121. So, you decidedlunes 3 de septiembre de 12
  • 122. So, you decided • Download XCodelunes 3 de septiembre de 12
  • 123. So, you decided • Download XCode • Apple developer sitelunes 3 de septiembre de 12
  • 124. So, you decided • Download XCode • Apple developer site • Free but requires registrationlunes 3 de septiembre de 12
  • 125. So, you decided • Download XCode • Apple developer site • Free but requires registration • Requires OS-Xlunes 3 de septiembre de 12
  • 126. So, you decided • Download XCode • Apple developer site • Free but requires registration • Requires OS-X • Latest Xcode will require latest OS-Xlunes 3 de septiembre de 12
  • 127. So, you decided • Download XCode • Apple developer site • Free but requires registration • Requires OS-X • Latest Xcode will require latest OS-X • Can be downloaded through the App storelunes 3 de septiembre de 12
  • 128. So, you decided • Download XCode • Apple developer site • Free but requires registration • Requires OS-X • Latest Xcode will require latest OS-X • Can be downloaded through the App storelunes 3 de septiembre de 12
  • 129. lunes 3 de septiembre de 12
  • 130. IDEslunes 3 de septiembre de 12
  • 131. IDEs • iOs uses XCodelunes 3 de septiembre de 12
  • 132. IDEs • iOs uses XCode • Not exactly like Smalltalk IDElunes 3 de septiembre de 12
  • 133. IDEs • iOs uses XCode • Not exactly like Smalltalk IDE • Getting friendlier everydaylunes 3 de septiembre de 12
  • 134. IDEs • iOs uses XCode • Not exactly like Smalltalk IDE • Getting friendlier everydaylunes 3 de septiembre de 12
  • 135. IDEs • iOs uses XCode • Not exactly like Smalltalk IDE • Getting friendlier everydaylunes 3 de septiembre de 12
  • 136. IDEs • iOs uses XCode • Not exactly like Smalltalk IDE • Getting friendlier everydaylunes 3 de septiembre de 12
  • 137. IDEs • iOs uses XCode • Not exactly like Smalltalk IDE • Getting friendlier everydaylunes 3 de septiembre de 12
  • 138. lunes 3 de septiembre de 12
  • 139. Custom Artworklunes 3 de septiembre de 12
  • 140. Custom Artwork • You WILL need at least some custom artworklunes 3 de septiembre de 12
  • 141. Custom Artwork • You WILL need at least some custom artwork • Unless you are graphics artist do not do it yourself!!lunes 3 de septiembre de 12
  • 142. Custom Artwork • You WILL need at least some custom artwork • Unless you are graphics artist do not do it yourself!! • If you must, then read “Human Interface Guidelines” especially:lunes 3 de septiembre de 12
  • 143. Custom Artwork • You WILL need at least some custom artwork • Unless you are graphics artist do not do it yourself!! • If you must, then read “Human Interface Guidelines” especially: • “Human Interface Principals”lunes 3 de septiembre de 12
  • 144. lunes 3 de septiembre de 12
  • 145. iPhone Mockupslunes 3 de septiembre de 12
  • 146. iPhone Mockups • Use a GUI designerlunes 3 de septiembre de 12
  • 147. iPhone Mockups • Use a GUI designer • Use ready made mockup images from the internetlunes 3 de septiembre de 12
  • 148. iPhone Mockups • Use a GUI designer • Use ready made mockup images from the internet • http://www.teehanlax.com/downloads/ iphone-4-guid-psd-retina-display/lunes 3 de septiembre de 12
  • 149. iPhone Mockups • Use a GUI designer • Use ready made mockup images from the internet • http://www.teehanlax.com/downloads/ iphone-4-guid-psd-retina-display/ • Careful: the above can only be used by designers for mockups not for promotionlunes 3 de septiembre de 12
  • 150. iPhone Mockups • Use a GUI designer • Use ready made mockup images from the internet • http://www.teehanlax.com/downloads/ iphone-4-guid-psd-retina-display/ • Careful: the above can only be used by designers for mockups not for promotionlunes 3 de septiembre de 12
  • 151. lunes 3 de septiembre de 12
  • 152. Apple Human Interface Guidelineslunes 3 de septiembre de 12
  • 153. Apple Human Interface Guidelines • Must-must-must read!lunes 3 de septiembre de 12
  • 154. Apple Human Interface Guidelines • Must-must-must read! • “iOS Human Interface Guidelines describes the guidelines and principles that help you design a superlative user interface and user experience for your iOS app”lunes 3 de septiembre de 12
  • 155. Apple Human Interface Guidelines • Must-must-must read! • “iOS Human Interface Guidelines describes the guidelines and principles that help you design a superlative user interface and user experience for your iOS app”lunes 3 de septiembre de 12
  • 156. Apple Human Interface Guidelines • Must-must-must read! • “iOS Human Interface Guidelines describes the guidelines and principles that help you design a superlative user interface and user experience for your iOS app” Image and quote source: Apple developer Librarylunes 3 de septiembre de 12
  • 157. lunes 3 de septiembre de 12
  • 158. iOs Apps - Deviceslunes 3 de septiembre de 12
  • 159. iOs Apps - Devices • iPhone-iPod touch onlylunes 3 de septiembre de 12
  • 160. iOs Apps - Devices • iPhone-iPod touch only • iPad onlylunes 3 de septiembre de 12
  • 161. iOs Apps - Devices • iPhone-iPod touch only • iPad only • Universallunes 3 de septiembre de 12
  • 162. iOs Apps - Devices • iPhone-iPod touch only • iPad only • Universallunes 3 de septiembre de 12
  • 163. lunes 3 de septiembre de 12
  • 164. iOs Apps-Orientationlunes 3 de septiembre de 12
  • 165. iOs Apps-Orientation • Portraitlunes 3 de septiembre de 12
  • 166. iOs Apps-Orientation • Portrait • Landscapelunes 3 de septiembre de 12
  • 167. iOs Apps-Orientation • Portrait • Landscape • Supporting bothlunes 3 de septiembre de 12
  • 168. iOs Apps-Orientation • Portrait • Landscape • Supporting both • Don’t forget upside-down versionslunes 3 de septiembre de 12
  • 169. iOs Apps-Orientation • Portrait • Landscape • Supporting both • Don’t forget upside-down versionslunes 3 de septiembre de 12
  • 170. iOs Apps-Orientation • Portrait • Landscape • Supporting both • Don’t forget upside-down versionslunes 3 de septiembre de 12
  • 171. lunes 3 de septiembre de 12
  • 172. iOs App typeslunes 3 de septiembre de 12
  • 173. iOs App types • Generally fits into a few basic categorieslunes 3 de septiembre de 12
  • 174. iOs App types • Generally fits into a few basic categories • Simple one or 2 page appslunes 3 de septiembre de 12
  • 175. iOs App types • Generally fits into a few basic categories • Simple one or 2 page apps • Tab based appslunes 3 de septiembre de 12
  • 176. iOs App types • Generally fits into a few basic categories • Simple one or 2 page apps • Tab based apps • Navigation based appslunes 3 de septiembre de 12
  • 177. iOs App types • Generally fits into a few basic categories • Simple one or 2 page apps • Tab based apps • Navigation based apps • OpenGL Appslunes 3 de septiembre de 12
  • 178. iOs App types • Generally fits into a few basic categories • Simple one or 2 page apps • Tab based apps • Navigation based apps • OpenGL Apps • Mixed appslunes 3 de septiembre de 12
  • 179. iOs App types • Generally fits into a few basic categories • Simple one or 2 page apps • Tab based apps • Navigation based apps • OpenGL Apps • Mixed appslunes 3 de septiembre de 12
  • 180. lunes 3 de septiembre de 12
  • 181. Simple Appslunes 3 de septiembre de 12
  • 182. Simple Apps • Single Page App templatelunes 3 de septiembre de 12
  • 183. Simple Apps • Single Page App template • Utility App templatelunes 3 de septiembre de 12
  • 184. Simple Apps • Single Page App template • Utility App templatelunes 3 de septiembre de 12
  • 185. Simple Apps • Single Page App template • Utility App templatelunes 3 de septiembre de 12
  • 186. lunes 3 de septiembre de 12
  • 187. Tabbed Appslunes 3 de septiembre de 12
  • 188. Tabbed Apps • Good when there are a few pageslunes 3 de septiembre de 12
  • 189. Tabbed Apps • Good when there are a few pages • Navigation is through always visible sometimes horizontally scrollable tabslunes 3 de septiembre de 12
  • 190. Tabbed Apps • Good when there are a few pages • Navigation is through always visible sometimes horizontally scrollable tabslunes 3 de septiembre de 12
  • 191. Tabbed Apps • Good when there are a few pages • Navigation is through always visible sometimes horizontally scrollable tabslunes 3 de septiembre de 12
  • 192. lunes 3 de septiembre de 12
  • 193. Navigation based Appslunes 3 de septiembre de 12
  • 194. Navigation based Apps • For more sophisticated appslunes 3 de septiembre de 12
  • 195. Navigation based Apps • For more sophisticated apps • Allows to navigate through pushing new viewslunes 3 de septiembre de 12
  • 196. Navigation based Apps • For more sophisticated apps • Allows to navigate through pushing new views • Can create a complex tree like navigationlunes 3 de septiembre de 12
  • 197. Navigation based Apps • For more sophisticated apps • Allows to navigate through pushing new views • Can create a complex tree like navigation • with or without a navigation bar on toplunes 3 de septiembre de 12
  • 198. Navigation based Apps • For more sophisticated apps • Allows to navigate through pushing new views • Can create a complex tree like navigation • with or without a navigation bar on toplunes 3 de septiembre de 12
  • 199. Navigation based Apps • For more sophisticated apps • Allows to navigate through pushing new views • Can create a complex tree like navigation • with or without a navigation bar on toplunes 3 de septiembre de 12
  • 200. Navigation based Apps • For more sophisticated apps • Allows to navigate through pushing new views • Can create a complex tree like navigation • with or without a navigation bar on toplunes 3 de septiembre de 12
  • 201. Navigation based Apps • For more sophisticated apps • Allows to navigate through pushing new views • Can create a complex tree like navigation • with or without a navigation bar on toplunes 3 de septiembre de 12
  • 202. lunes 3 de septiembre de 12
  • 203. OpenGL Gameslunes 3 de septiembre de 12
  • 204. OpenGL Games • Do not need to be compliant to Apple Human Interface Guidelines as much as other iOs appslunes 3 de septiembre de 12
  • 205. OpenGL Games • Do not need to be compliant to Apple Human Interface Guidelines as much as other iOs apps • openGL is generally much harder than Apple UI component based appslunes 3 de septiembre de 12
  • 206. OpenGL Games • Do not need to be compliant to Apple Human Interface Guidelines as much as other iOs apps • openGL is generally much harder than Apple UI component based appslunes 3 de septiembre de 12
  • 207. OpenGL Games • Do not need to be compliant to Apple Human Interface Guidelines as much as other iOs apps • openGL is generally much harder than Apple UI component based apps Image from Apple developer sitelunes 3 de septiembre de 12
  • 208. lunes 3 de septiembre de 12
  • 209. Other tools to considerlunes 3 de septiembre de 12
  • 210. Other tools to consider • Generallunes 3 de septiembre de 12
  • 211. Other tools to consider • General • PhoneGaplunes 3 de septiembre de 12
  • 212. Other tools to consider • General • PhoneGap • RhoStudiolunes 3 de septiembre de 12
  • 213. Other tools to consider • General • PhoneGap • RhoStudio • Appceleratorlunes 3 de septiembre de 12
  • 214. Other tools to consider • General • PhoneGap • RhoStudio • Appcelerator • MoSynclunes 3 de septiembre de 12
  • 215. lunes 3 de septiembre de 12
  • 216. 2D and 3D Graphicslunes 3 de septiembre de 12
  • 217. 2D and 3D Graphics • Game engines-frameworkslunes 3 de septiembre de 12
  • 218. 2D and 3D Graphics • Game engines-frameworks • Corona SDKlunes 3 de septiembre de 12
  • 219. 2D and 3D Graphics • Game engines-frameworks • Corona SDK • Unity3Dlunes 3 de septiembre de 12
  • 220. 2D and 3D Graphics • Game engines-frameworks • Corona SDK • Unity3D • Unreallunes 3 de septiembre de 12
  • 221. 2D and 3D Graphics • Game engines-frameworks • Corona SDK • Unity3D • Unreal • Cocos-2Dlunes 3 de septiembre de 12
  • 222. 2D and 3D Graphics • Game engines-frameworks • Corona SDK • Unity3D • Unreal • Cocos-2D • Many otherslunes 3 de septiembre de 12
  • 223. lunes 3 de septiembre de 12
  • 224. An Example of a Unity3D Gamelunes 3 de septiembre de 12
  • 225. An Example of a Unity3D Game • Battlestar Galactica online by NBCUniversallunes 3 de septiembre de 12
  • 226. An Example of a Unity3D Game • Battlestar Galactica online by NBCUniversallunes 3 de septiembre de 12
  • 227. lunes 3 de septiembre de 12
  • 228. An Example of our Unity3D worklunes 3 de septiembre de 12
  • 229. An Example of our Unity3D work • Chora Museum by IZAppslunes 3 de septiembre de 12
  • 230. An Example of our Unity3D work • Chora Museum by IZAppslunes 3 de septiembre de 12
  • 231. An Example of our Unity3D work • Chora Museum by IZAppslunes 3 de septiembre de 12
  • 232. lunes 3 de septiembre de 12
  • 233. Where to go nextlunes 3 de septiembre de 12
  • 234. Where to go next • Play with Xcodelunes 3 de septiembre de 12
  • 235. Where to go next • Play with Xcode • Immense amount of tutorials on the weblunes 3 de septiembre de 12
  • 236. Where to go next • Play with Xcode • Immense amount of tutorials on the web • Some on-line courses by respected universitieslunes 3 de septiembre de 12
  • 237. lunes 3 de septiembre de 12
  • 238. Stanford Universitylunes 3 de septiembre de 12
  • 239. Stanford Universitylunes 3 de septiembre de 12
  • 240. lunes 3 de septiembre de 12
  • 241. Closinglunes 3 de septiembre de 12
  • 242. Closing • You can develop with Objective-Clunes 3 de septiembre de 12
  • 243. Closing • You can develop with Objective-C • Resources are abundantlunes 3 de septiembre de 12
  • 244. Closing • You can develop with Objective-C • Resources are abundant • Good designers are available on the Weblunes 3 de septiembre de 12
  • 245. lunes 3 de septiembre de 12
  • 246. Any questions?lunes 3 de septiembre de 12
  • 247. Any questions? • You can reach me at tansel@tansel.orglunes 3 de septiembre de 12
  • 248. Any questions? • You can reach me at tansel@tansel.org • Come and visit us in Turkey while I am there!lunes 3 de septiembre de 12
  • 249. Any questions? • You can reach me at tansel@tansel.org • Come and visit us in Turkey while I am there! • Let us do an ESUG conference in Istanbul!lunes 3 de septiembre de 12