Nachdem Sie sich bei Xcode angemeldet haben, laden Sie die neueste Version von Xcode herunter. Es handelt sich um eine große Datei (etwa 4 GB), sodass Sie je nach Internetgeschwindigkeit vielleicht eine Tasse Tee trinken möchten, während der Download läuft. Nach dem Herunterladen klicken Sie einfach auf die Datei, um den Installationsprozess zu starten. Dies dauert in der Regel einige Minuten, und wenn es abgeschlossen ist, sollten Sie den Startbildschirm sehen (falls nicht, öffnen Sie die Xcode-Anwendung und klicken Sie im Menü oben links auf „Datei“ → „Neu“ → „Projekt“).

Der Setup-Prozess für die App

Nun werden Sie mit vier Bildschirmen konfrontiert, die Ihnen ermöglichen, verschiedene Optionen für Ihre App auszuwählen. Im ersten Bildschirm können Sie aus mehreren Vorlagen für Ihre App wählen. Achten Sie darauf, dass unter „Wählen Sie eine Vorlage für Ihr neues Projekt“ „iOS“ ausgewählt ist und wählen Sie dann die Option „Single View Application“. Diese Vorlage erstellt eine App mit einer einzelnen leeren Seite (in der App-Entwicklung als „View“ bekannt), die Sie bearbeiten können.

Es gibt auch andere Vorlagen, wie z.B. „Game“ oder „Master-Detail Application“. Sie können diese ausprobieren und ausführen, um zu sehen, was sie tun, aber wir bleiben hier bei der „Single View Application“. Klicken Sie auf „Weiter“, und Sie gelangen zum Optionsbildschirm. Geben Sie im Feld „Produktname“ einen beliebigen Namen ein, z.B. „Demo-App“. Unter „Organisationsname“ können Sie entweder Ihren Firmennamen oder Ihren eigenen Namen eingeben. Die „Organisationskennung“ ist wie ein umgekehrter Domainname – wählen Sie etwas wie „com. IhrName“. Der Name und die Kennung werden nur verwendet, wenn Sie Ihre App im App Store einreichen, sodass Sie hier wirklich alles wählen können, was Sie möchten. Alle anderen Einstellungen können auf den Standardwerten bleiben. Wir verwenden die Programmiersprache Swift und entwickeln für das iPhone. Klicken Sie auf „Weiter“, und Sie werden gefragt, wo Sie Ihr Projekt speichern möchten. Wählen Sie einen geeigneten Speicherort, wie beispielsweise den Ordner „Dokumente“, und klicken Sie auf „Erstellen“. Nach wenigen Momenten sehen Sie die Xcode-Oberfläche, und Ihre App ist erstellt – Glückwunsch!

Die Xcode-Oberfläche

Dies ist der grundlegende Xcode-Bildschirm, und es lohnt sich, ein paar Momente zu investieren, um sich damit vertraut zu machen. Unter dem üblichen Menü „Datei“, „Bearbeiten“ usw. haben wir die obere Leiste, in der sich der „Play“-Button links oben befindet, mit dem Sie Ihre App ausführen können. Probieren Sie es aus. Nach etwa 30 Sekunden sollten Sie einen kleinen leeren Bildschirm sehen. Nicht die aufregendste App der Welt – es ist nur ein leerer Bildschirm – aber es ist ein Anfang. Dies ist der Simulator, mit dem Sie Ihre App ausprobieren können, ohne ein echtes iPhone zu benötigen. Sie können ihn tatsächlich wie ein iPhone verwenden – probieren Sie es aus, indem Sie auf „Hardware“ → „Home“ klicken, und Sie sehen den bekannten iPhone-Startbildschirm. Interagieren Sie damit, als ob es ein echtes iPhone wäre.

Rechts oben in der oberen Leiste befinden sich mehrere Schaltflächen, mit denen Sie die Oberfläche anpassen können: Die miteinander verbundenen Kreise zeigen den „Assistant Editor“ an, der uns zwei Bearbeitungsfenster zur Verfügung stellt – dies wird später sehr nützlich sein. Die drei blauen Rechtecke auf der rechten Seite erlauben es uns, die linken, unteren und rechten Bereiche ein- oder auszublenden. Probieren Sie sie aus! Der doppelte Pfeil zeigt den „Version Editor“ an, den wir hier nicht verwenden werden.

