Tutorial: Die erste Website in Swift mit Vapor!


Wichtig
Swift kompiliert aktuell nur unter der 64Bit Version von Ubuntu. In diesem Tutorial werden wir unter Ubuntu 14.04.5 LTS (64Bit) arbeiten. Du kannst dir die Version hier herunterladen

1. Installieren von Swift

Zunächst einmal laden wir uns Swift hier runter: Swift 2.2.1 für Ubuntu 14.04.
Davon ausgegangen, dass Swift im Download-Ordner gelandet ist, navigieren wir dorthin.
user$ cd ~/Downloads/

Hier entpacken wir den Download, benennen ihn um und verschieben ihn an einen geeigneteren Ort.
user$ tar -xvf swift-2.2.1-RELEASE-ubuntu14.04.tar.gz
user$ mv swift-2.2.1-RELEASE-ubuntu14.04 swift-2.2.1
user$ sudo mv swift-2.2.1 /opt/

Jetzt stellen wir uns den Befehl
swift
global zur Verfügung.
user$ echo 'export SWIFT_ROOT="/opt/swift-2.2.1"' >> ~/.bashrc
user$ echo 'export PATH="$SWIFT_ROOT/usr/bin:$PATH"' >> ~/.bashrc
user$ source ~/.bashrc

Schließlich installieren wir noch für Swift notwendige Abhängigkeiten (dependencies).
user$ sudo apt-get install clang libicu-dev

Mit der Ausführung des Befehls
swift
können wir prüfen, ob alles geklappt hat!
user$ swift

Es sollte "Welcome to Swift version 2.2.1" usw. erscheinen und dich in den Swift-Modus befördern.
Um ihn wieder zu verlassen drückst du: ctrl+d oder strg+d.

2. Installieren von SwiftEnv

Wir klonen uns das Repository des Swift Environments in unser Homeverzeichnis.
user$ git clone https://github.com/kylef/swiftenv.git ~/.swiftenv

Falls du noch kein Git installiert hast, kannst du das mit diesem Befehl nachholen:
user$ sudo apt-get install git

Als nächstes stellen wir uns den Befehl
swiftenv
global zur Verfügung.
Führe dazu die folgenden Zeilen nacheinander aus:
user$ echo 'export SWIFTENV_ROOT="$HOME/.swiftenv"' >> ~/.bashrc
user$ echo 'export PATH="$SWIFTENV_ROOT/bin:$PATH"' >> ~/.bashrc
user$ echo 'eval "$(swiftenv init -)"' >> ~/.bashrc
user$ source ~/.bashrc

Mit dem nachfolgenden Befehl geben wir uns die Versionsnummer aus und wissen, alles hat geklappt!
user$ swiftenv --version

3. Installieren von Swift-Snapshot

Als nächstes installieren wir den swift development snapshot vom 06-09-2016.
user$ swiftenv install DEVELOPMENT-SNAPSHOT-2016-09-06-a

4. Initialisiere dein erstes Swift-Projekt!

Wir erstellen uns einen Ordner namens
HelloWorld
und navigieren hinein.
user$ mkdir ~/HelloWorld
user$ cd ~/HelloWorld

Jetzt setzen wir unseren Snapshot lokal auf den 09-06-2016.
user$ swiftenv local DEVELOPMENT-SNAPSHOT-2016-09-06-a

Schließlich initialisieren wir das Projekt wie folgt:
user$ swift package init --type executable

5. Füge Vapor als Abhängigkeit hinzu!

Swift Package Manager sollte in deinem Verzeichnis unter anderem eine Datei namens
Package.swift
erzeugt haben. Genau in dieser Datei definieren wir Vapor als Dependency. Dazu musst du sie mit folgendem ergänzen:
01
02
03
04
05
06
07
08
09
10
11
12
import PackageDescription
 
let package = Package(
    name: "HelloWorld",
    dependencies: [
        .Package(
            url: "https://github.com/vapor/vapor.git",
            majorVersion: 0,
            minor: 18
        )
    ]
)

Wichtig: Wir haben Vapor mit
minor: 18
in der Version 0.18 definiert, diese Version funktioniert allein unter dem von uns installierten Snapshot
DEVELOPMENT-SNAPSHOT-2016-09-06-a
. Wenn du eine andere Version von Vapor nutzen möchtest, dann musst du auch den entsprechenden Snapshot installieren. Eine Übersicht findest du hier: Github Vapor

6. Generieren wir unser xCode Projekt!

Keine Angst, wir brauchen kein xCode um unser Projekt zum laufen zu bringen :)!
Einfach die folgende Zeile ausführen:
user$ swift package generate-xcodeproj

7. Endlich Swift Code schreiben!

Im Ordner
Sources/App
befindet sich eine Datei namens
main.swift

Lass uns diese Datei an einen besseren Ort verschieben.
user$ mkdir Sources/App
user$ mv Sources/main.swift Sources/App

Und ersetzen ihren Inhalt mit folgendem:
01
02
03
04
05
06
07
08
09
import Vapor
 
let drop = Droplet()
 
drop.get("/") { request in
    return "Hello, World!"
}
 
drop.serve()

8. Starten wir die App mal!

Bereit? Die letzten zwei Zeilen und deine App läuft!
Dieser Befehl wird unter anderem einen Ordner namens
.build
erzeugen.
user$ swift build

Nun startest du deine App indem du sie mit den folgenden letzten Zeilen ausführst:
user$ ./.build/debug/App

9. Webseite Aufrufen!

Starte deinen Browser und gib localhost:8080 ein. Hello World Seite mit Swift und Vapor

Glückwunsch! Du Webdeveloper hast jetzt eine Webseite unter Swift mit Vapor am laufen! :D