Einstieg in die iOS-Entwicklung

  • Einstieg in die iOS-Entwicklung

    Nachdem ich heute Nachmittag hier meinen ersten Beitrag erstellt und in Windeseile nützliche Hinweise erhalten habe, kommen schon wieder neue Fragen bei mir auf. Diese sind für mich besonders wichtig, da hiervon sehr grundlegende Entscheidungen für mich abhängen. Ich habe eine Idee für eine App, die ich gerne umsetzen würde. Da ich bisher noch über keine praktischen Erfahrungen in der App-Entwicklung verfüge, besteht die vorangige Frage jedoch darin, ob ich diese App entwickeln lasse, oder mir 3 bis 6 Monate Auszeit nehme, um mir entsprechende Skills selbst anzueignen. So hoffe ich an dieser Stelle ein wenig Entscheidungshilfe von eurer Seite zu bekommen.

    Zu meiner Person: Ich bin Mitte 30 und habe im letzten dreiviertel Jahr erste Erfahrungen als Projektmanager im IT-Bereich gesammelt. Zu betonen sei in diesem Zusamenhang jedoch, dass ich, abgesehen von rudimentären Basic-Erfahrungen (AG in der Schule) und grundlegendem HTML-Wissen, bisher noch keine Zeile Code in meinem Leben geschrieben habe. Euphemistisch ausgedrückt hielt sich während der Schulzeit meine Vorliebe für die Mathematik in Grenzen. Dennoch denke ich, dass ein gewisses Potential für logisches Denken vorhanden ist. Eine ausgeprägte IT-Affinität besteht in jedem Fall, inbesonders für die Apple-Welt. Die aktuellen Hardwarekomponenten von Apple sind auch vorhanden. So würde ich mich über einen Erfahrungsaustausch mit euch sehr freuen. Was waren eure Voraussetzungen bei eurem eigenen Einstieg in die Softwareentwicklung für die iOS-Welt?

    Sollte ich mich dafür entscheiden, den Schritt zu wagen und mir ggf. bis zu einem halben Jahr Zeit nehmen, um den den Autodidakten zu machen, bräuchte ich hierfür den einen oder anderen Tipp für eine möglichst pragmatische Herangehensweise. Immer wieder hört man, dass es der Sache durchaus dienlich sei, wenn man zumindest grundlegende Kenntnisse in der Programmiersprache C hat. Da ich jedoch gerne sehr zielorientiert an die Sache herangehen möchte, gefällt mir die Aussage, dass der direkte objektorientierte Einstieg mit Objektive-C durchaus Sinn macht, irgendwie besser. Gibt es hier stichlatige Argumente, die für meine präferierte Herangehensweise sprechen?

    Falls ja, wie gehe ich die Sache am besten an? Nach ein wenig Recherche bin ich u.a. auf den Videocast "Xcode von NULL auf Hundert" gestossen (x02100.de/). Hat jemand von euch Erfahrungen hiermit gesammelt, bzw. jemand sogar erfolgreich mit Hilfe des Videocast seine ersten Schritten in Sachen iOS-Entwicklung gemacht? Der Vorteil ist hierbei meiner Meinung nach, dass die ersten Schritte auf audiovisueller Ebene nachvollzogen und direkt umgesetzt werden können. Der Nachteil besteht wohl darin, dass zumindest die ersten Folgen bereits 2009 "abgedreht" worden sind. Hierbei handelt es sich also um ein etwas veraltetes SDK, das als Vorbild dient. Habe selbst schon festgestellt, dass es bei der aktuellen Xcode Entwicklerumgebung doch den einen oder anderen Unterschied gibt. Wer hat Erfahrungen mit dem Cast und der Anwendung des dargestellten Knowhow mit dem aktuellen SDK?

    Auch wenn ich mich vorerst auf den Videocast konzentrieren sollte, auf ergänzende Literatur werde ich dennoch nicht ganz verzichten können. Natürlich habe ich auch hier schon ein wenig gestöbert. Was hier jedoch wirklich für den blutigen Anfänger das wirklich geeignete Werk ist, erschließt sich mir jedoch noch nicht so ganz. Für sinnvolle Hinweise von eurer Seite wäre ich also überaus dankbar! Schön fände ich es natürlich auch, wenn sich irgendwie die Möglichkeit für einen direkten Face2Face-Austausch ergeben würde. Sei es mit Leuten, die sich derzeit in einer ähnlichen Situation befinden wie ich, oder natürlich auch äußerst gerne mit erfahrenen Entwicklern. Lebe derzeit in Berlin. Vielleicht gibts ja einen Hinweis zu Entwicklerstammtischen, o.ä.?

    Muss gestehen das waren jetzt wirklich ein Haufen Fragen auf einmal. Da mich dieses Thema jedoch schon eine ganze Weile beschäftigt und derzeit die Gelegenheit günstig ist, den entscheidenden Schritt zu wagen, käme mir ein wenig Hilfestellung durchaus gelegen. Habt Dank!
  • Habe natürlich mal bei Amazon einen Blick auf die ersten Seiten des Amin geworfen. Den Rezensionen nach scheint dieses Buch ja auch wirklich bestens für den Einstieg geeignet zu sein. Der Umstand jedoch, dass es derzeit wenig Lektüre zur aktuellen Xcode-Version gibt, spricht durchaus dafür mit dem Kauf entsprechender Literatur zu warten. Hoffentlich kommt zeitnah was! Dann stürze ich mich wohl erst mal in den Videocast. Danke für die Hinweise!
  • Ich würde nicht auf Bücher mit Xcode 4 warten, kaufe die 2 empfohlenen Bücher und starte los, denn Zeit ist Geld. Ich habe vor ca. 1 Jahr begonnen und kann nur sagen, jede Minute ist kostbar. Der Umstieg auf Xcode 4 ist sicher nicht so zeitintensiv wie das Erlernen von Objectiv C ! Die Doku von Apple hilft Dir auch noch !
  • Entweder du arbeitest erstmal die Videocast durch und holst dir dann entsprechende Literatur, oder du holst dir gleich die 2 Bücher und arbeitest parallel mit denen. Persönlich würde ich dir zur zweiten Möglichkeit raten. Warum? Weil ein Anfängerbuch z.B. da ist um schrittweise und recht langsam die Basics zu vermitteln. Nicht nur die Basics von Obj-C sondern auch eine grundlegende Konzepte und Strukturen, welche du einfach verinnerlichen musst. Diese sind sehr wichtig um saubere Programm später schreiben zu können. Deswegen ist es gut gleich am Anfang mit einem Buch zu arbeiten, weil da diese Konzepte meist ausführlicher erklärt werden. Es bringt einfach nichts erstmal die Videocasts durchzuarbeiten und dann ein Anfängerbuch lesen zu wollen, das wirst du eh nicht machen, weil es dann 30 Seiten lang nur über Grundbegriffe und Grundkonzepte geht gefolgt von einem ersten, einfachen Beispiel, welches dies alles verdeutlichen soll und das wird dich sicher langweilen. Man sieht es ja immer wieder hier im Forum: Leute die sich per Tutorials und Videocasts etc. einiges an Wissen angeeignet haben und dann irgendetwas größeres programmieren wollen, aber von grundlegenden Konzepten der Programmierung mit Obj-C und dem Cocoa-Framework einfach keine Ahnung haben.

    Was das Xcode 4 Problem angeht, darüber würde ich mir mal nicht den Kopf zerbrechen. Das kommt eh nicht in den nächsten 2 Monaten und du kannst ja immer noch das alte benutzen bist du aus einem gewissen Lernstadium raus bist. Die Menüs sind ein wenig anders, viele Sachen haben einen neuen Ort gefunden, aber weder an Obj-C noch an der Art und Weise wie unter Mac OS X programmiert wird, ändert sich viel. Ob du jetzt deine GUI im Interface Builder erstellst, oder in Xcode selbst spielt keine große Rolle. Wenn du ein wenig flexibel bist, wirst du dich sicher schnell umgewöhnen können, schließlich war deine Gewöhnungszeit an Xcode 3 ja recht kurz. Das Grundwissen ist weitestgehend unabhängig von der Xcode Version.

    Also mein Tipp: Hol dir zumindest das Anfängerbuch und leg damit los. =)
    Viel Spaß beim programmieren Lernen!
  • Noch mal zum Videocast:

    Hilfreich, (bei mir) war bis jetzt immer, dass man auch bei eigenen Projekten aber vor allem bei Projekten zum Videocast im Forum fragen konnte.
    Leider haben Peter und Ingo, die Macher des Cast's, weniger Zeit und konnten sich deshalb nicht mehr um das Forum kümmern, und so haben sich dort Spam-Bots eingenistet.
    Das Forum ist ungebrauchbar. Die User haben ein Ersatzforum gemacht. Dort laufen Leute auch mit teilweise Großen Wissen rum und es wird immer nett auf Antworten geantwortet, auch bei Anfängerfragen.
    Gruß

    Robin
  • Meine Einschätzung zu dem Thema:

    Wenn du von Programmierung überhaupt keine Ahnung hast, halte ich den zeitlichen Ansatz von 3 bis 6 Monaten für sportlich bis optimistisch.
    Du müsstest dich in der Zeit dann komplett reinknien und sehr gute Fortschritte machen, was ohne minimales Hintergrundwissen eine Herausforderung werden könnte.

    Zu der Frage 'Erst C oder gleich Objective-C' wirst du vermutlich genau so viele unterschiedliche Antworten bekommen, wie du Personen gefragt hast.
    Für den Einstieg kannst du sofort in Objective-C starten. Das bisschen Haushalt macht sich von allein und das bisschen C nimmst du so mit auf.

    Ich habe aber festgestellt, dass es viele Leute mit Problemen des Verständnisses bei weiterführenden Dingen gibt.
    Da ist es dann hilfreich, weiter in C zu stöbern. Auch hört der Hinweis auf die Unübersichtlichkeit der Klammerungen auf, wenn man erst einmal ein bisschen mit reinem Smalltalk gearbeitet hat.

    Ansonsten gilt: jeder lernt halt so am Besten, wie er am Besten lernt. ;)

    Bist du ein Mensch der Bücher, dann hol dir welche. Bist du ein Mensch für Screencasts, dann schau sie dir an. Bist du ein Mensch für Tutorials, dann nutze diese. Bist du ein Mensch für Beispiele, nutze die von Apple.

    Im Übrigen ist ein ganz großer (und leider gern gemachter, weil eigentlich total logischer und nachvollziehbarer) Fehler, mit der Planung einer absoluten Megasuperkilleranwendung im Hinterkopf Programmieren lernen zu wollen.
    Du wirst vermutlich automatisch versuchen, dir nur die Dinge anzusehen, die dir wichtig erscheinen. Schließlich willst du Erfolge sehen.
    Dabei ist es zwingend erforderlich, zunächst die Konzepte zu verstehen und an kleinen sinn- und gehaltlosen Projekten zu üben.

    Du wirst nicht verstehen, wofür so ein dämliches Array gut sein soll. Bis du es das erste Mal brauchst.
    Du wirst nicht verstehen, was die Übergabe eines Zeigers an eine Methode soll. Bis du es das erste Mal dringend brauchst.
    Dir werden vermutlich diese dämlichen Trennungen in funktionale Bestandteile (wie z.B. Model-View-Controller) ein Rätsel bleiben, bis du die Vorteile am eigenen Projekt zu spüren bekommst.

    Für den blutigen Anfänger gibt es eigentlich nur eins zu tun:
    Grundlagen lernen und damit kleine Programme schreiben. Wenn die Grundlagen zur Lösung des Problems nicht ausreichen, recherchieren/nachfragen und das erste Neue einbauen.
    Mit dem aktuellen Wissensstand weitere kleine Programme schreiben. Denn der aktuelle Wissensstand zur Lösung des Problems nicht ausreicht, recherchieren/nachfragen und neu Erlerntes einbauen.

    C-Quellcode

    1. Kenntnis grundlagen = ich sammle Wissen;
    2. solange(ich kann es == NEIN)
    3. {
    4. Projekt kleinkrams;
    5. solange(kleinkrams ist zu kompliziert == JA)
    6. {
    7. ich sammle Wissen;
    8. }
    9. kleinkrams fertigprogrammieren;
    10. wenn(ich habe folgenden Wissensstand == AUSREICHEND)
    11. {
    12. ich kann es = JA;
    13. }
    14. }
    Alles anzeigen

    Irgendwann fängst du an in Quelltexten zu denken. Dann hast du das Gröbste geschafft. :D

    Also wenn es nur für ein Projekt sein soll, dann gib das lieber ab. Sicherlich ist die externe Vergabe nicht sehr günstig, allerdings haben die Entwickler dort intensiv Zeit investiert.
    Man ruft ja auch eher den Fliesenleger als dass man sich fürs Bad renovieren noch ne Maurerausbildung gibt. ;)
    Vielleicht hast du auch Glück, dass irgendjemand komplexere Übungsprojekte sucht oder für die Uni irgendwas basteln soll, dann kommst du recht günstig bei weg.

    Wenn du allerdings ernsthaft und für länger die Entwicklung lernen willst, dann go for it.
    Job aufgeben ist meiner Meinung nach ne Scheißidee, aber wenn du ne bezahlte Auszeit nehmen kannst, dann nutze sie. :)
    Ansonsten diszipliniert dich, nach der Arbeit oder am Wochenende zwei Stunden dafür zu opfern. Jeden Tag. Mit Unregelmäßigkeiten kommst du vermutlich nicht weiter.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P