Im Hauptbereich des Bildschirms: Der linke Bereich zeigt eine Liste der Dateien, die unsere App ausmachen. Wir werden diese gleich im Detail betrachten. Das zentrale Fenster ist der Bereich, in dem wir den größten Teil unserer Arbeit erledigen werden. Im Moment zeigt es einige Einstellungen für unsere App an, aber wir werden es auch zum Bearbeiten von Dateien und zum Hinzufügen von Schaltflächen und Labels verwenden. Der rechte Bereich ist kontextabhängig: Er zeigt je nach Auswahl unterschiedliche Informationen an. Im Moment haben wir nichts ausgewählt, daher wird nichts angezeigt, aber wir werden diesen Bereich oft nutzen, während wir die Benutzeroberfläche erstellen. Schließlich, wenn Sie die App im Simulator ausgeführt haben, sehen Sie unten im Bildschirm die Konsole, die Informationen über Ihre App anzeigen kann. Hier werden Fehlermeldungen und Debugging-Informationen angezeigt – das kann sehr nützlich sein.

Jetzt sind Sie mit der Xcode-Oberfläche vertraut und können beginnen, Ihre App zu erstellen.

Hinzufügen von Labels zu unserer App

Xcode verfügt über ein einfaches Drag-and-Drop-System, um Benutzeroberflächenelemente in unsere Apps einzufügen. Beginnen wir damit, etwas Text hinzuzufügen, und zwar in Form von Labels. Wählen Sie im linken Bereich „Main.storyboard“ aus. Möglicherweise müssen Sie mit Pinch-to-Zoom oder den -/+ Schaltflächen arbeiten, um das gesamte Rechteck auf der rechten Seite sichtbar zu machen. Das „View Controller“-Rechteck repräsentiert den Bildschirm unserer iPhone-App und ist derzeit leer. Klicken Sie darauf, und der Bildschirm wird auf mehr Einstellungen und Steueroptionen umschalten. Unten rechts sehen Sie nun die „Object Library“, die eine Liste von Objekten enthält, die Sie in Ihre App ziehen können. Geben Sie im „Filter“-Feld „Label“ ein und ziehen Sie das Label in den iPhone-Bildschirm im zentralen Bereich. Während Sie es ziehen, sehen Sie blaue gestrichelte Linien erscheinen, die Ihnen helfen, das Label zu positionieren. Versuchen Sie, es in der Mitte des Bildschirms zu platzieren, wie im Screenshot.

Nun, da Sie das Label hinzugefügt haben, lassen Sie uns die App ausführen (mit dem „Play“-Button links oben oder cmd-R) und sehen, wie es aussieht. Sie sollten etwa Folgendes sehen:

Ihr erstes nicht-leeres iPhone-App, Glückwunsch! (Beachten Sie, dass das Label trotz der Verwendung der blauen gestrichelten Linien nicht zentriert ist. Dies liegt daran, dass der iPhone-Simulator anders ist als der iPhone-Bildschirm im zentralen Bereich. In meinem Fall läuft der Simulator auf einem iPhone SE, während der zentrale Bereich ein iPhone 6S zeigt, das größer ist.)

Anpassen des Labels

Nachdem Sie Ihr Label hinzugefügt haben, stellen Sie sicher, dass es ausgewählt ist, und schauen Sie sich dann den kontextabhängigen rechten Bereich an. Dieser enthält eine Liste von Dropdown-Menüs, darunter Text, Farbe und Schriftart. Die meisten Optionen sind ziemlich selbsterklärend, also probieren Sie sie aus, um zu sehen, was sie bewirken.

Übungsaufgaben: Versuchen Sie, Ihr Label so anzupassen, dass es „Hello World“ in Pink mit einem grünen Schatten anzeigt.

Hinzufügen eines Textfelds

