Kore - Webservices in C programmieren

Kore ist ein in C geschriebenes Webapplication-Framework. Kore ermöglicht es sichere (es wird ausschließlich HTTPS unterstützt), gut skalierende Webservices und sogar Websites in reinem C zu programmieren. Es bietet sich an, wenn man einen Webservice aus einem nur in C oder C++ zur Verfügung stehenden Klasse/Framework erstellen will. Durch Kore spart man sich das meist aufwendige und fehleranfählige binding dieser Bibliotheken an eine für Webanwendungen gebräuchlichere Sprachen wie PHP, Java, JavaScript oder Python. Geschwindigkeitstechnisch ist davon auszugehen das die mit Kore erstellten Services schneller sind als z.B. mit SWIG erstellte Bindings, auch wenn diese Performanceunterschiede in der Praxis wahrscheinlich keine Rolle spielen werden.

Kore braucht zum builden keine Makefiles, ein Kore-Programm kann über den einfachen Aufruf:

kore run 

erstellt und ausgeführt werden. Weitere Informationen zu Kore bekommt man unter kore.io.

GarageGames - Torque 2D und Torque 3D sind OpenSource

Die beiden GameEngines Torque 2D und Torque 3D stehen jetzt unter der MIT-Lizenz. Bei Torque 2D handelt es sich um eine in C++ geschriebene 2D-GameEngine mit Unterstützung für Windows, OSX, Linux, iOS und Android. Spiele können dabei in C++ oder einer an C angelehnten Skriptsprache geschrieben werden. Die GameEngine unterstützt OpenGL, Box2D and OpenAL. Weitere Informationen zu Torque 2D können unter github.com/GarageGames/Torque2D gefunden werden.


Bei Torque 3D handelt es sich um eine 3D-GameEngine. Dem Entwickler oder Designer stehen mit der World Editing Suite die aus Shape Editor, Terrain Editor, Road & River Editor, Material Editor, Particle Editor und Decal Editor besteht zahlreiche Wekzeuge zum erstellen von Inhalte zur Verfügung.
GarageGames, der Entwickler der beiden Engines bietet auf seiner Webseite zahlreiche kostenpfichtigen Plugins für diese an.

DockerUI - Container in GUI verwalten

DockerUI ist ein Webinterface das auf die Docker Remote API zugreift und es ermöglicht Docker Container einfach zu verwalten. Es bindet die grundlegende Funktionen wie Starte, Stoppen, Löschen und Konfigurieren von Container und Images. DockerUI befindet sich noch in einem frühen Entwicklungsstadium, die vorhanden Features können aber bereits produktiv eingesetzt werden.

Ist Docker bereits installiert ist das eigentliche ausführen von DockerUI direkt über Docker möglich, über folgenden Befehl wird DockerUI bei Bedarf installiert und gestartet.

docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui

Danach ist das Webinterface unter localhost:9000 erreichbar. Weitere Informationen zu DokerUI findet man unter github.com/crosbymichael/dockerui.

Zepto - jQuery in klein

Zepto eine weitgehend mit jQuery kompatible, minimalistische OpenSource-JavaScript-Bibliothek für moderne Browsers. Dabei ist jedoch keine 100 prozentige Abdeckung der Funktionalität von jQuery gegeben. Der Vorteil von Zepto ist das die Bibliothek mit maximal 10k wesentlich kleiner ist als jQuery, was weitgehend durch die geringere Unterstützung älterer Browser erreicht wird. Zepto kann unter der MIT Lizenz auf zeptojs.com heruntergeladen werden.

Ngrok - VPN für localhost

Ngrok ist ein VPN-Tool das es ermöglicht, einen eigentlich nicht öffentlichen localhost öffentlich bereitzustellen. Es eignet sich für Entwickler die z.B. einen Zwischenstand einer Webapp oder Webseite zur Abnahme bereitstellen wollen. Dabei wird ein konfigurierbarer Port auf eine Subdomain des Anbieters Ngrok weitergeleitet. Hat man keinen Account beim Ngrok bekommt man eine zufällige Subdomain zugeteilt. Die Subdomain sowie Statusinfomationen über eingehende Anfragen werden direkt auf der Konsole angezeigt. Wenn man sich einen Account bei Ngrok erstellt kann auch eine Subdomain wählen. Ngrok ermöglicht HTTP- sowie HTTPS-Verbindungen zu dieser Domain.

Das Komandozeilen-Tool kann für Linux, MacOs und Windows kostenlos von der Webseite ngrok.com heruntergeladen werden. Durch den Aufruf von:

    ngrok 8181 

