Creating Papers
mekentosj.com
Alexander Griekspoor | mek@mekentosj.com


•   Who is mekentosj?
•   What’s Papers?

•   MacOSX as a development platform
•   Cocoa & Papers
mekentosj.com
Alexander Griekspoor | mek@mekentosj.com


•   Who is mekentosj?
•   What’s Papers?

•   MacOSX as a development platform
•   Cocoa & Papers
mekentosj.com
Alexander Griekspoor | mek@mekentosj.com


•   Who is mekentosj?
•   What’s Papers?

•   MacOSX as a development platform
•   Cocoa & Papers
Demo
Photo copyright by dejus | flickr.com



                                                      Developing native applications
                                Objective-C & Cocoa   for MacOSX
Objective-C & Cocoa

• Objective-C, a small superset of ANSI-C that allows object oriented programming
 [object performActionWithParameter: aParameter];



• Cocoa, a powerful API for creating native MacOSX applications



                                   Objective-C
                                    Aqua UI

                                  Runtime
                         Foundation       Appkit             Cocoa
                                      ANSI-C
                                 CoreFoundation
Cocoa & Objective-C

• Objective-C, a small superset of ANSI-C that allows object oriented programming
 [object performActionWithParameter: aParameter];



• Cocoa, a powerful API for creating native MacOSX applications



                                     Aqua UI


    CoreData       Webkit         PDFkit            Foundation     Appkit


                                 CoreFoundation
Core Data            Cocoa Bindings          PDFKit



                         Tab controls


            WebKit
                                                   Spotlight



            Papers & Cocoa        life made easy
An example: dynamic plugins
• Importers / Exporters


• Search Engines
                                  - (BOOL)readyToPerformSearch
• Protocols & Delegation
                                  - (void) performSearchWithQuery:

• Simple but powerful                           - (void)didBeginSearch:(id)sender


                                  - (void)didRetrieveObjects:(NSDictionary *)dict
• Dynamically loaded at runtime
                                                - (void)didEndSearch: (id)sender;


                                  - (BOOL)successfulCompletion;!


                                  - (void) performCleanup;
New
A free toolbox: XCode 3.0
• GCC


• XCode 3.0
   • Better workflows
   • Refactoring
   • Snapshots
   • Inline debugging

• Interface builder 3.0
   • Completely redone from scratch
   • Support for core animation built-in
New
New ways to debug: Xray

• CHUD Tools (Shark)


• Garageband like UI
  • System monitoring
  • Memory
  • Network
  • etc

• Build on DTrace
How to get started

• visit developer.apple.com


• signup for free developer
  account at connect.apple.com


• mekentosj.com/programs/
  how.html


• email: mek@mekentosj.com


• MacResearch.org /
  SciComp@Cam OSX User group



Photo copyright by shio | flickr.com
Building Papers

Building Papers

  • 1.
  • 2.
    mekentosj.com Alexander Griekspoor |mek@mekentosj.com • Who is mekentosj? • What’s Papers? • MacOSX as a development platform • Cocoa & Papers
  • 3.
    mekentosj.com Alexander Griekspoor |mek@mekentosj.com • Who is mekentosj? • What’s Papers? • MacOSX as a development platform • Cocoa & Papers
  • 4.
    mekentosj.com Alexander Griekspoor |mek@mekentosj.com • Who is mekentosj? • What’s Papers? • MacOSX as a development platform • Cocoa & Papers
  • 15.
  • 16.
    Photo copyright bydejus | flickr.com Developing native applications Objective-C & Cocoa for MacOSX
  • 17.
    Objective-C & Cocoa •Objective-C, a small superset of ANSI-C that allows object oriented programming [object performActionWithParameter: aParameter]; • Cocoa, a powerful API for creating native MacOSX applications Objective-C Aqua UI Runtime Foundation Appkit Cocoa ANSI-C CoreFoundation
  • 18.
    Cocoa & Objective-C •Objective-C, a small superset of ANSI-C that allows object oriented programming [object performActionWithParameter: aParameter]; • Cocoa, a powerful API for creating native MacOSX applications Aqua UI CoreData Webkit PDFkit Foundation Appkit CoreFoundation
  • 19.
    Core Data Cocoa Bindings PDFKit Tab controls WebKit Spotlight Papers & Cocoa life made easy
  • 20.
    An example: dynamicplugins • Importers / Exporters • Search Engines - (BOOL)readyToPerformSearch • Protocols & Delegation - (void) performSearchWithQuery: • Simple but powerful - (void)didBeginSearch:(id)sender - (void)didRetrieveObjects:(NSDictionary *)dict • Dynamically loaded at runtime - (void)didEndSearch: (id)sender; - (BOOL)successfulCompletion;! - (void) performCleanup;
  • 21.
    New A free toolbox:XCode 3.0 • GCC • XCode 3.0 • Better workflows • Refactoring • Snapshots • Inline debugging • Interface builder 3.0 • Completely redone from scratch • Support for core animation built-in
  • 22.
    New New ways todebug: Xray • CHUD Tools (Shark) • Garageband like UI • System monitoring • Memory • Network • etc • Build on DTrace
  • 23.
    How to getstarted • visit developer.apple.com • signup for free developer account at connect.apple.com • mekentosj.com/programs/ how.html • email: mek@mekentosj.com • MacResearch.org / SciComp@Cam OSX User group Photo copyright by shio | flickr.com