Schaltflächen sind gut für die Anzeige von Text für den Benutzer, aber sie sind nicht sehr interaktiv. Um Informationen von unseren Nutzern zu erhalten, benötigen wir ein Element wie ein Textfeld. Fügen Sie eines auf die gleiche Weise hinzu, wie Sie das Label hinzugefügt haben. Dadurch wird ein graues Textfeld mit den Standard-iOS-Stilvorlagen erstellt. Führen Sie die App aus und klicken Sie in das Textfeld, um Text einzugeben.

Auch das Textfeld lässt sich anpassen, indem Sie es vergrößern und die kontextabhängigen Optionen im rechten Bereich verwenden.

Hinzufügen von Schaltflächen

Das letzte Benutzeroberflächenelement, das wir hinzufügen werden, ist eine Schaltfläche. Jetzt sollten Sie bereits wissen, wie das geht!

Übungsaufgabe: Fügen Sie eine Schaltfläche hinzu, ändern Sie den Text auf „Sign In“ und positionieren Sie sie unter dem Passwort-Textfeld.

Ausführen von Code

Nun, da wir alle grundlegenden Benutzeroberflächenelemente hinzugefügt haben, schreiben wir etwas Swift-Code, der ausgeführt wird, wenn die App gestartet wird. Klicken Sie dazu auf die Datei „ViewController.swift“ im linken Bereich. Sie sehen nun eine Seite, die den Standardcode für die „ViewController.swift“-Datei enthält. Die Zeilen, die mit „//“ beginnen, sind Kommentare – diese sind Hinweise für Programmierer und kein Bestandteil des App-Codes. Sie sind sehr nützlich, um nachzuvollziehen, was bestimmte Teile des Codes tun (und um Nachrichten und Erinnerungen für sich selbst zu hinterlassen, während man die App entwickelt).

Wie interagiert Code mit der Benutzeroberfläche in Swift?

Die Verwendung von Swift zur Entwicklung von iOS-Anwendungen ermöglicht es uns, direkt mit der Benutzeroberfläche (UI) zu interagieren, was den Kern jeder mobilen App bildet. Die grundlegende Struktur einer iOS-App beginnt mit dem Importieren von UIKit. Dieses Framework stellt uns eine Vielzahl von Tools und Komponenten zur Verfügung, die es uns ermöglichen, mit der Benutzeroberfläche zu arbeiten, sie zu gestalten und auf Benutzeraktionen zu reagieren.

Im ersten Schritt definieren wir die ViewController-Klasse, die als Steuerzentrale für die App dient. Diese Klasse übernimmt die Kontrolle über den Bildschirm und ermöglicht es uns, Anpassungen vorzunehmen. Die Methode viewDidLoad() wird aufgerufen, wenn die App gestartet wird und der Bildschirm geladen ist. Hier können wir Code einfügen, der beim Laden der App ausgeführt werden soll. Der Befehl super.viewDidLoad() sorgt dafür, dass alle Standardprozesse zur Einrichtung der Benutzeroberfläche ausgeführt werden, während die Methode didReceiveMemoryWarning() in der Regel bei Speichermangel aufgerufen wird – allerdings ist sie für einfache Apps meist nicht relevant.

Die Funktion print() ermöglicht uns, Ausgaben in der Konsole von Xcode zu sehen. Diese Ausgabe hilft dabei, den Status unserer App zu überwachen, indem sie anzeigt, was der Code gerade tut. Allerdings wollen wir in einer tatsächlichen Anwendung nicht nur Konsolenausgaben anzeigen, sondern mit der Benutzeroberfläche interagieren. Das erfordert eine engere Zusammenarbeit mit den UI-Elementen.

Um die Benutzeroberfläche mit Code zu ändern, müssen wir sogenannte Outlets erstellen. Ein Outlet ist eine Art Variable, die auf ein UI-Element verweist – zum Beispiel auf ein Label oder einen Button. Um ein Outlet zu erstellen, nutzen wir den Assistant Editor in Xcode. Nachdem wir das Label oder den Button im Storyboard ausgewählt haben, halten wir die Ctrl-Taste und ziehen die Maus in den ViewController.swift-Code. Dies öffnet ein Fenster, in dem wir das Outlet benennen und es mit der UI verbinden können. Beispielsweise kann der Name des Outlets label sein. Diese Verbindung erlaubt es uns, auf das Label im Code zuzugreifen und es zu ändern, etwa indem wir den Text des Labels auf „Hello Rob“ setzen.

