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.
Rückblick: Expert Day for Xamarin
In diesem Beitrag möchte ich noch einmal einen kurzen Rückblick auf die zweite Auflage des Expert Day for Xamarin in Köln geben. Am 19. Oktober fanden in den Räumlichkeiten von Microsoft zahlreiche Sessions rund um das Thema Xamarin statt. Anders als beim letzten Mal gab es dieses Mal sogar zwei parallele Slots, welche immer wieder durch Keynotes unterbrochen worden sind. Daher kann ich leider nicht zu allen Sessions etwas sagen, sondern nur zu denen, welche ich auch besucht habe.
Android NDK installieren
Manchmal möchte meine Android-App auch als Release-Build testen, um sicherzustellen, dass die App später auch definitiv lauffähig ist. Als ich jedoch bei meinem Projekt von Debug auf Release umstellt habe, wurde der Build-Prozess mit einem Build-Fehler beendet und die App wurde auf dem Emulator oder dem Device nicht gestartet. In diesem Beitrag möchte ich nun kurz aufzeigen, wie man das fehlende Android NDK installieren und konfigurieren kann.
Event-Tipp: Expert Day for Xamarin 2018
Bereits zum wiederholten Male findet am 19. Oktober der Expert Day for Xamarin bei Microsoft in Köln statt. Ich war bereits im letzten Jahr dabei und werde mich auch dieses Mal wieder auf den Weg machen, um gemeinsam mit der Community über die Neuigkeiten bei der Xamarin-Entwicklung zu erfahren und natürlich auch um mich mit der Community auszutauschen.
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.
Zugriff auf localhost vom Android Emulator
Gerade wenn man als Full-Stack Entwickler sowohl ein Backend als auch das passende Frontend entwickeln möchte, möchte man früher oder später die Aufrufe gegen eine lokale Version des Backends machen, um dieses besser debuggen zu können.
Wenn als Frontend dann vielleicht Xamarin.Forms oder Xamarin.Android zum Einsatz kommt, dann testen man seine App am einfachsten mit dem Android Emulator. Wenn man hier nun eine localhost-Adresse verwendet, dann schlägt dieser Request jedoch fehl.
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.
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.
XAML Standard ausprobiert
Auf der Build Conference im Jahre 2017 in Seattle hat Microsoft XAML Standard angekündigt. Aktuell ist es nämlich so, dass sich die Properties und auch Controls vom Naming her zwischen UWP, WPF und auch Xamarin.Forms zum Teil stark unterscheiden. Hat man zum Beispiel bereits eine bestehende UWP-App geschrieben, kann man den verwendeten XAML Code nicht direkt in eine Xamarin.Forms-App übernehmen, sondern muss hier umständlich ein paar Anpassungen vornehmen. Deshalb versucht Microsoft nun mit XAML Standard entsprechend einen einzigen Dialekt zu entwickeln, welche für alle Apps und Anwendungen funktioniert und eine schnelle Portierung möglich macht. In diesem Beitrag möchte ich einmal den aktuellen Stand von XAML Standard in einer Xamarin.Forms App ausprobieren und schauen, ob man bestehenden Code wirklich so einfach portieren kann.
Xamarin Dokumenation unter neuer Location
Microsoft hat begonnen die gesamten Dokumentationen von Xamarin und Xamarin.Forms zu docs.microsoft.com zu migrieren. Gleichzeitig wurden die Dokumentation auch auf GitHub veröffentlicht, so dass man jetzt schnell eigene Anpassungen daran vornehmen kann und so eine durch die Community getriebene (nahezu) vollständige Dokumentation erstehen wird.
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.
Map Control mit bindable Pins erweitern
Aktuell hat die Implementierung des Map Controls aus dem Xamarin.Forms.Maps Package für mich ein kleines Manko. Es gibt zwar eine Property Pins
zum Anzeigen von Push Pins auf der Karte, aber diese lässt sich nicht binden. In diesem Beitrag möchte ich zeigen, wie wir das bestehende Map Control erweitern können, damit wir die Pins auch binden können und die Daten so zum Beispiel über ein ViewModel berechnen oder vorhalten können.