Einblick in die iPhone Softwarentwicklung
Zugegeben, das iPhone OS mit SDK ist grandios einfach, wie vermutlich alles unter dem MacOSX. Allerdings gibts auch einige Kritikpunkte.
- XCode hat als IDE ein Alleinstellungsmerkmal auf dem Mac. Für iPhone-Entwicklung gibts leider keine Alternativen.
- MacOSX ist für mich zu viel "Eye candy". Ergonmisch ist diese Oberfläche für Featuritis-verwöhnte KDE-User wie mich keinesfalls. Aber ich möchte keine Grundsatzdiskussion vom Zaum brechen.
- Der Einstieg in die Apple Developer Connection ist zwar kostenlos, aber keinesfalls anonym.
- Die primäre Programmiersprache Objective-C ist, sagen wir mal, gewöhnungsbedürftig.
Was heißt das im Einzelnen? XCode (3.1 beta) und seine Werkzeuge (Interface Builder und iPhone Simulator) mögen gut sein, verhindern aber durch ihre etlichen offenen Fenster ein effektives arbeiten. Außerdem wundere ich mich manchmal über die verfehlten Prioritäten die in diese IDE gesetzt sind. So fehlen z.B. ein anständiger Inline-Dokumentationsbrowser völlig, dafür gibts aufblinkende animierte geschweifte Blockklammern.
Das MVC-Konzept von Cocoa ist zwar gut, aber dank Objective-C nicht gerade programmiererfreundlich. Ich weiß dass meine Meinung etwas voreilig ist, da ich nun gerade effektiv eine Woche auf Basis englischer Lektüre dabei bin und mir etwas die Erfahrung fehlt. Aber ich kenne Sprachen, wie z.B. ActionScript 3 oder Java, die dank By-Design-Objektorientierung wesentlich verständlicher sind.
Ich habe aber nicht nur negative Eindrücke zu vermitteln. Besonders positiv ist mir z.B. die umfangreiche und verständliche Einsteigerdokumentation zur iPhone-Softwareentwicklung und ihren "Guidelines" aufgefallen. Man bekommt sehr schnell einen Überblick über die verwendete Architektur und den Framework-Paketen. Man könnte theoretisch (mit Betonung) sofort loslegen.
Dass eine Sprache ihre Charakteristiken mitbringt, die erstmal gelernt und verstanden werden müssen, weiß jeder Universalprogrammierer. Erfahrene MacOSX-Entwickler habens da einfacher, die glücklichen :)
Ich hoffe auf guten Zuspruch unserer kompetenten Experten im Haus meine Praxisarbeit hier im Blog später veröffentlichen zu können. Bis dahin muss ich erstmal auf einen Link zu den Release Notes von Version 2.0 von Objective-C vertrösten:
http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/ObjC.pdf
