Azure Functions im Docker Container
Im vergangenen Jahr habe ich zusammen mit meinen Arbeitskollegen Thomas und Robert immer mal wieder über Azure Functions berichtet. Diese haben wir immer über Microsoft Azure betrieben und vorgeführt, da die Integration zwischen diesen beiden Produkten hervorragend ist. Damit ist die Funktionalität aber auch auf den Servern von Microsoft vorhanden und technisch weltweit abruf- und verwendbar. Ich habe dann mal geschaut, wie man vielleicht eine Azure Function auch ohne Microsoft Azure betreiben kann und bin dann bei einem Docker-Container hängen geblieben. Bei Docker handelt es sich um eine Software, welche die Bereitstellung einer Anwendung vereinfachen möchte. Hierzu werden Container verwendet, welche bereits alle notwendigen Pakete beinhalten und daher leicht in Form von Dateien transportiert und installiert werden können. Als Basis dient hierbei ein Image, welches alle nötigen Komponenten beinhaltet und aus dem dann später ein Container erstellt werden kann. Ich möchte jetzt einmal aufzeigen, wie wir mit wenig Aufwand ein Azure Function Projekt in einem Docker Container laufen lassen können, so dass wir dies auch ohne Probleme auf den eigenen Servern laufen lassen können.
Zunächst öffnen wir Visual Studio und legen eine neues Azure Functions Projekt an.
AppCenter CLI
Im Rahmen eines Blog-Beitrags bzgl. der Dr. Windows habe ich bereits erwähnt, dass ich zum Bauen der Test- und Store-Versionen das AppCenter von Microsoft verwende. Zusätzlich habe ich in den letzten Tagen verstärkt unter Linux mit der Bash gearbeitet und habe ein wenig Gefallen an der Verwendung eines Terminals für verschiedene Aufgaben gefunden. Daher kommt es genau recht, dass es ein Command Line Interface für das AppCenter gibt, so dass man alle Aufgaben auch über das Terminal vornehmen kann.
Sketch2Code
Heute möchte ich euch eine kleine Webseite vorstellen, welche in der Lage ist eure gezeichneten Layout mit der Hilfe von künstlicher Intelligenz zu analysieren und anschließend als HTML-Code anzuzeigen. Das Projekt stammt dabei aus der Feder von Microsoft und soll aufzeigen, was heutzutage bereits mit KI möglich ist.
Lottie-Animationen bearbeiten
In einem früheren Beitrag habe ich euch ja bereits Lottie vorgestellt, einer Library um bequem und einfach Animationen aus After Effects in die eigene App zu integrieren. Ebenso habe ich auf die Webseite lottiefiles.com hingewiesen, welche eine Vielzahl von verschiedenen Animationen zur Verwendung zur Verfügung stellt. In diesem Beitrag möchte ich nun auf ein kleines Tool hinweisen, welches es ermöglicht die Animationen ohne After Effects zu editieren, wenigstens in den Farben.
Entwicklung der Dr. Windows App
Ich habe es ja bereits in meinem Blog erwähnt, dass seit kurzem die Dr. Windows App neben Windows 10 auch für iOS und Android zur Verfügung steht. In diesem Beitrag möchte ich nun noch ein paar Hintergrundgeschichten zur Erstehung dieser beiden neuen App-Versionen erzählen und einen kleinen Einblick in die Entwicklung geben. Im Rahmen meiner Arbeit als Softwareentwickler bei der Firma medialesson GmbH habe ich zusammen mit einem Kollegen vor ca. 2 Jahren an der Entwicklung der UWP-Version für Desktop und Phone mitgearbeitet. Bei der damaligen Entwicklung haben wir schon im Hinterkopf gehabt, dass eventuell eine iOS- und eine Android-Version folgen könnten.
Liste öffentlicher APIs
Als Entwickler stand ich schon öfters vor dem Problem, welche APIs gibt es bereits auf dem Markt und welche lassen sich dadurch vielleicht auch relativ einfach in eigenen App-Projekten verwenden. Eine einfache Suche nach JSON API liefert nicht immer das passende Ergebnis und man muss teilweise sehr genau wissen, wonach man sucht um eine passende API zu finden. Hier kommt nun aber Projekt Public APIs von Todd Motto ins Spiel, denn dieser hat in einem GitHub-Repository eine Vielzahl von APIs aufgeführt, welche man schnell und einfach verwenden kann.
Mittlerweile hat das Projekt über 550 gelistete APIs, welche auch noch in verschiedenen Kategorien, wie zum Beispiel Tiere, Sport, Unterhaltung, News oder auch Musik kategorisiert sind. Ein Blick lohnt sich hier auf jeden Fall.
Da es bei diesem Projekt um APIs geht, ist es natürlich nicht verwunderlich, dass es ebenfalls eine API gibt, um die Daten abzugreifen und vielleicht in einer eigenen Anwendung zu verwenden. Unter dem Endpunkt https://api.publicapis.org/ findet man alle weiteren Informationen.Insgesamt ein sehr gelungenes Projekt, welches auch als Nachschlagewerk für öffentliche APIs dient. Die meisten APIs stehen zwar nur in einer englischen Version zur Verfügung, aber trotzdem lohnt sich immer mal wieder ein Blick.
Dr. Windows App nun für iOS und Android als Beta verfügbar
Der eine oder andere wird es sicherlich bereits mitbekommen haben, aber die letzten Monate habe ich immer wieder an einer Portierung der Dr. Windows App sowohl für Android als auch iOS gearbeitet. Seit einigen Stunden ist es nun soweit und beide Apps liegen in den jeweiligen Stores als Beta-Version zum Herunterladen bereit. Ich durfte damals im Rahmen meiner Entwickler-Tätigkeit bei der Firma medialesson GmbH zusammen mit einem Kollegen an der UWP-App arbeiten und auf dem Dr. Windows Community Day hat Martin mich dann gefragt, ob ich nicht Interesse hätte eine iOS- und eine Android-Version zu erstellen. Der Vorteil war, dass wir bei der UWP-App-Entwicklung bereits auf eine hohe Portierbarkeit der Businesslogik konzentriert haben, so dass ein großer Teil der Logik bereits vorhanden und wiederverwendet werden konnte.
Einen Tweet aus C# veröffentlichen
Immer wieder stößt man auf der Plattform Twitter auf Bots. Dabei handelt es sich um Twitter-Konten, welche nicht durch Menschen betrieben und mit Inhalt gefüllt werden, sondern um Computer-Programme, welche zum Beispiel in regelmäßigen Abständen automatisiert das aktuelle Wetter ausgibt oder die Aktienkurse. Ich habe mir mal angeschaut mit welchem Aufwand man selbst aus seinem C#-Programm einen Tweet absetzen kann und dies ist wirklich sehr simpel und in diesem Beitrag zeigen ich euch, wie das geht.
WordPressXF – Framework für WordPress-Blogs
Inspiriert durch die Entwicklung der WordPressPCL durch meinen Kollegen Thomas habe ich beschlossen eine kleine Demo-Anwendung zu schreiben, welche man später als Framework verwenden kann, um seinen eigenen WordPress-Blog mit wenig Aufwand in eine Android-, iOS und UWP-App zu verwandeln. Der Support für UWP ist relativ eingeschränkt, weil es bereits ein weiteres Projekt gibt, welches sich ausschließlich um eine UWP-Umsetzung kümmert. So besitzt die UWP-Version von WordPressXF kein adaptives Layout, um zwischen Desktop und Mobile zu unterscheiden.
Lokales NuGet Package in Projekt integrieren
Manchmal kommt es vor, dass einem NuGet Package als .nupkg
Datei vorliegen, welche man gerne in sein bestehendes Projekt integrieren möchte. Dies kann zum Beispiel dann der Fall sein, wenn man seine eigenen NuGet Packages erstellt, aber diese nicht veröffentlichen möchte oder bei Preview-Versionen, welche nur ausgewählte Personen testen sollen. In diesem Beitrag möchte ich nun zwei verschiedene Wege aufzeigen, wie man mit sehr wenig Aufwand lokale .nupkg
Dateien in sein bestehendes Projekt integrieren kann. Dabei werde ich zwei verschiedene Ansätze aufzeigen.
XFWeather – Kleine Xamarin.Forms-App
Ich habe eine kleine Xamarin.Forms-App entwickeln, welche den Namen XFWeather trägt und, wie der Name schon vermuten lässt, das Wetter für einen bestimmten inkl. einer Vorhersage ausgibt. soll. Das besondere an dieser App ist, dass ich keinen plattformspezifischen Code geschrieben habe, sondern die gesamte Logik im portablen App-Teil geschrieben wurde. Trotzdem läuft die App sowohl unter Windows, Android als auch iOS. In diesem Beitrag möchte ich nun das Ergebnis vorstellen und gleichzeitig auf einige Stolpersteine hinweisen.
Heap Size bei Xamarin-Projekten erhöhen
Teilweise kommt es vor, dass meine Android-App, welche ich mit Xamarin.Forms oder auch Xamarin Native entwickle, nicht mehr bauen möchte. Sobald man die App zum Debuggen starten möchte, erhält man nach einer geringen Wartezeit eine Fehlermeldung. Diese besagt, dass man doch bitte die Eigenschaft JavaMaximumHeapSize erhöhen sollte. In diesem Beitrag möchte ich nun kurz aufzeigen, wie man diesen Fehler schnell und unkompliziert lösen kann.