linkedin

Du willst also iPhone-Apps schreiben, was?

*ich schreibe iPhone-Apps

*Du willst also dafür bezahlt werden, dass du sie schreibst, was?

-Ja! Gib her, gib her!

Ein vertrautes Gespräch, eine universelle Trope, aber eine, die ein Rätsel darstellt. Nach der Grundausbildung, was kommt als nächstes?

Sagen wir, dass Sie:

  • Sie haben Objective-C gelernt
  • Sie haben geübt, ein paar Anwendungen zu erstellen
  • MVC verstehen
  • Sie können sich problemlos in der Xcode-Dokumentation zurechtfinden

Jetzt sind Sie auf dem Weg vom Entwickler in der Ausbildung zum Entwickler und möchten mit einer Digitalagentur zusammenarbeiten, um Anwendungen zu entwickeln, die von den Menschen genutzt werden. Ahhh… nun, das ist ein Kakao der anderen Sorte. Im Folgenden finden Sie meine Ratschläge, die Sie auf Ihrem Weg unterstützen sollen.

1. Webdienste

An diesem Punkt führt leider kein Weg vorbei. Er ist sogar so wichtig, dass er die Punkte 1 bis 3 auf dieser Liste ausmachen könnte, aber das wäre redundant, und Redundanz ist lästig (und redundant). Reine Kundenanwendungen sind gut und nützlich und können Geld einbringen. Aber sie sind nicht das A und O der App-Entwicklung. Apps, die mit einem Server kommunizieren, sind ein MUSS in Ihrem Portfolio. Idealerweise sollten Sie Beispiele für die Kommunikation mit einem PHP/MySQL-Server in JSON und/oder XML über RESTful-Webdienste haben. Ja, ich gebe zu, das ist entmutigend, aber es ist offensichtlich überwindbar, denn sonst wäre niemand in der Lage, es zu tun, oder?

WIE MAN ES LERNT:

Sehen Sie sich zuallererst dieses Tutorial an, das dank eines großartigen Autorenteams absolut sinnvoll ist. SPAREN SIE NICHT AM PHP-TEIL. Selbst wenn Sie nie Ihre eigenen Webdienste auf dem Server schreiben, werden Sie für immer dankbar sein, dass Sie es können.

Sie sollten auch diesen Artikel lesen, der sich speziell mit der Verwendung von ASIHTTPRequest befasst, d.h. der Freund des Anfängers beim Erlernen der Netzwerk-Frameworks von Drittanbietern.

-Warum muss ich 3rd-Party-Networking lernen? Sollte ich nicht die Apple-Frameworks lernen?

Ich werde hier einen Standpunkt einnehmen, mit dem einige nicht einverstanden sein werden: Nein. Jedenfalls nicht am Anfang. NSURLRequest und NSURLConnection sind nicht benutzerfreundlich. Wären sie das, hätten die Leute nicht ein halbes Dutzend Alternativen zu ihrer API entwickelt. In diesem Stadium des Spiels ist es wichtiger, dass man lernt, wie man hin und her kommuniziert, als zu verstehen, wie es auf sprachlicher Ebene funktioniert, und ASIHTTPRequest ist dafür hervorragend geeignet.

(***HINWEIS: Wenn Sie ASIHTTPRequest und seine Dateien in eine Anwendung laden, die ARC verwendet, stellen Sie sicher, dass Sie ARC für diese Dateien abschalten:

a) Gehen Sie zu Targets -> Build Phases -> Compile Sources

b) Hervorheben aller .m-Dateien, die mit ASI beginnen (sowie aller anderen aus ASIHTTPRequest wie Reachability.m)

c) Drücken der Eingabetaste

d) Eingabe von -fno-objc-arc

**e) Vergewissern Sie sich, dass die richtige Seite für jeden einzelnen ausgefüllt wurde

Weitere Informationen zur Deaktivierung von ARC finden Sie in diesem hilfreichen Artikel.

Üben Sie POSTing und GETing von Strings und Zahlen sowie das Hochladen und Herunterladen von Dateien.

Üben Sie das Kodieren und Parsen von JSON und XML.

Üben Sie das Einrichten eines Cloud-Servers, der Ihre Dienste verarbeitet.

Das wird die Art und Weise, wie Sie über die Architektur Ihrer Anwendungen denken, verändern.

JEDOCH ist die Arbeit mit ASIHTTPRequest allein nicht genug Wissen. Sie müssen andere Netzwerk-Frameworks von Drittanbietern kennen lernen. Der offensichtliche nächste Schritt ist AFNetworking.

WIE SIE LERNEN: Lesen Sie meinen früheren Blog-Beitrag mit dem Titel “iOS-Programmierung - Umstellung von ASIHTTPRequest auf AFNetworking”, in dem klar und einfach erklärt wird, wie man vom einen zum anderen wechselt.

