Your SlideShare is downloading. ×
iOS Development - Offline Class for Jasakomer
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

iOS Development - Offline Class for Jasakomer

676
views

Published on

A slide I presented yesterday on Offline Class of Jasakom - one of a biggest hacker community in Indonesia. …

A slide I presented yesterday on Offline Class of Jasakom - one of a biggest hacker community in Indonesia.
This slide is quite similar with my previous slides of the same topic, but with more and updated content.

Published in: Technology, Art & Photos

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
676
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
44
Comments
0
Likes
1
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. Introduction to iOS Development Offline Class Jasakomer (Special iOS), April 15, 2012 Andri Yadi President, ID-ObjC | CEO, DyCode @andri_yadi | a (at) dycode (dot) com http://andriyadi.me
  • 2. about me
  • 3. ID-ObjectiveCPresidentThe first & largest iOS & OSXdeveloper community in Indonesia
  • 4. 4 years in a row
  • 5. 2011 - now
  • 6. start a company & code for food9 years in mobile development
  • 7. a movie freak
  • 8. iOS Devices
  • 9. Start developing iOS apps Today! 21
  • 10. http://developer.apple.com/ios
  • 11. Xcode iOS Simulator iOS Developer Library
  • 12. Required Stuffs
  • 13. Latest iOS SDK
  • 14. Installing Tools 27
  • 15. Optional Stuffs
  • 16. Actual iOS devices
  • 17. For debugging to device & deployment to AppStore
  • 18. Some development stuffs
  • 19. Objective-CC + OOP ≠ C++
  • 20. A superset of C: Objective-C Advantages:• Syntactical convention for defining • Dynamic typing: classes & method enables to determine the class of an object• Syntax for method invocation at runtime• Syntax for declaring & synthesizing • Dynamic binding: properties allows to determine the method to call at• Static & dynamic typing runtime instead of at compile-time• Blocks • Dynamic loading:• Extension: protocol & categories allows to add modules of code & other resources at runtime.
  • 21. Classes & Objects
  • 22. Methods & Messaging [aMutableArray insertObject:anObject atIndex:0];[[self aMutableArray] insertObject:anObject atIndex:0]; [self.aMutableArray insertObject:anObject atIndex:0];
  • 23. Blocksint result = myBlock(4);
  • 24. Protocols & CategoriesProtocol == Interface in other OOP language (Java, C#)@interface NowPlayingController :UIViewController<UIScrollViewDelegate, ProfileViewDelegate> {}@end@protocol ProfileViewDelegate- (void)profileView:(ProfileView *)profileView doSignInWith:(AuthProviderType)signInType sender:(id)sender;@optional- (void)profileView:(ProfileView *)profileView doSignOut:(id)sender;@endCategory, enables to extend a class without subclassing it@interface NSDate (Additions)+ (NSDate *)dateFromTimeString:(NSString*)timeString;+ (NSDate *)dateWithJSONString:(NSString *)json;- (NSDate *)dateByAddingDays:(NSInteger)numDays;- (NSDate *)dateByAddingHours:(NSInteger)numHours;@end
  • 25. More details:http://bit.ly/AF8EiJ
  • 26. Design Pattern
  • 27. Model-View-Controller design pattern
  • 28. NowPlayingControllerNowPlaying NowPlayingView Model-View-Controller design pattern
  • 29. Memory Management Reference countingNo garbage collector support (yet) Autorelease Pool
  • 30. iOS frameworks
  • 31. Enable apps to store user documents and key value data Push changes to all user’s computers and devicesStorage
  • 32. Easily integrate Tweet SheetAccess system-wide Twitter accountfrom within appWrap OAuth request & response
  • 33. Memory management becomes compiler’s job No need to deal with retain & release by yourself Manually enabled in Xcode It’s NOT a garbage collector!Automatic Reference Counting (ARC)
  • 34. Layout the app’s workflow & design user interfaces Specify transitions & segues between views Can be loaded dynamicallyStoryboard
  • 35. Image processing framework finally comes to iOS Provides built-in filters: color effect, distortions, transitions Advanced features: red-eye reduction, face recognitionCoreImage
  • 36. Take advantage of the latest hardwareGLKit: new high-level frameworkApple-developed OpenGL ES extensions
  • 37. Cocoa TouchFoundation, UIKit, Multi-Touch Gestures
  • 38. GraphicsCore Graphics, Core Animation, Core Image, Core Text, OpenGL ES
  • 39. CoreDataDatabase, Object-Relational Mapping, optimized for mobile - > 1 million objects store
  • 40. Audio & VideoMedia player, Core Audio & OpenAL, iPod library, HTTP Live Streaming
  • 41. NetworkingBonjour, Peer to peer, WebKit framework, BSD socket
  • 42. Core Location & MapKit
  • 43. MultitaskingNew kind of multitasking
  • 44. External display support
  • 45. AirPrintWireless printing to AirPrint-enabled printers. Hack available
  • 46. Push & Local Notification
  • 47. Game CenterSocial gaming platform
  • 48. iAdIntegrated advertising platform
  • 49. In-App PurchasePayment inside applications
  • 50. Human Interface Design
  • 51. GUI Elementshttp://www.teehanlax.com/downloads/iOS_5_GUI_iPhone4S.psd.zip
  • 52. Storyboard
  • 53. The app will look like these
  • 54. App Store Submission
  • 55. Finally, on the App Store
  • 56. you app can use this badge!
  • 57. Everything is here: http://developer.apple.com/ios
  • 58. https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/Introduction/Introduction.html
  • 59. Let’s see some code
  • 60. DYCODE IS HIRING!
  • 61. If you think you’reawesome, either mobiledeveloper guru or stillearly learner, send yourawesome CV to:hrd@dycode.com

×