Vom PC zum Mac: 3 Wochen später

Vor rund 3 Wochen bin ich privat von meinem Dell Notebook mit Windows XP auf einen Apple iMac 20″ mit Mac OS X umgestiegen. Ich bin noch unverändert begeistert von Mac OS X und wünschte, ich hätte viel mehr Zeit mich gezielt mit den Eigenheiten und Möglichkeiten des Systems zu beschäftigen. Hier nun ein kurzer Rundflug über diverse Themen:

Tastaturkürzel

Umgewöhnen ist angesagt. Gerade als Entwickler muss man erstmal sehen, wo man die beim Programmieren gebräuchlichen Sonderzeichen findet:

  • [ = alt-5
  • ] = alt-6
  • | = alt-7
  • { = alt-8
  • } = alt-9
  • ~ = alt-n

Das sieht schlimmer aus, als es in Wirklichkeit ist, weil man sich sehr schnell daran gewöhnt. Ungewohnt ist das Fehlen der Pos1- und Ende-Taste, doch dafür gibt es cmd-links und cmd-rechts. Hier fällt allerdings Fiferox ärgerlicherweise aus dem Rahmen, da er diese beiden Shortcuts als vor und zurück in der History des aktuellen Tabs interpretiert. Vielleicht haben wir ja Glück und die Firefox Entwickler räumen damit in Version 3 auf. Wird werden es in Kürze erfahren.

Programmieren unter Mac OS X

Kurzum: Wer nicht gerade Windows-Anwendungen entwickeln will, ist unter Mac OS X gut aufgehoben. Ein kurzer Test im Terminal ergibt, PHP ist an Bord, Ruby ist an Bord, Python ist an Bord und auch Java ist an Bord. Daneben gibt es noch AppleScript, das beim Mac eine ähnliche Rolle erfüllt wie Rexx auf OS/2, bzw. ARexx beim Amiga OS.

Bei Mac OS X dabei: Perl, Ruby, Python, PHP, Java

Zusätzlich liegt Mac OS X auch die jeweils aktuelle Version von Apples Entwicklungsumgebung Xcode bei. Xcode erschlägt erstmal mit seinem Funktionsumfang und den mitgelieferten Tools. Da werde ich mir mal etwas Ruhe und Literatur gönnen müssen. Persönlich interessiert mich Objective-C, die Sprache in der standardmäßig Mac-Anwendungen und das System selbst entwickelt werden, sowie Cocoa, Apples objektoriente API für die OS X Programmierung.

Apples Enwicklungsumgebung Xcode

Doch Xcode beschränkt sich in seiner Unterstützung nicht nur auf Objective C. Auch AppleScript, C++, Java, Python und Ruby werden unterstützt, für die auch Cocoa-Schnittstellen bereitstehen. Somit lassen sich OS X Anwendungen auch direkt in Python oder Ruby entwickeln.

Xcode Sprachunterstützung

Für Web-Entwickler wie mich hat Mac OS X den Vorteil ein UNIX-System zu sein. Da ich auf Linux-Servern arbeite war es bisher mitunter manchmal etwas schwierig auf einem lokalen Windows-System zu testen und dann auf ein UNIX hochzuladen. Alleine der Unterschied in der Behandlung von Groß-/Kleinschreibung von Dateien und Verzeichnissen ist da schonmal etwas nervig und nur zu gerne nutze ich jetzt auch symbolische Links.

Mit ein Punkt, der die Entscheidung zugunsten eines Mac fallen ließ war Coda, eine IDE für Web-Entwickler, die u.a. über einen eingebauten CSS-Editor, einen FTP-Client und Gruppen. Hier muss ich die Tage nochmal eingehend evaluieren, ehe ich mich zum Kauf entscheide. Im Grunde ist die Entscheidung zum Kauf aber schon gefallen. Auf der Arbeit werde ich in Ermangelung eones Macs dann bei dem TextMate Klon für Windows, dem Editor E, bleiben.