Wenn Sie erst einmal den Dreh raus haben, haben Sie auch Blöcke und etwas Threading geübt. Jetzt können Sie ein anderes Kit wie das MKNetworking Kit oder RESTKit lernen. Beide sind im Moment sehr angesagt und haben unterschiedliche Funktionsschwerpunkte. RESTKit ist besonders auf die Integration mit CoreData ausgerichtet, was uns zum nächsten Punkt auf unserer Liste bringt.

2. CoreData

Es gibt 4 gängige Methoden, um Daten auf dem iPhone zu erhalten:

a) NSUserDefaults

b) Datei-E/A

c) Archivierung

d) Kerndaten

Nach Meinung dieses Autors können Sie a, b und c wahrscheinlich ignorieren, zumindest am Anfang. Oft werden sie als der Weg gelehrt, Persistenz zu lernen, aber ich sehe nicht ein, warum, da sie im Vergleich zu CoreData ziemlich veraltet sind. Ich weiß, dass CoreData eine Lernkurve hat, aber wenn Sie bereit sind, zu persistieren, sind Sie bereit für CoreData.

CoreData ist Apples Methode zum Speichern und Organisieren von Daten, die zwischen den Sitzungen bestehen bleiben. Und seit der Einführung von iOS 5 ist die Nutzung dank einer neuen Art von Datei namens UIManagedDocument noch einfacher geworden. Diese Datei ist voll von Funktionen und einem komplizierten Backend, aber Sie müssen nicht alles verstehen. Sie können sich alles nach und nach aneignen.

HOW TO LEARN: HOW TO LEARN IOS 11 AND SWIFT FOR A CAREER AS A IPHONE DEVELOPER. Dieser Mann, Paul Hegarty, ist im Grunde der Meister der iOS-Entwicklungsausbildung. Hören Sie auf jedes Wort, das er sagt, und machen Sie Ihren Code wie seinen.

3. Arbeiten Sie mit einem Designer

Sie müssen unbedingt mit einem Designer zusammenarbeiten. Echte Entwicklung ist eine Zusammenarbeit zwischen der Idee, dem Code und dem Design, und wenn Sie kein Beispiel für die Implementierung des Frontends eines anderen Entwicklers haben, können Sie nicht einschätzen, wie Sie bei dieser Aufgabe vorgehen würden. Normalerweise erstellt ein Designer Comps von jedem Bildschirm der Anwendung und übergibt sie den Entwicklern als .ai oder .psd Dateien (beachten Sie die Verwendung von Adobe Software, die nicht billig ist, aber auch für Entwickler notwendig ist). Dann geht der Entwickler in diese Dateien und holt sich die Teile heraus, die er braucht. Es ist viel einfacher, Ränder, Schaltflächen und Hintergründe selbst auszuschneiden und zu trimmen, während man die Ebenen durchgeht, als wenn man .png-Dateien mit einzelnen Elementen erhält.

(***ANMERKUNG FÜR DESIGNER: Legen Sie keine Dinge in versteckten Ebenen in den .psd-Dateien ab. Der Entwickler wird sie wahrscheinlich übersehen. Wenn Sie eine Fehlermeldung oder eine 2. Version der Ansicht anzeigen lassen wollen, legen Sie sie in ihre eigenen .psd-Dateien. Es ist zu Ihrem eigenen Besten)

WIE MAN LERNEN KANN: Suchen Sie sich einen Designer und arbeiten Sie mit ihm zusammen.

-Aber so einfach ist das nicht

Ja, es ist wirklich so einfach. Es gibt Leute, die genauso viel Übung im Entwerfen haben wollen, wie du im Entwickeln. Gehen Sie auf Facebook, LinkedIn, Craigslist und Tumblr und haben Sie etwas Mut und posten Sie etwas auf StackOverflow oder wo immer Sie Leute finden können! Sie werden vielleicht überrascht sein. Und wenn Sie sie gefunden haben, REPLIZIEREN Sie ihre VISION GENAU. Es ist nicht Ihre Aufgabe, etwas neu zu machen, neu zu erfinden und neu zu interpretieren, aber es ist Ihre Aufgabe, das Design genau so aussehen zu lassen, wie es auf dem Computer ist. Wenn Sie das können, werden Sie von den Designern geliebt werden. Warum ist das so wichtig? Weil Designer das Gesicht von Anwendungen gestalten. Es geht darum, was gesehen wird, und heutzutage ist der App-Markt sehr gesättigt. Es gibt nur sehr wenige Apps, die etwas tun, was nicht auch eine andere App tut, und die Art und Weise, wie der Benutzer sie auswählt, ist ausschließlich Design, d. h. was am besten aussieht und sich am intuitivsten anfühlt. Das bedeutet, dass wir uns mehr anstrengen müssen, um Animationen, benutzerdefinierte Tabellenansichten, ausgefallene Schaltflächen und exotische Gesten zu implementieren (solange das alles intuitiv ist).

