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.
Lokalisierung einer Xamarin.Forms App
Wenn man eine App entwickelt möchte man diese später ja auch in den jeweiligen Stores zum Download zur Verfügung stellen und daher sollte man sich frühzeitig die Frage stellen, in welchen Stores man die App zum Download anbieten möchte und natürlich auch welche Sprachen die App unterstützen soll. Dies sollte man am Besten direkt bei der Programmierung der App wissen bzw. beachten, dass die App später in mehreren Sprachen zur Verfügung stehen soll/wird. Den in Xamarin.Forms gibt es das Konzept mit Ressourcen-Dateien, welche eigentlich nichts anderes als Key-Value-Pairs sind und zur Laufzeit wird denn der Key
mit dem Value
ersetzt und so können Texte bequem und einfach lokalisiert werden. Wie dies im einzelnen funktioniert, möchte ich euch in diesem Beitrag zeigen.
Zunächst legen wir ein ganz normales Xamarin.Forms Projekt in Visual Studio an. Anschließend fügen wir in dem portablen Part der App einen Ordner Resources
and und darin dann eine Datei mit dem Namen AppResources.resx
. Nach dem Öffnen der Datei können hier bequem die lokalisierten Texte eingetragen werden.
Rückblick: Azure Functions Meetup
Am vergangenen Donnerstag fand, wie bereits hier angekündigt, in den Räumlichkeiten der medialesson GmbH ein weiteres Meetup statt. Dieses Mal habe ich zusammen mit Robert eine Einführung in Azure Functions gegeben und dabei natürlich auch einen Blick auf den Serverless-Hype geworfen. Dabei haben wir zahlreiche verschiedene Demos gezeigt, wie z.B. die Erstellung eines Arbeitsreports mit Mite oder der automatischen Veröffentlichung der wöchentlichen Arbeitszeit auf Twitter. Wir haben auch einen kurzen Blick auf die Cognitive Services von Microsoft geworfen und dieses durch einen Chatbot und einer eigenen App Image Analyzer demonstriert.
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.
#Hackschool – Progressive Web Apps mit Angular
Am Samstag, den 23. Juni stand mal wieder ein Hackschool in Karlsruhe auf dem Programm, welche sich mit dem Thema Progressive Web Apps befasst hat. Dieses Mal fand der Workshop von 10.00 bis 17.00 Uhr statt, also ganztägig, weil die beiden Präsentatoren Steffen und Christian zum einen viele Content vorbereitetet, aber auch genügend Zeit für das eigene Ausprobieren eingeplant hatten.
Animation in Xamarin.Forms-Apps
Manchmal kann eine kleine Animation eine bestehende App deutlich aufwerten und in diesem Beitrag möchte ich euch nun zeigen, wir ihr mit sehr geringem Aufwand Animationen, wie Skalierung oder Rotation umsetzen könnt. Der Vorteil ist hierbei natürlich, dass durch die Verwendung von Xamarin.Forms die Animation sowohl unter Android, iOS als auch UWP zur Verfügung steht und sich je Plattform natürlich anfühlt bzw. aussieht.
Event-Tipp: Meetup zum Thema Azure Functions
Am 5. Juli findet das nächste Meetup in den Räumlichkeiten der medialesson GmbH in Pforzheim statt und zusammen mit Robert werde ich eine Einführung in Azure Functions geben. Dabei wollen wir nach einem kurzen theoretischen Teil sehr viele Demos zeigen, welche verschieden Anwendungsfällte von Azure Functions zeigen und gleichzeitig belegen, wie einfach die Entwicklung der ersten eigenen Azure Function ist.
Xamarin.Essentials – Plattformübergreifende APIs
Mit Xamarin.Forms versucht man ja auf einer einzigen Code-Basis sowohl die Business-Logik als auch das Layout abzubilden. Dies funktioniert in weiten Teilen auch recht gut, aber trotzdem gelangt man immer wieder an den Punkt, wo man plattformspezifischen Code benötigt. Ich denke hier zum Beispiel an das Abrufen der aktuellen Position des Nutzers oder das Versenden einer SMS/eMail. Es gibt hier eine Vielzahl von Features, welche plattformspezifisch umgesetzt werden müssten. Glücklicherweise hat die Community hier zahlreiche NuGet-Packages bereit gestellt, welche man in seine Xamarin.Forms App integrieren kann. Nun hat man sich jedoch hingesetzt und diese Funktionalitäten alle in ein großes NuGet-Package zusammengefasst, welches auf den Namen Xamarin.Essentials hört und zur Zeit in einer Preview-Version vorliegt.
Rückblick: Azure Saturday in München
Nun liegt der Azure Saturday bereits einige Wochen wieder zurück, aber ich möchte in diesem Beitrag noch einmal eine kurze Zusammenfassung geben und natürlich auch über unsere Session Alexa on Azure – practical use cases for getting started with Functions berichten. Nach der Registrierung und dem Erhalt des obligatorischen Badges füllte sich relativ zügig der Eingangsbereich der Microsoft Zentrale in Schwabing.
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.
Event-Tipp: Azure Saturday in München
An dieser Stelle einmal wieder ein kleiner Event-Tipp von mir. Am 26. Mai findet zum wiederholten Male der Azure Saturday in München statt. Dabei handelt es sich um eine kostenlose Veranstaltung für Teilnehmerinnen und Teilnehmer und diese können aus einer Vielzahl von spannenden Sessions wählen und sich so tiefer mit verschiedenen Azure-Technologien auseinandersetzen. Ich werde zusammen mit meinem Kollegen Thomas als Speaker teilnehmen und in unserer Session Alexa on Azure – Practical use cases for getting started with Azure Functions werden wir zeigen, wie man mit Azure Functions seinen eigenen Alexa-Skill entwickeln kann.
Visual Studio Live Share
Auf der diesjährigen Build-Konferenz von Microsoft in Seattle wurde die Verfügbarkeit von Visual Studio Live Share in einer Preview bekannt gegeben. Ich konnte natürlich nicht warten und habe mir dieses neue Feature einmal angeschaut. Bei dem angekündigten Feature handelt es sich um eine Erweiterung für Visual Studio mit welcher ihr euren Code mit weiteren Entwicklern teilen könnt, so dass ihr gemeinsam an einem bestehendem Problem in einer Code-Basis arbeiten könnt.