Neben Outlets gibt es auch Aktionen, die es uns ermöglichen, auf Benutzerinteraktionen wie das Tippen auf einen Button zu reagieren. Um eine Aktion zu erstellen, ziehen wir den Button wie bei einem Outlet in den Code und wählen dabei „Action“ aus. In diesem Fall benennen wir die Methode beispielsweise buttonClicked. Sobald der Button gedrückt wird, wird der Code in dieser Methode ausgeführt, und wir können darauf reagieren, etwa durch das Ausgeben von Text in der Konsole.

Interaktive Buttons sind ein wichtiges Element in jeder App, da sie es den Nutzern ermöglichen, mit der App zu kommunizieren und bestimmte Aktionen auszulösen. Zum Beispiel könnte ein Button, der mit der Methode buttonClicked verbunden ist, eine Nachricht wie „sign in“ in der Konsole ausgeben, sobald der Benutzer darauf tippt.

In einem erweiterten Beispiel fügen wir der App ein weiteres UI-Element hinzu: ein Textfeld. Dieses Textfeld könnte eine Eingabeaufforderung wie „What is your name?“ enthalten. Sobald der Benutzer seinen Namen eingibt und auf den Button klickt, wird der Text des Labels so geändert, dass er den Namen des Nutzers enthält. Dazu greifen wir auf den Text des Textfelds zu und verbinden ihn mit der Methode, die das Label aktualisiert. Dies erfordert die Verwendung von Optionals, einem Konzept in Swift, bei dem Variablen möglicherweise keinen Wert enthalten. Wenn wir auf ein optionales Element zugreifen möchten, müssen wir dies mit einem Ausrufezeichen tun, um anzugeben, dass wir sicher sind, dass der Wert vorhanden ist.

Ein weiterer wichtiger Aspekt beim Arbeiten mit Swift ist das Verständnis von Variablentypen. Swift ist eine stark typisierte Sprache, was bedeutet, dass jede Variable einen bestimmten Typ hat, und wir müssen sicherstellen, dass wir diesen Typ korrekt verwenden. Ein Fehler tritt auf, wenn wir beispielsweise versuchen, einen String mit einer Zahl zu multiplizieren, da diese beiden Typen nicht kompatibel sind. In solchen Fällen können wir den Typ mit der Funktion Int() in einen Integer umwandeln, um den Fehler zu beheben.

Es ist entscheidend zu verstehen, dass Swift-Variablen bestimmte Anforderungen an den Typ haben. Während wir in anderen Programmiersprachen wie JavaScript oder Python weniger streng mit der Typisierung umgehen können, erfordert Swift eine präzise Handhabung von Variablentypen, um fehlerfreie Apps zu erstellen.

Wenn man eine App entwickelt, ist es oft notwendig, mit verschiedenen Variablentypen zu arbeiten, wie etwa Zeichenketten (Strings), Ganzzahlen (Integers) und Booleschen Werten (True/False). Diese Typen werden in Swift auf sehr präzise Weise behandelt, was sicherstellt, dass der Code sowohl effizient als auch sicher ausgeführt wird. Ein falscher Typ in einer Berechnung oder Funktion könnte dazu führen, dass die App abstürzt oder unvorhergesehene Ergebnisse liefert.

Zusätzlich sollte man sich bewusst sein, dass Swift eine Reihe von fortgeschrittenen Konzepten wie Optionals und Fehlerbehandlung enthält, die zwar zu Beginn kompliziert erscheinen können, aber letztlich eine höhere Sicherheit und Flexibilität bei der Entwicklung von Apps bieten. Optionals stellen sicher, dass keine Werte unbeabsichtigt aufgerufen werden, was besonders in großen und komplexen Projekten wichtig ist.