Werden Sie ein Design-Fan. Sie müssen kein Talent für Design haben, sondern nur eine Hingabe für die Vision. Alle iOS-Entwickler müssen sich auch mit dem Front-End beschäftigen; die Entwicklung ist nicht nach Front- und Back-End getrennt, wie es bei einigen anderen Technologien der Fall ist. Wer sich für gutes Design einsetzt, zeigt, wie ernst es ihm mit dem Benutzererlebnis ist, das ALLES ausmacht.

4. Beste Praktiken anwenden

Man muss sehen, dass Sie gutes MVC und OOP verwenden. Richtig. Aber das ist noch nicht alles.

** a) Verwenden Sie keine Instanzvariablen. Verwende @propertys**

b) @synthetisiere deine @propertys mit einer unterstrichenen Variablen. z.B.:

@synthesize fantastiButton = _fantastiButton;

ABER greife NIEMALS DIREKT auf _variable zu.

**c) Verwenden Sie private API in Ihren Klassen

e) Hören Sie auf, Dinge mit öffnenden Tags zu benennen. z.B.:

arg_interessantInt <- BAD

t_interessantString <- BAD

INSTEAD:

f) NameThingsWithProperLongEasyToReadNames.

g) Erstellen Sie Ihre eigenen NSNotifications und @protocols

h) ^{ useBlocks; }];

i) #define useMacros 1

j) Verwenden Sie “Lazy Instantiation”. (Das lernt man auch am besten im Stanford-Kurs in der ersten Folge vom Herbst 2011)

k) Verwenden Sie Storyboards und ARC. Sie sind neu, und sie sind erstaunlich.

l) // Kommentieren Sie nicht zu viel. Ihr Code sollte von sich aus klar sein.

und schließlich:

m) self.remembers.to.use.dot.notation

5. Eine iPad App erstellen

das iPad hat mehr Charme als das iPhone. Es ist weit verbreitet und benötigt keinen Mobiltelefondienst. Es ist dabei, der Computer unserer Zeit zu werden. Sie werden aufgefordert werden, dafür zu entwickeln.

-Was ist der Unterschied?

Für Sie ist es vielleicht kein großer Unterschied (derselbe alte Kakao), aber für jemanden, der kein iOS-Entwickler ist, schon. Oft haben Sie ein Vorstellungsgespräch mit jemandem, der kein Entwickler ist, geschweige denn ein iOS-Entwickler, und der Bewerber, der bereits eine funktionierende iPad-App auf dem Kasten hat, sieht viel stärker aus als einer, der das nicht hat.

6. Sizzle-Frameworks

-Huh?

Es ist wichtig, sich Gedanken darüber zu machen, wie man seine gute Arbeit präsentiert. Verkaufskunst ist Showmanship, und manche Dinge sind aufregender als andere.

**a) Arbeiten Sie mit Video

b) Arbeiten mit Foto.

c) Führen Sie diese Aufgaben mit AVFoundation aus (die Sie im Stanford-Kurs in der Bonus-Demo “Einführung in AVFoundation” mit Salik Syed erlernen können).

**d) Kennen Sie einige Core Animation

**e) Füge mindestens ein cooles benutzerdefiniertes Element oder ein UI-Element eines Drittanbieters in eine deiner Demo-Anwendungen ein!

7. ÜBEN, ÜBEN, ÜBEN!

Worauf warten Sie noch? Diese Dinge lernt man nicht durch Osmose; sie erfordern Übung und Geduld, und in einer Digitalagentur muss man schnell sein. Das kann man nicht durch flüchtige Erfahrung erreichen.

8. Apps im AppStore haben

Daran wird man Sie messen. Selbst wenn es nicht die aufregendste App der Welt ist, macht das nichts, denn es zeigt, dass Sie etwas erreichen können. Eine App in den AppStore zu stellen, ist eines der besten Dinge, die Sie für sich selbst tun können.

9. Freundlich sein

Vergessen Sie nicht, dass die Menschen am Ende des Tages gerne mit sympathischen Menschen zusammenarbeiten :) Auch wenn Sie ein iOS-Superstar sind, ist es wichtig, dass Sie sich als jemand präsentieren, mit dem man gerne zusammenarbeitet.

TAGS
Brauchen Sie weitere Hilfe?

Denken Sie, dass es an der Zeit wäre, zusätzliche Hilfe in Anspruch zu nehmen?

Door3.com