Benchmarks, jedoch •Teilweise unter macOS getestet •Teilweise nur wenige Alternativen verglichen •Teilweise in den Alternativen wenig optimierten Code geschrieben •Teilweise mit Beta-Versionen der Frameworks getestet •Irgendjemand ist immer mit einem Benchmark unzufrieden
Frameworks implementiert •Keine Datenbank- und JSON-Tests •Anschliessend die Performance gegen die anderen Tech Empower Frameworks getestet •Auf DigitalOcean $5 Maschine (Tech Empower nutzt ein 40 Core 32GB Ram Monster)
noch eher für macOS optimiert •Alle Swift Web Frameworks befinden sich noch in der Entwicklung •Erst einmal Feature-Parität herstellen bevor optimiert wird
Auth.User { // do a query to see if the user exists throw Abort.notFound } static func register(credentials: Credentials) throws -> Auth.User { // register a new user throw Abort.notFound } }
Auth.User { // do a query to see if the user exists throw Abort.notFound } static func register(credentials: Credentials) throws -> Auth.User { // register a new user throw Abort.notFound } }
Sowohl Swift 3 als auch die Frameworks änderten sich wöchentlich • Die Frameworks als auch Swift werden sich auch weiterhin noch oft ändern • Fehlende Dokumentation • SourceKit stürzt noch öfters ab als in der iOS/macOS Entwicklung
von: • Wieviel Frontend-Code die Anwendung hat • Wieviele Sprachen die Teamkollegen schon beherrschen • Wieviel Code vermutlich geteilt werden kann • Wie gern man Swift mag • Auf jeden Fall werdet Ihr refactoren müssen
features, angenehmere API • Für funktionsreduzierte, reine REST-Server ist Perfect vielleicht die bessere Wahl. • Wenn man in Zukunft mehr features erwartet: Ansonsten Vapor • Aktive Entwicklung, in 1-2 Jahren mag Kitura besser sein
compile & reload • Swift 3 / Frameworks • Initial etwa 1 Minute • Incremental etwa 1 Sekunde bei kleinen Projekten • Dafür könntet ihr Linux installieren und endlich schnelle Hardware kaufen
stärker Generics, Value Types & Protokolle verwenden kann • Unbedingt unter Linux testen. Foundation unterscheidet sich noch stark auf den beiden Plattformen • Die von den Web Frameworks gebotenen Abstraktionen wählen. Diese sind bereits plattformunabhängig. • Vapor hat einen ausgezeichneten, sehr lesbaren, Source-Code