Das Erlernen und Verstehen dieser Konzepte ist entscheidend für die erfolgreiche Entwicklung von iOS-Apps. Um tiefer in die Materie einzutauchen, sollte man sich mit den vielen weiteren Möglichkeiten von Swift und UIKit beschäftigen, um nicht nur einfache Apps zu entwickeln, sondern auch robuste, benutzerfreundliche und reaktionsschnelle Anwendungen.

Wie man erfolgreich als freiberuflicher Webentwickler startet und eine starke Online-Präsenz aufbaut

Der Einstieg in die Welt der freiberuflichen Webentwicklung kann herausfordernd sein, besonders wenn man keine positiven Bewertungen vorzuweisen hat. Die wichtigste Aufgabe zu Beginn ist es, eine Grundlage für den eigenen Ruf zu schaffen und sich die ersten positiven Rückmeldungen zu verdienen. Es geht nicht nur darum, Geld zu verdienen – das ist eher ein Nebenziel. Der Hauptfokus liegt auf dem Lernen und dem Aufbau eines beeindruckenden Portfolios. Dies wird langfristig der Schlüssel zum Erfolg sein.

Wählen Sie zunächst eine Freelance-Plattform, auf der Sie tätig werden möchten, und bleiben Sie vorerst bei dieser. Der Beginn kann schwierig sein, weil Sie noch keine positiven Bewertungen haben, aber sobald Sie einige fünf Sterne erhalten haben, wird es deutlich einfacher, neue Aufträge zu bekommen. Plattformen wie Freelancer.com, Upwork, PeoplePerHour oder Guru bieten unterschiedliche Vor- und Nachteile, aber im Kern funktionieren alle ähnlich. Nehmen Sie sich nicht zu viel Zeit, um die ideale Plattform auszuwählen – schauen Sie sich ein paar an, entscheiden Sie sich schnell und melden Sie sich an. Achten Sie darauf, dass Sie auf der Plattform Zahlungen empfangen können und dass Sie mit den Zahlungsbedingungen zufrieden sind.

Sobald Sie sich für eine Plattform entschieden haben, ist der nächste Schritt das Erstellen Ihres Profils. Hierbei sollten Sie einige grundlegende Prinzipien beachten: Seien Sie ehrlich und verwenden Sie Ihren echten Namen. Vermeiden Sie es, Fähigkeiten anzugeben, die Sie noch nicht beherrschen – zu Beginn reicht es aus, sich als „versiert in HTML, CSS und JavaScript“ zu beschreiben. Ein verlinktes Twitter-Profil kann ebenfalls dazu beitragen, Vertrauen bei potenziellen Auftraggebern zu schaffen. Wenn Sie noch kein Twitter-Konto haben, richten Sie eines ein. Über die Zeit kann es zu einer weiteren Quelle für Aufträge werden, da eine wachsende Community und Anhängerschaft auch die Aufmerksamkeit von Auftraggebern auf sich ziehen kann.

Viele Freelance-Plattformen bieten „Examen“ an, bei denen Sie Ihre Fähigkeiten in verschiedenen Programmiersprachen oder in Englisch testen können. Diese kosten meist etwa 50 Dollar, aber die Investition lohnt sich, um Ihnen beim Start zu helfen. Die Prüfungen bieten eine gute Möglichkeit, Ihre Fachkompetenz nachzuweisen, besonders wenn Sie noch keine Bewertungen haben.

In der Anfangsphase sollten Sie sich auf kleinere Projekte konzentrieren, die Sie schnell abschließen können – Aufträge bis etwa 50 Dollar, wie zum Beispiel das Aktualisieren von Websites oder das Beheben von Layout-Problemen. Halten Sie Ihre Gebote niedrig, um schneller Aufträge zu bekommen und sich einen guten Ruf zu erarbeiten. Es ist nicht schlimm, anfangs mit einem niedrigen Preis zu arbeiten – es geht darum, Ihre Fähigkeiten zu beweisen und positive Bewertungen zu sammeln. Kommunizieren Sie klar und erklären Sie, warum Ihr Gebot niedrig ist – Sie können darauf hinweisen, dass Sie Ihre ersten Bewertungen auf dieser Plattform sammeln möchten.

