iPhone Development Tips and Tricks (Copenhagen)

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    iPhone Development Tips and Tricks (Copenhagen) - Presentation Transcript

    1. tips & tricks for iPhone application development
    2. adrian kosmaczewski
    3. akosma software akosma.com akosma.tumblr.com github.com/akosma linkedin.com/in/akosma facebook.com/akosma
    4. @akosma
    5. some questions
    6. @perlausten? @supermouse? @williwu?
    7. new to iPhone?
    8. technologies?
    9. J2EE, J2ME, .NET, RoR, others?
    10. programming languages?
    11. C / C++? Java, C#? Ruby, Python, Lua? JavaScript?
    12. iPhone dev ≠ web dev
    13. Cocoa & Objective-C
    14. born in the 80s
    15. Objective-C
    16. Objective-C Java @interface & class @implementation @protocol interface #import // files! import // classes! categories n/a id n/a
    17. • Thin layer around C • Message-dispatch runtime • Static and dynamic (you choose) • The “real” father of Java: • http://cs.gmu.edu/~sean/stuff/java-objc.html
    18. • Single inheritance + interfaces (“@protocols”) • @protocols can have optional methods • Fields protected by default • All methods are virtual and overridable • Methods can be added to existing classes • Full introspection / reflection • Messages can be intercepted and forwarded • à la AOP!
    19. Cocoa Touch
    20. iPhone Specifics
    21. 128 or 256 MB RAM
    22. ~70 MB for the OS!
    23. no swap file
    24. (no virtual memory)
    25. no garbage collector
    26. (manual memory management)
    27. http://cocoadevcentral.com/d/learn_objectivec/
    28. no automatic objects on the stack (C++)
    29. // C++ // Memory freed when out of scope std::string name(“Adrian”); std::string *name = NULL; name = new std::string(“Adrian”); delete name;
    30. hygiene
    31. memory warnings
    32. avoid autorelease
    33. lazy-loading & reuse
    34. custom table cells & reuse
    35. override setters properly
    36. beware of delegation
    37. instruments & static analysis
    38. warnings as errors
    39. code organization
    40. (cheaper maintenance)
    41. iPhone ≠ computer
    42. http://www.flickr.com/photos/oskay/365607662/
    43. http://www.flickr.com/photos/blakespot/2379207825/
    44. http://www.flickr.com/photos/oskay/365607591/
    45. books
    46. thanks!
    47. questions?
    SlideShare Zeitgeist 2009

    + Adrian KosmaczewskiAdrian Kosmaczewski Nominate

    custom

    175 views, 0 favs, 1 embeds more stats

    This is the presentation I’ve given on the free J more

    More info about this document

    CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

    Go to text version

    • Total Views 175
      • 160 on SlideShare
      • 15 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 8
    Most viewed embeds
    • 15 views on http://kosmaczewski.net

    more

    All embeds
    • 15 views on http://kosmaczewski.net

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories