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.
Runde App-Icons unter Android
Mit der Veröffentlichung von Android Nougat 7.1 hat Google runde App-Icons quasi als Standard gesetzt. Wenn man nun jedoch ein neues Xamarin.Forms-Projekt erstellt, so sind die App-Icons immer noch eckig, damit die App auch unter früheren Versionen als 7.1 lauffähig ist, aber mit wenig Aufwand kann man auch ein rundes App-Icon definieren. In diesem Beitrag möchte ich zum einen kurz zeigen, wie man schnell und unkompliziert sein rundes App-Icon (oder auch ein quadratisches App-Icon) erstellen kann und wie man dieses anschließend in die eigene App integriert.
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.
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.
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.
Xamarin.Forms: TextToSpeech
Ich hatte es ja bereits in meinem Beitrag zur Vorstellung des Projekts XFWeather angekündigt und hier ist nun auch schon der erste Beitrag. Ich möchte nämlich gerne hilfreiche NuGet-Packages vorstellen, welche einem plattformspezifische Implementierungen abnehmen sollen. Dies hat dann den großen Vorteil, dass man noch mehr Code über die verschiedene Plattformen hinweg teilen kann und den größten Anteil im portablen Teil des Projekts abbilden kann. In diesem Beitrag ich mich gerne mit dem Thema TextToSpeech befassen.
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.
Buch-Tipp: Xamarin.Forms Essentials von Gerald Versluis
Ich habe Gerald im Rahmen des Xamarin Expert Days in Köln kennengelernt. Hier hatte er noch über die Cognitive Services von Microsoft erzählt, aber geleichzeitig auch auf sein zweites Buch hingewiesen. Dieses Buch ist nun vor kurzem mit dem Titel Xamarin.Forms Essentials erschienen. Ich habe mir dieses Buch direkt besorgt und möchte es in diesem Beitrag nun kurz vorstellen.
Xamarin Expert Day in Köln
Vor gut einem Monat war ich auf dem Xamarin Dev Day in München und habe hier auch von dem Xamarin Expert Day in Köln erfahren, welcher nun am 06. Oktober im Microsoft Office stattgefunden hat. Bei dem Event in München handelte es sich um eine Veranstaltung, welche von Xamarin konzipiert und umgesetzt wurde. Somit ist der Inhalt bei allen Xamarin Dev Days, bis auf ein paar lokale Ausnahmen, identisch und gibt einen guten Einstieg bzw. Einblick in die Entwicklung mit Xamarin. Der Xamarin Expert Day wurde von der Community ins Leben gerufen und auch von dieser organisiert, aber natürlich von Xamarin bzw. Microsoft unterstützt.
Xamarin.Forms Projekt mit .NET Standard
Wenn man in Visual Studio ein neues Xamarin.Forms Projekt anlegt, so hat man bei den Strategien für das Teilen des Codes nur zwei Varianten zur Auswahl: Shared Project oder Portable Class Library. Ich persönlich kann hier von dem Shared Project nur abraten, da hierbei die Dateien in die plattformspezifischen Projekte gelinkt werden und man so mit Compiler-Direkten arbeiten muss, wenn sich der Code auf unterschiedlichen Plattformen anders verhalten soll. Aber auch die Portable Class Library kann ich nicht bedingungslos empfehlen, da ich hier nur ein Subset von .NET zur Verfügung habe. Meine Empfehlung wäre hier .NET Standard. Derzeit gibt es hierfür noch kein Template, aber ich zeige euch in diesem Beitrag, wie ihr mit wenig Aufwand aus der PCL eine .NET Standard Class Library machen könnt.