Swift im Browser ausprobieren

Swift ist der freie Nachfolger der Sprache Objective-C und wird unter anderem für die App-Entwicklung unter macOS und iOS genutzt. Daneben kann Swift auch unter anderen Systemen wie Linux genutzt werden. Wer Swift im Browser testen möchte, kann dies mit dem Online Swift Playground tun.

swiftplayground.run

Mit der Nutzung der lokalen Versionen können auch eigene Packages eingebunden werden. Zu finden ist der Online Swift Playground unter online.swiftplayground.run. Der Quelltext ist auf GitHub zu finden, allerdings ist dieser unter der Creative Commons CC-BY-NC lizenziert und damit keine freie Software.

Ideentool wird zu Wryte

2014 veröffentlichte ich die erste Version meines Ideentools. Dabei handelte es sich um ein Werkzeug für Autoren welches unterschiedlichste Generatoren für Namen, Charaktere und ähnliches anbot. Im Laufe der Jahre kamen viele Generatoren hinzu, allerdings wirkte die Technik hinter dem Ideentool mittlerweile etwas angestaubt.

Das alte Ideentool

Im Zuge einiger Überlegungen entstand schlussendlich ein neues Projekt mit dem Namen Wryte. Der Fokus von Wryte ist ein wenig anders als der des Ideentools. So sollte Wryte internationalisierbar sein, also für unterschiedlichste Sprachen zur Verfügung stehen. Daneben sollte das Thema Schreiben etwas weiter gefasst werden, so soll es einmal um das Schreiben im Sinne eines Autoren und Schreiben im Sinne einer Entwicklers gehen.

Hintergrund hierfür war, das ich neben dem Schreiben auch entwickle und jeweils bestimmte Tools für beides immer wieder benötige. Deshalb sind die Werkzeuge in Wryte in zwei Personas unterteilt, einmal für Autoren und einmal für Entwickler.

Ein weiteres Ziel von Wryte war die Unterstützung und Integration in mobile Systeme. So kann die App unter iOS und Android auf den Homescreen gelegt werden und fühlt sich so wie eine native App an.

Wryte ersetzt das Ideentool

Technisch wurde die Architektur sinnvoller gestaltet. Während das Ideentool eine wilde Ansammlung von JavaScript– und PHP-Schnipseln war, wurde Wryte architektonisch in eine REST-API und die eigentliche Frontend-Applikation zerlegt. Die API soll in den nächsten Monaten öffentlich dokumentiert werden, sodass diese auch von anderen genutzt werden kann. Für die API wurde eine Swagger-Datei geschrieben und mittels dieser ein Server-Stub für das Slim Framework erzeugt. Die Frontendanwendung ist eine HTML5-App und kann im Gegensatz zum Ideentool auch auf mobilen Systemen sehr gut genutzt werden. Technisch basiert sie auf dem Framework 7-Framework.

Unter iOS kann die App auf den Homescreen gelegt werden

Zu finden ist Wryte unter wryte.net. Im Gegensatz zum Ideentool, fehlen noch einige Generatoren wie der Charakter- und Geheimnisgenerator, einige Fantasienamengeneratoren und die Generatoren für Titel und Verwandtschaftsverhältnisse. Die meisten dieser Generatoren sollen in den nächsten Wochen und Monaten hinzugefügt werden.

Framework 7

Bei der Suche nach brauchbaren und kleineren Frameworks für die Entwicklung von Web-Anwendungen bin ich unter anderem über OpenUI gestolpert. Allerdings war das Framework für meine Zwecke etwas zu groß, weshalb ich mich schlussendlich für Framework 7 entschieden habe. Mithilfe des Frameworks ist es möglich Web-Anwendungen zu schreiben, welche unter iOS, Android und auf dem Desktop laufen. Neben der Ausführung im Browser ist es daneben möglich Apps für die mobilen Systeme zu bauen. Framework 7 liefert Themes für iOS und Android mit, so das sich die Elemente an das Betriebssystem anpassen.

Eine Beispiel-App, welche mit Framework 7 erstellt wurde

Die offizielle Seite des Projektes ist unter framework7.io zu finden. Der Quelltext des Framework 7 ist auf GitHub zu finden. Der Quelltext des Frameworks ist unter der MIT-Lizenz lizenziert und damit freie Software.

MIDI-Dateien in GarageBand unter iOS importieren

Früher konnten MIDI-Dateien unter GarageBand mittels iOS nicht importiert werden. Mittlerweile ist dies möglich, allerdings ist der Weg dorthin nicht unbedingt offensichtlich. Um eine MIDI-Datei zu importieren, muss GarageBand auf dem iOS-Gerät gestartet werden. Anschließend sollte ein neuer Song angelegt werden.

Ein neuer Song in der Sequenzer-Ansicht

Damit sind die Voraussetzungen für den Import gegeben. GarageBand sollte auf die Sequenzeransicht umgeschaltet werden und anschließend der Apple Loops-Button gedrückt werden.

Nach dem Druck auf den Apple Loops-Button erscheint dieser Dialog

Dort kann nun unter dem Tab Dateien, eine Datei über die App Dateien ausgewählt werden. Wurde die Datei ausgewählt, so erscheint sie anschließend in der Liste.

Nachdem die Datei in die Sequenzeransicht gezogen wurde ist der Import abgeschlossen

Um den eigentlichen Import nun abzuschließen, muss die gewünschte Datei mit einem langen Druck, per Drag & Drop in die Sequenzeransicht gezogen werden. Nach einer kurzen Verarbeitungszeit ist der Import schließlich durchgeführt. Damit können die MIDI-Daten nun normal bearbeitet und abgespielt werden.

Probleme mit NativeScript und Xcode

NativeScript ist ein Framework für die Entwicklung von plattformübergreifenden Apps. Um aus dem NativeScript-Quellcode eine lauffähige iOS-App zu generieren, muss unter anderem Xcode installiert sein. Dabei kann es im Zusammenhang mit NativeScript und xcodebuild zu folgender Fehlermeldung kommen:

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

Gelöst werden kann dieses Problem auf dem Terminal mit dem Befehl:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Anschließend sollte bei der Ausführung des Befehls:

xcodebuild -version

folgende Ausgabe zu sehen sein:

Xcode 10.2
Build version 10E125

Damit ist das Problem gelöst und mit der Entwicklung mittels NativeScript kann fortgefahren werden.