headquarter
Mac Desktop Entwicklung Phillipp Bertram DEVELOPER DAY 20vierzehn http://www.admiralmarkets.com/images/mtmac/metatrader4-for-mac-os.png 2
"There is no reason for any individual to have a computer in his home." - 1977, Ken Olsen, founder of Digital Equipment Corp. 3
Agenda MAC OS Überblick Software Arten Mac Technologien Voraussetzungen Demo 4
MAC OS Macintosh Operating System auf UNIX basierendes Betriebssystem von Apple Lizenz verbietet Betrieb von MAC OS auf nicht Apple Computern System 1.0 Release (1984) Ab Version 7.5.1 Mac OS 5
System 1.0 1984 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 6
System 2.0 1985 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 7
System 3.0 1986 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 8
System 4.0 1987 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 9
System 5.0 1987 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 10
System 6.0 1988 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 11
System 7.0 1991 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 12
MAC OS 8.0 1997 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 13
MAC OS 9.0 1999 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 14
MAC OS X 10.0 Cheeta 2001 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 15
MAC OS X 10.1 Puma 2001 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 16
MAC OS X 10.2 Jaguar 2002 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 17
MAC OS X 10.3 Panther 2003 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 18
MAC OS X 10.4 Tiger 2005 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 19
MAC OS X 10.5 Leopard 2007 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 20
MAC OS X 10.6 Snow Leopard 2009 http://blogof.francescomugnai.com/2009/11/mac-os-evolution-from-system-1-0-to-snow-leopard-55-wonderful-images/ 21
MAC OS X 10.7 Lion 2011 http://www.laptopspirit.fr/wp-content/uploads/new/mac-os-x-107-lion-fonctionnalites-3.jpg 22
MAC OS X 10.8 Mountain Lion 2012 http://cdn.cultofmac.com/wp-content/uploads/2012/07/mza_11548044746508880-75.jpg 23
MAC OS X 10.9 Mavericks 2013 http://cdn.macrumors.com/article-new/2013/06/mavericks.jpg 24
OS X 10.10 Yosemite 2014 25
"Mit Handoff kannst du genau da weitermachen, wo du aufgehört hast." Handoff http://www.ampercent.com/wp/wp-content/uploads/handoff.jpg 26
http://cdn.macrumors.com/article-new/2014/06/handoffiosyosemite.jpg 27
Erweitert Funktionalität und Inhalt außerhalb der App App Extensions 28
Today Finder Sync 29
Share Action 30
Beschreibt Übergänge zwischen einzelnen Szenen. Bessere Übersicht aller Views und deren Übergängen. Weniger Code Storyboards 31
32
Software Arten Frameworks und Libraries Command-line Tools und Daemons App-Plug-Ins System-Plug-Ins 33
Apps 34
App Styles Single-Window Utility App Single-Window "Shoebox" App Multi-Window Document-Based App 35
Security VS Non-Sandboxed Sandboxed http://www.macobserver.com/imgs/landau/2011/sandbox.jpg 36
Non-Sandboxed App Alle Nutzer- Daten App Alle Systemressourcen uneingeschränkter Zugriff 37
Sandboxed App Sandbox App uneingeschränkter Zugriff Alle Systemressourcen kein Zugriff Alle Nutzer- Daten 38
Mac OS X Application Bundle MyApp.app/ Contents/ MacOS/ Resources/ Info.plist... 39
Mac Technologien Cocoa (Application) Media Core Services Core OS Kernel und Treiber 40
Programmiersprache(n) 41
Programmiersprache(n) C C++ AppleScript bash Tcl Ruby Perl zsh tcsh PHP Python 42
http://3.bp.blogspot.com/-4aaqfjcb-za/udldswo7x3i/aaaaaaaabxk/fdui7etrego/s500/designpatterns02.jpg 43
MVC http://www.usp-forum.de/artikel-attachments/16004d1374849523-playstation-3-controller.png http://www.augensound.de/l50105-zeichnungen_comic-fashion.jpg http://www.psdbucket.com/wp-content/uploads/apple_eye_psdb.png 44
Bindings Object Controller 45
Delegation http://enroyed.com/wp-content/uploads/2011/09/beer.jpg 46
Responder Chain First Responder View Hierarchy............ App Delegate 47
Block Objekte http://yourhead.com/_images/blocks_big.png 48
Target-Action Button Action 49
Key-Value Observing Oberserver Observe 'firstname' Notify change 'firstname' Data Model (Person) 50
Notifications register "Notification A" register "Notification B" register "Notification B" http://wsjv.images.worldnow.com/images/372052_ls.jpg 51
Notifications receive "Notification B" post "Notification B" receive "Notification B" http://wsjv.images.worldnow.com/images/372052_ls.jpg 52
Kern Objekte aller Cocoa Apps Model Controller NSApplication App Delegate NSWindow Window Controller View ViewControllers (optional) 53
NSApplication Startet Event-Loop Verwaltet Interaktionen zwischen App und System Eigener Code im entsprechenden Delegate Objekt 54
Application Delegate Benutzerdefiniertes Objekt, dass NSApplicationDelegate konform ist Regelt App-Status Änderungen 55
Window Controller Lädt und verwaltet ein Window mit seinen Views NSWindowController Instanz Verantwortlich für alles, was im Window passiert NSWindowController 56
Window Repräsentiert ein Fenster auf dem Bildschirm Wird i.d.r. von einem Window Controller verwaltet zusätzliche Windows: Panels, Dialogs NSWindow 57
View Controllers Koordinieren den Ladevorgang einer View-Hierarchy Arbeiten zusammen mit dem Window Controller In OS X sind ViewController Helferklassen für den Window Controller NSViewController 58
Views Definieren einen rechteckigen Bereich in einem Fenster Reagieren auf Events in diesem Bereich Container Verwalten Subviews NSView 59
Controls Reagieren auf User Interaktionen Buttons, Textfields, Tables NSControl Unterklassen 60
App Lifecycle App starten main() NSApplicationMain Quit Application Application Delegate Handle Event Application Delegate 61
Voraussetzungen Mac Developer Program Mac zum Entwickeln Xcode Installieren http://upload.wikimedia.org/wikipedia/en/0/0c/xcode_icon.png http://newhdart.com/data_images/out/55/1358425-imac.jpg 62
DEMO 63
Stay hungry, stay foolish! - Steve Jobs 64
Vielen Dank für ihre Aufmerksamkeit LMIS AG Neumarkt 1 49074 Osnabrück Tel.: +49 541 200 690-0 Fax: +49 541 200 690-499 E-Mail: info@lmis.de Web: www.lmis.de Handelsregister: Amtsgericht Osnabrück, HRB 19316, Ust.-Id.-Nr.: DE211909662 Vorstand: Axel van Lil, Marco Barenkamp (Vorsitzender)