wird z.B. der localhost:8181 an Ngrok weitergeleitet. Die Performance der VPN-Verbindung ist nicht hoch, aber zum Testen ausreichend.

Leaflet - Multi-Provider Karten

Die 33 kb große JavaScript-Bibliothek Leaflet ermöglicht es interaktive Karten in eine Webseite einzubinden, dabei ist man nicht an einen Karten-Provider gebunden, es ist möglich nahezu beliebige Anbieter von Karten zu verwenden. Das Einbinden von OpenStreetMap und GoogleMaps ist einfach zu umzusetzen. Leaflet wird von einer Vielzahl große Internetauftritte wie z.b Flicker verwendend. Es ist also davon auszugehen das es Ausreichend getestet und stabil ist.

Bei der Verwendung eines Providers müssen immer die entsprechenen AGBs beachtet werden so erlaubt z.B GoogleMaps keinen unbegrenzten Zugriff auf seine MapsApi. Ab einer gewissen Anzahl von Requests wird der Dienst dann für die entsprechende Webseite gesperrt. Weitere Informationen zu den Nutzungsbedingungen von GoogleMaps finden man hier.

Inzwischen muss man nicht mehr die langweiligen Standardkarten verwenden, auf den Seiten maps.stamen.com und mapbox.com können unterschiedliche Styles gefunden werden. Bei mapbox.com ist auch möglich einen komplett eigenen Style für eine Karte zu entwickeln. Allerdings ist das mit einigem Aufwand verbunden.

Babylon.js - WebGL GameEngine

Babylon.js ist eine unter Apache License 2.0 stehende 3D-Engine für den Browser. Sie steht in Konkurrenz zu tree.js, bietet aber mehr integrierte Funktionalität.

Zu den Features von Babylon.js zählen unter anderem: Ein implementierter Scenegraph für Modelle, Materials, Licht und Kameras. Eine Kollisions-Engine sowie eine Physik-Engine auf Basis von cannon.js. Es werden Animationen (auf Basis von Bones) und Partikel unterstützt. Die Standart-Materials unterstützen PerPixel-Lightning sowie die gängigen Texturemaps. Auf der Webseite stellen zahlreiche Demos die unterschiedlichen Features der Engine vor.

Babylon.js wird von Microsoft Entwicklern entwickelt. Und kann unter babylonjs.com heruntergeladen werden.

Medoo - Ein Mini-PHP-ORM

Bei Medoo handelt es sich um ein kleines ORM-System unter der MIT-Lizenz. Es besteht nur aus einer einzigen 14 kb kleinen Datei und eignet sich hervorragend für kleine bis mittlere Projekte. Als Systemvoraussetzung muss mindestens PHP 5.1 mit PDO Support installiert sein. Es werden die Datenbanken MySQL, MSSQL, SQLite, MariaDB, Oracle, Sybase und PostgreSQL unterstützt.

ragersWeb erfolgreich migriert

ragerWeb ist auf ein neu entwickeltes CMS umgestiegen. Sowohl die Webseite als auch der Adminbereich sind jetzt in Node.js implementiert. Die Webseite ist mit Express umgesetzt, die Templates werden in Handelbars gerendert. Beim Backend handelt es sich um eine Ember.js Anwendung. Als HTML/CSS-Framwork wird auf Twitters Bootstrap gesetzt, wodurch das Blog voll responsive ist.

In den nächsten Tagen wird das Design noch weiter angepasst.

jsDelivr - Kostenloses CDN für JavaScript-Bibliotheken

Über den kostenlosen Service von jsDelivr können über 1000 JavaScript-Bibliotheken eingebunden werden. Bekannte Scripts wie jQuery, Ember.js, Angular.js oder auch die WebGL-Engines Babylon.js und three.js finden sich dort. Durch den Einsatz von Contend Delivery Networks (CDNs) kann die Last auf den eigenen Sever veringert werden, sowie die Ladegeschwindigkeit beim User erhöht werden, da die Scripte von einem möglichst nahe gelegenen Server geladen werden. Dabei sollte aber darauf geachtet werden dass möglichst alle Scripte beim selben CDN liegen um auflösen von zusätzlichen Domains zu vermeiden. Ein weiterer Vorteil ist das Scripts wie jQuery eventuell schon von einer anderen (fremden) Seite geladen wurden, so das diese nicht erneut geladen werden müssen. Browser greifen in diesem Fall auf eine lokal zwischengespeicherte Version des Scipts zurück. Diese "teilen" von JavaScript-Dateien ist nur über ein CDN möglich. Je verbreiteter das verwendete Script ist, desto höher sind die Chancen das es nicht erneut heruntergeladen werden muss.