13. Mobile Platforms
• Any developers for mobile platforms?
• Any iOs developers
lunes 3 de septiembre de 12
14. Mobile Platforms
• Any developers for mobile platforms?
• Any iOs developers
• Any Android developers
lunes 3 de septiembre de 12
15. Mobile Platforms
• Any developers for mobile platforms?
• Any iOs developers
• Any Android developers
• Windows
lunes 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
19. Who am I?
• Doing Smalltalk since 1992
lunes 3 de septiembre de 12
20. Who am I?
• Doing Smalltalk since 1992
• Involved in Squeak since 1996
lunes 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-zine
lunes 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 experience
lunes 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 consultant
lunes 3 de septiembre de 12
50. Objective-C
• Developed by Brad Cox and Tom Love in
1980s
• Earliest appearance 1981ish
lunes 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 1981
lunes 3 de septiembre de 12
54. OOPC to Objective-C
• Brad Cox started writing a preprocessor
for C to add some capabilities of Smalltalk
lunes 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 OOPC
lunes 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-C
lunes 3 de septiembre de 12
67. NeXT
• Steve Jobs founded NeXT
• Licensed Objective-C to develop
NeXTSTEP
lunes 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-X
lunes 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 -> iOs
lunes 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
84. Additional Syntax
• Separation of interface and implementation
• Method categories
• Protocols
lunes 3 de septiembre de 12
85. Additional Syntax
• Separation of interface and implementation
• Method categories
• Protocols
• UI related macros
lunes 3 de septiembre de 12
86. Additional Syntax
• Separation of interface and implementation
• Method categories
• Protocols
• UI related macros
• Some code generation for getters-setters
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
123. So, you decided
• Download XCode
• Apple developer site
lunes 3 de septiembre de 12
124. So, you decided
• Download XCode
• Apple developer site
• Free but requires registration
lunes 3 de septiembre de 12
125. So, you decided
• Download XCode
• Apple developer site
• Free but requires registration
• Requires OS-X
lunes 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-X
lunes 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 store
lunes 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 store
lunes 3 de septiembre de 12
140. Custom Artwork
• You WILL need at least some custom
artwork
lunes 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
147. iPhone Mockups
• Use a GUI designer
• Use ready made mockup images from the
internet
lunes 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 promotion
lunes 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 promotion
lunes 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 Library
lunes 3 de septiembre de 12
173. iOs App types
• Generally fits into a few basic categories
lunes 3 de septiembre de 12
174. iOs App types
• Generally fits into a few basic categories
• Simple one or 2 page apps
lunes 3 de septiembre de 12
175. iOs App types
• Generally fits into a few basic categories
• Simple one or 2 page apps
• Tab based apps
lunes 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 apps
lunes 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 Apps
lunes 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 apps
lunes 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 apps
lunes 3 de septiembre de 12
188. Tabbed Apps
• Good when there are a few pages
lunes 3 de septiembre de 12
189. Tabbed Apps
• Good when there are a few pages
• Navigation is through always visible
sometimes horizontally scrollable tabs
lunes 3 de septiembre de 12
190. Tabbed Apps
• Good when there are a few pages
• Navigation is through always visible
sometimes horizontally scrollable tabs
lunes 3 de septiembre de 12
191. Tabbed Apps
• Good when there are a few pages
• Navigation is through always visible
sometimes horizontally scrollable tabs
lunes 3 de septiembre de 12
195. Navigation based Apps
• For more sophisticated apps
• Allows to navigate through pushing new
views
lunes 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 navigation
lunes 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 top
lunes 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 top
lunes 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 top
lunes 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 top
lunes 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 top
lunes 3 de septiembre de 12
204. OpenGL Games
• Do not need to be compliant to Apple
Human Interface Guidelines as much as
other iOs apps
lunes 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 apps
lunes 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 apps
lunes 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 site
lunes 3 de septiembre de 12
234. Where to go next
• Play with Xcode
lunes 3 de septiembre de 12
235. Where to go next
• Play with Xcode
• Immense amount of tutorials on the web
lunes 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
universities
lunes 3 de septiembre de 12
247. Any questions?
• You can reach me at tansel@tansel.org
lunes 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