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.

Winamp wiedergeboren

Winamp war wahrscheinlich der MP3- bzw. Mediaplayer einer ganzen Generation. Wer diesem Player noch nachweint oder ihn einfach mal wieder erleben möchte, der sollte sich Webamp anschauen.

Webamp gleicht Winamp wie einem Ei dem anderen

Bei Webamp handelt es sich um eine Neuimplementierung von Winamp 2 in HTML5 und JavaScript. Zu finden ist Webamp unter webamp.org. Er kann nicht nur auf der Webseite genutzt, sondern auch auf der eigenen Webseite als Mediaplayer genutzt werden. Der Quelltext ist auf GitHub zu finden und unter der MIT-Lizenz lizenziert und damit freie Software.

Thymeleaf ohne Servlet in Standalone-Anwendungen nutzen

Thymeleaf ist eine Template Engine, welche für die Nutzung mittels Java (oder anderer JVM-Sprachen) gedacht ist. Über diese können entsprechende Templates geschrieben werden, anschließend gefüllt und genutzt werden. Thymeleaf verfügt über eine Dokumentation, allerdings fehlt mir dort ein minimales Beispiel für Anwendungen, welche sich nicht im Web (sogenannte non-web environments) abspielen.

thymeleaf.org

Für ein minimales Beispiel wird natürlich ein Template benötigt. Dieses wird hier als HTML definiert:

<!DOCTYPE html>
<html>
<head>
    <title th:text="${title}"></title>
</head>
<body>
</body>
</html>

Interessant ist hierbei das Feld title, welches wir mit einem Titel füllen wollen. Im Java-Quellcode sieht die Implementation wie folgt aus:

ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setPrefix("templates/");
resolver.setTemplateMode("HTML5");
resolver.setSuffix(".html");

TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(resolver);

Context context = new Context(Locale.GERMAN);
context.setVariable("title", "Ein minimales Beispiel");

final String content = templateEngine.process("header.html", context);

Im ersten Schritt wird mit dem ClassLoaderTemplateResolver ein Resolver definiert, welcher schlussendlich dafür sorgt die Templates aus den Ressourcen (im resources-Ordner) bezogen werden. Daneben wird der Template-Modus eingestellt. Neben dem Modus HTML5 unterstützt Thymeleaf wie z.B. TEXT oder JAVASCRIPT. Danach wird die Template Engine erstellt und ihr der Resolver zugewiesen. Die Variablen, welche in diesem Fall im Template genutzt werden, werden über den Context definiert und gesetzt. Anschließend wird das Ganze an die process-Methode der Template Engine übergeben. Als Ergebnis erhalten wir im String content folgenden Inhalt:

<!DOCTYPE html>
<html>
<head>
    <title">Ein minimales Beispiel</title>
</head>
<body>
</body>
</html>

Damit wurde Thymeleaf in einer minimalen Variante angewendet. Die offizielle Seite der Template Engine ist unter thymeleaf.org zu finden. Lizenziert ist Thymeleaf unter der Apache License in der Version 2.0 und damit freie Software.

Worms Remake als HTML5-Spiel

Das Spiel Worms, in dem sich zwei Parteien von Würmern bekriegen mussten, blickt mittlerweile auf eine über zwanzigjährige Geschichte zurück. Im Rahmen seiner Bachelorarbeit entwickelte Ciarán McCann ein Remake des Spieles. Geschrieben wurde das ganze in Typescript, welches in JavaScript kompiliert wird. Neben dem Tutorial bietet das Spiel einen lokalen Mehrspielermodus und einen Online-Modus. Letzterer kann leider im Moment nicht ausprobiert werden, da der dazu benötigte Server nicht läuft. KI-Gegner sind nicht vorgesehen, so das man zwangsläufig einen weiteren Mitspieler für eine Runde im Worms-Remake benötigt.

Das Worms Remake

Die Auswahl an Waffen und Fähigkeiten reicht nicht ganz an das Original heran; es sind insgesamt 9. Der Quelltext des Spieles ist auf GitHub zu finden. Er ist unter der Apache License in der Version 2 lizenziert und damit freie Software. Ausprobiert werden kann das Spiel auf der Seite des Autors.

Bauwerks- und Geometriegeneratoren für Minecraft

Auf der Suche nach einem Generator, für einfache geometrische Formen in Minecraft, bin ich auf die Webseite plotz.co.uk gestoßen. Dort gibt es Generatoren für Spheren, Elipsioiden, Tori und Bauwerke wie Observatorien, Leuchttürme oder Schneemänner.

Der Generator für den Wizard Tower

Je nach verwendetem Generator können unterschiedliche Parameter wie Größe, Stockwerke und ähnliches eingestellt werden. Anschließend kann man die erzeugten Geometrien nachbauen, indem man sie sich Schicht für Schicht anzeigen lässt. Dies ist vor allem bei Formen wie Kugeln oder elliptischen Körpern sehr angenehm, da die Fehlerquote dank der detaillierten Bauanleitung stark abnimmt. Geschrieben sind die Generatoren mit den Mitteln von HTML5 und JavaScript.