{"id":915,"date":"2010-09-23T08:35:30","date_gmt":"2010-09-23T07:35:30","guid":{"rendered":"http:\/\/www.puls200.de\/?p=915"},"modified":"2010-09-23T08:35:30","modified_gmt":"2010-09-23T07:35:30","slug":"iphone-und-apple","status":"publish","type":"post","link":"https:\/\/www.puls200.de\/?p=915","title":{"rendered":"iPhone und Apple"},"content":{"rendered":"<p>In meinem \"offiziellen\" Job bin ich nun seit 8 Wochen (mit einigen Unterbrechungen) mit Softwareentwicklung f\u00fcr das iPhone besch\u00e4ftigt. An dieser Stelle m\u00f6chte ich kurz meine bisherigen Erfahrungen res\u00fcmieren. Vorausschickend noch anzumerken ist, da\u00df sich vieles wie Meckerei anh\u00f6rt. Das sollte nicht so sein. Ich bin dem Apple-Virus nicht anheim gefallen, verwende die Ger\u00e4te privat nicht und habe daher einen neutralen Standpunkt. Es geht nicht darum, ob iPhones cool oder praktisch sind. Eher, was passiert wenn man daf\u00fcr Software entwickelt.<\/p>\n<p><strong>iPhone Entwicklung - lohnt sich das denn?<\/strong><br \/>\nDie Frage aller Fragen. Angesichts der un\u00fcberschaubaren Flut an Apps im Apple Store kann das Gef\u00fchl entstehen, da\u00df dieser Markt komplett ges\u00e4ttigt ist. Das stimmt allerdings nicht, denn es werden immer noch Neuger\u00e4te (und damit Apps) verkauft. Allerdings - um \"entdeckt\" zu werden mu\u00df man entweder kostenlos (Bl\u00f6dsinn, wir wollen Geld verdienen) oder sehr gut sein. Wer fr\u00fch kommt, verdient allerdings auch mit simpelsten Anwendungen Geld. Inzwischen geht das aus meiner Sicht f\u00fcr den Apple-Store \/ Consumermarkt nur dann, wenn es nur wenig Konkurrenz f\u00fcr die \"Idee\" gibt. Man muss ber\u00fccksichtigen: Wenn man, sagen wir, in 2 Wochen eine sehr einfache App entwickelt (ganz optimistisch gerechnet) bei einem hiesigen, sehr konservativen Tagessatz von 500\u20ac und noch die Hardwareeinstiegskosten (iMac Mini + iPod = 1.000\u20ac) + 100\u20ac Entwicklerlizenz dazunimmt, liegt man bei einer initialen Investition von 6.100 \u20ac. Setzt man 1\u20ac an muss die App 8.714-mal heruntergeladen werden (Apple Steuer: 30%), bevor man den <em>break even<\/em> erreicht. Ab diesem Zeitpunkt verdient man Geld. Aber nicht vergessen: Das ist der Consumer-Markt. Man ist zum Support verpflichtet. Bekommt man von nur einem Promille aller Anwender eine E-Mail (ganz dolle optimistisch), mu\u00df man bis zu diesem Punkt schon 8 Supportanfragen bearbeiten. Oh, lala. \"L\u00e4uft\" es einmal, wird die Anwendung in der Regel sehr schnell gecrackt und Plagiate tauchen auf, wie Kollegen von mir schon erfahren haben. Die Verkaufskurve zeigt dann unwillk\u00fchrlich wieder nach unten. Ein gro\u00dfer Vorteil soll nat\u00fcrlich nicht verschwiegen werden. Als Entwickler im stillen K\u00e4mmerlein hat man mit dem AppStore eine fantastische Vertriebskette zur Verf\u00fcgung. Die Kunden m\u00fcssen nicht mehr gefunden oder geworben werden. Falls, tja, falls sie einen innerhalb der derzeit rund 200.000 angebotenen Apps selbst finden. :-)<br \/>\nJetzt entwickeln wir nicht f\u00fcr den Consumer-Markt. Wir haben Gesch\u00e4ftskunden, die Masse ist nicht entscheidend. Allerdings bleibt die Ger\u00e4tevielfalt dieselbe. Zur Anwendungsentwicklung auf einem Endger\u00e4t existiert eine preiswerte Alternative, und zwar die Implementierung einer f\u00fcr mobile Ger\u00e4te optimierten Webseite. In vielen F\u00e4llen m\u00fcssen ohnehin online auf Gesch\u00e4ftsdaten zugegriffen werden, eine Internetverbindung ist also erforderlich. Und ob HTC\/Android, Berry oder iPhone, es l\u00e4uft \u00fcberall (mehr oder weniger ansehnlich) gleich. Im Funkloch tut sich dann nichts mehr, aber das ist dann vom Anwendungsfall abh\u00e4ngig. Man pr\u00fcfe also, ob man sich das antun will ;)<\/p>\n<p><strong>Restriktionen<\/strong><br \/>\nIn der Apple-Welt lebt man auf einer Insel. Das ganze System ist darauf ausgelegt, dass der Anwender und der Entwickler ausschlie\u00dflich Apple-Komponenten verwenden. Das f\u00e4ngt schon bei Kleinigkeiten an, wie dem Anschlu\u00df einer herk\u00f6mmlichen PC Tastatur an einem Mac mini. Oder die Darstellung der Apple-Dokumentation in anderen Browsern au\u00dfer Safari. Oder der Verbindung zu Windows Shares im Finder. Lauter kleine \u00c4rgernisse, die man zwar irgendwann durch Googelei l\u00f6sbar sind, aber trotzdem nerven, weil es sich um bewu\u00dft ausgelegte Stolpersteine handelt. Wer will sich schon gern die Arbeitsweise vorschreiben lassen. Ganz extrem ist nat\u00fcrlich dann die Entwicklungsumgebung f\u00fcrs iPhone, ausschlie\u00dflich mit XCode auf einem Mac Betriebssystem. Das hat keine technischen Gr\u00fcnde. Besonders zynisch dabei ist aus meiner Sicht, da\u00df die darunterliegenden Komponenten aus der Unix-Welt stammen und wie der GCC beispielsweise der GPL unterliegen. Alles sicherlich rechtens, komisch riechen tut es trotzdem.<\/p>\n<p><strong>Entwicklung<\/strong><br \/>\nWie entwickelt man denn nun? XCode entpuppt sich als vollwertige und moderne Entwicklungsumgebung. In der Produktivit\u00e4t bleibt das Programm trotzdem meilenweit hinter Visual Studio zur\u00fcck, was an dem umst\u00e4ndlichen Debugger und am Fehlen von Funktionen wie \"Edit & Continue\" und der etwas z\u00e4hen Intellisense Unterst\u00fctzung liegt. Objective-C h\u00e4tte ich mir schlimmer vorgestellt, ich habe mich trotz meines etwas vorger\u00fcckten Alters  relativ schnell damit zurechtgefunden. Aber die Bibliotheksfunktionen! Immer wieder herrlich, wenn man selbst primitive Dinge wie das Zusammenf\u00fcgen von Strings in der Doku nachschlagen darf, nur weil man den Funktionsnamen wieder vergessen hat. Man merkt auch, da\u00df die Programmiersprache nur auf C \u00fcbergest\u00fclpt ist. Probleme wie die Korruption des Speichers oder Stacks, Zugriff auf de-allokierte Objekte und \u00e4hnliche Schweinereien die ich schon ziemlich verdr\u00e4ngt hatte sind wieder an der Tagesordnung. Mit den damit verbundenen Programmabst\u00fcrzen. Es ist problemlos m\u00f6glich, eine Maske im <em>Interface Builder<\/em> so zu konfigurieren, da\u00df das Programm an einer vollst\u00e4ndig irref\u00fchrenden Stelle einfriert. Nicht falsch verstehen. Das ist alles l\u00f6sbar, nur w\u00fcrde man seine Zeit gern f\u00fcr andere Dinge verwenden. Im Grunde wird man st\u00e4ndig daran erinnert, da\u00df man nicht wiederverwendbare F\u00e4higkeiten f\u00fcr eine Insell\u00f6sung aufbaut. So k\u00f6nnte man nat\u00fcrlich auch bei .NET, Java und \u00e4hnlichem argumentieren, nur sind die Inseln dort eher.. Kontinente.<\/p>\n<p><strong>Lernen<\/strong><br \/>\n<img decoding=\"async\" src=\"http:\/\/www.puls200.de\/data\/post\/Sep10\/iphone.jpg\" style=\"float:left; margin-right: 10px;\" \/>Wie ein guter Student habe ich mir zun\u00e4chst ein Buch bestellt. \"<em>iPhone SDK Application Development<\/em>\" von Jonathan Zdziarski. Ein ehemaliger iPhone Hacker, ich dachte, das ist ganz sinnvoll. Leider erf\u00fcllte es nicht ganz meine Erwartungen. Die API hat sich inzwischen etwas ver\u00e4ndert, so da\u00df viele Beispiele etwas veraltet sind. An vielen Stellen h\u00e4tte ich mir auch etwas mehr Tiefe gew\u00fcnscht, daf\u00fcr dann evtl. andere Bereiche wie Audio weggelassen. Auch der Index hilft nur begrenzt bei Problemen. Ein Buch im Sinne eines \"Cookbook\", wie es f\u00fcr viele anderen Sprachen gibt ist sicherlich sinnvoller f\u00fcr den Einsteiger. F\u00fcr Detailfragen mu\u00df man ohnehin auf Google zur\u00fcckgreifen. Ich frage mich inzwischen ernsthaft, ob B\u00fccher in dieser Form \u00fcberhaupt noch einen praktischen Nutzen haben, au\u00dfer auf der Biographie des Autors einen \u00e4u\u00dferst positiven Eindruck zu hinterlassen. (<img src='https:\/\/www.puls200.de\/wp-content\/plugins\/Sterne\/img\/icon-rating-star_f_blue.gif' alt='https:\/\/www.puls200.de\/wp-content\/plugins\/Sterne\/img\/icon-rating-star_f_blue.gif' style='padding:0px;background:none; border:none;'\/><img src='https:\/\/www.puls200.de\/wp-content\/plugins\/Sterne\/img\/icon-rating-star_f_blue.gif' alt='https:\/\/www.puls200.de\/wp-content\/plugins\/Sterne\/img\/icon-rating-star_f_blue.gif' style='padding:0px;background:none; border:none;'\/><img src='https:\/\/www.puls200.de\/wp-content\/plugins\/Sterne\/img\/icon-rating-star_f_blue.gif' alt='https:\/\/www.puls200.de\/wp-content\/plugins\/Sterne\/img\/icon-rating-star_f_blue.gif' style='padding:0px;background:none; border:none;'\/><img src='https:\/\/www.puls200.de\/wp-content\/plugins\/Sterne\/img\/icon-rating-star_n_blue.gif' alt='https:\/\/www.puls200.de\/wp-content\/plugins\/Sterne\/img\/icon-rating-star_n_blue.gif' style='padding:0px;background:none; border:none;'\/><img src='https:\/\/www.puls200.de\/wp-content\/plugins\/Sterne\/img\/icon-rating-star_n_blue.gif' alt='https:\/\/www.puls200.de\/wp-content\/plugins\/Sterne\/img\/icon-rating-star_n_blue.gif' style='padding:0px;background:none; border:none;'\/>).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In meinem &#8220;offiziellen&#8221; Job bin ich nun seit 8 Wochen (mit einigen Unterbrechungen) mit Softwareentwicklung f\u00fcr das iPhone besch\u00e4ftigt. An dieser Stelle m\u00f6chte ich kurz meine bisherigen Erfahrungen res\u00fcmieren. Vorausschickend noch anzumerken ist, da\u00df sich vieles wie Meckerei anh\u00f6rt. Das &hellip; <a href=\"https:\/\/www.puls200.de\/?p=915\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0},"categories":[6,4,23],"tags":[],"_links":{"self":[{"href":"https:\/\/www.puls200.de\/index.php?rest_route=\/wp\/v2\/posts\/915"}],"collection":[{"href":"https:\/\/www.puls200.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.puls200.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.puls200.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.puls200.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=915"}],"version-history":[{"count":8,"href":"https:\/\/www.puls200.de\/index.php?rest_route=\/wp\/v2\/posts\/915\/revisions"}],"predecessor-version":[{"id":932,"href":"https:\/\/www.puls200.de\/index.php?rest_route=\/wp\/v2\/posts\/915\/revisions\/932"}],"wp:attachment":[{"href":"https:\/\/www.puls200.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.puls200.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.puls200.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}