Der Punkt mit dem Punkt

Um mir einen lokalen Test-Webserver aufzusetzen griff ich kurzentschlossen zu MAMP, einem Paket aus Apache Webserver mit PHP Erweiterung, MySQL Datenbank-Server und einem grafischen Frontend.

MAMP Manager

Daraufhin habe ich das Drupal 6.2 Archiv entpackt und den Ordner in den htdocs Ordner des MAMP Apachen kopiert, doch zunächst konnte ich ums Verrecken keine Clean URLs in Drupal aktivieren. Nach etwas Suchen fand ich dann heraus, dass die .htaccess Datei im Drupal Hauptverzeichnis nicht mitkopiert worden war.

Des Rätsels Lösung war, dass ich manuell alles im entpackten Drupal 6.2 Archiv markiert und kopiert hatte, anstatt den kompletten Ordner zu verschieben. Standardmäßig zeigt Mac OS X versteckte Dateien nämlich nicht an und in einem Unix-System sind die versteckten Dateien nunmal die mit dem vorangestellten Punkt im Namen. Somit war die .htaccess nicht mitkopiert worden.

Um sich Klarheit im Dateisystem zu verschaffen kann man nun das Terminal benutzen und „ls -a“, oder aber man weist Mac OS X an versteckte Dateien anzuzeigen. Da das ziemlich hässlich ist, stellt man das aber schnell wieder aus. Um zwischen Anzeige und Verstecken hin- und herzuschalten fand ich dann im Web folgendes AppleScript:

[sourcecode language=“javascript“]

set dotVisible to do shell script „defaults read com.apple.Finder AppleShowAllFiles“
if dotVisible = „0“ then
do shell script „defaults write com.apple.Finder AppleShowAllFiles 1“
else
do shell script „defaults write com.apple.Finder AppleShowAllFiles 0“
end if
tell application „Finder“ to quit
delay 1
tell application „Finder“ to activate

[/sourcecode]

Das Schöne an dieser Lösung ist, dass sie die laufenden Finder-Fenster nicht abschießt. Das hebt sie von anderen Lösung ab, die im Web kursieren und direkt über das Terminal laufen.

Meine erste Präsentation seit langem

Ich komme selten in die Situation eine klassische PowerPoint-Präsentation erstellen zu müssen. Da sind andere viel tougher. So kenne ich z.B. jemanden der sogar ganze Pflichtenhefte für Software in Powerpoint erstellt, dort als die Oberflächen und Workflows abbildet.

Für ein aktuelles Projekt bot es sich aber letztens an, einige unserer Ideen in eben einer solchen Präsentation abzubilden. Da ich mit meinem Mac auch eine Lizenz für Apples Offices Paket iWork ’08 erworben hatte, fand ich es eine gute Gelegenheit mich einmal mit dem Präsentationsprogramm Keynote zu beschäftigen. Nur mit den online verfügbaren Einstiegsvideos war ich in der Lage, meine Ideen problemlos und schnell umzusetzen.

Apple iWork Keynote in Aktion

Die Stärken von Keynote wurden schnell offenbar. So beinhaltet es eine Reihe sehr attraktiver Design-Vorlagen und einer Fülle von sehr ansehnlichen Effekten. Leider kann man beim Export in das PowerPoint Format oder in Flash diese Effekte nicht übernehmen. Sie werden in dem Fall von Standardeffekten ersetzt. Hat man am Zielort keinen Mac zur Hand, will auf seine Effekte aber nicht verzichten, bietet sich der Export als Quicktime Video an. Hier kann man wie gewohnt in seiner Präsentation vor- und zurückschalten und alle Effekte bleiben als solche erhalten. Lediglich wird so ein Quicktime File recht schnell recht groß. Eine dreistellige MB Größe ist nicht schwierig zusammen zu bekommen.