Vermeiden Sie es, zu große oder komplexe Aufträge anzunehmen, solange Sie noch in der Lernphase sind. Es ist besser, sich an Projekte zu halten, die Ihrem derzeitigen Wissensstand entsprechen oder nur leicht darüber hinausgehen. Wenn Sie sich unsicher sind, ob Sie ein Projekt bewältigen können, ist es besser, es abzulehnen. Ein schlechtes Projekt kann nicht nur Ihre Bewertungen gefährden, sondern auch Ihren Ruf langfristig schädigen. Stellen Sie sicher, dass die Anforderungen des Projekts klar und eindeutig sind. Missverständnisse oder vage Formulierungen wie „Bau mir eine Website“ können zu Problemen führen. Vereinbaren Sie unbedingt im Voraus, wie und wann Zahlungen erfolgen sollen. Eine gängige Praxis ist es, ein „Meilenstein“-System zu verwenden, bei dem eine Vorauszahlung vom Auftraggeber hinterlegt wird, die erst nach der Fertigstellung des Projekts freigegeben wird. Dies schützt sowohl den Freelancer als auch den Auftraggeber.

Seien Sie vorsichtig bei Auftraggebern ohne Bewertungen. Während diese durchaus seriös sein können, gibt es auch Betrüger. Es ist besonders wichtig, bei solchen Aufträgen sicherzustellen, dass alle Anforderungen im Vorfeld klar definiert sind und dass eine erste Zahlung erfolgt, bevor Sie mit der Arbeit beginnen.

Sobald Sie Ihre ersten Aufträge abgeschlossen haben und Ihre Bewertungen steigen, sollten Sie den nächsten Schritt gehen und eine eigene Portfolio-Website erstellen. Als Entwickler ist diese oft wichtiger als ein Lebenslauf. Ihre Website sollte Ihre Fähigkeiten und besten Arbeiten zeigen und potenzielle Auftraggeber oder Arbeitgeber begeistern. Achten Sie darauf, dass sie Ihren Stil und Ihre Persönlichkeit widerspiegelt. Wenn Sie sie selbst erstellen, können Sie Ihre Fähigkeiten in der Webentwicklung weiter demonstrieren. Wenn Sie es einfacher mögen, können Sie auch auf fertige WordPress-Themes zurückgreifen, um schnell eine ansprechende Seite zu gestalten. Investieren Sie ruhig in ein gutes Theme, da dies die professionelle Ausstrahlung Ihrer Seite verstärken kann.

Ein wichtiges Element in Ihrem Portfolio sind sogenannte „Projektgeschichten“. Hier können Sie die Bedürfnisse eines Kunden, die Lösungen, die Sie bereitgestellt haben, sowie die eingesetzten Technologien beschreiben. Dies bietet nicht nur eine gute Möglichkeit, Ihr Können zu präsentieren, sondern auch Ihre Fähigkeit, Ihre Arbeit klar und verständlich zu erklären. Ein Screenshot des Projekts oder ein Link zum fertigen Produkt sowie ein Kunden-Testimonial können Ihre Kompetenz unterstreichen.

Vergessen Sie nicht, Ihre Online-Präsenz regelmäßig zu pflegen. Potenzielle Kunden oder Arbeitgeber werden häufig nach Ihrem Namen suchen, um mehr über Sie herauszufinden. Es ist daher ratsam, auf Plattformen wie LinkedIn ein vollständiges und aktuelles Profil zu führen und Ihre bisherigen Projekte sowie Kundenempfehlungen dort zu verlinken. Zusätzlich kann ein GitHub-Profil, auf dem Sie Ihren Code und Ihre Projekte veröffentlichen, nicht nur Ihre Fähigkeiten unter Beweis stellen, sondern Ihnen auch helfen, von einer breiteren Entwickler-Community wahrgenommen zu werden.

Ein solides Portfolio und eine starke Online-Präsenz sind der Schlüssel, um sich als erfolgreicher freiberuflicher Webentwickler zu etablieren. Es erfordert Zeit und Engagement, aber mit einer klaren Strategie und einer konsequenten Umsetzung können Sie sich einen Namen machen und langfristig erfolgreich sein.