Android Studio 3.0 - Die ersten Previews

Während der Google I/O wurde Android Studio 3.0 mit diversen neuen Funktionen angesprochen und quasi direkt anschließend als erste Preview verteilt. Diese erhielt bereits kleinere Patches, um erste Fehler zu beheben. Android Studio 3.0 bringt Kotlin Support, mehr Java 8 Support, einen massiv verbesserten Layout Editor, einen Adaptive Icon Wizard, welcher Anpassung für Icons unter Android O ermöglicht und auch neue Möglichkeiten im Bereich Schriftarten sind nun gegeben. Mehr Support für z.B. Android Things und Instant Apps, schnellere Build-Zeiten, sowie mehr Debugging-Optionen runden das Ganze ab. Letzteres ist ein großes Thema, denn es wurden sowohl UI Debugging-Optionen, wie auch Netzwerk-Settings und diverse allgemeine Dinge erweitert und verbessert. Vor allem aber Profiler und APK Analyzer sind nun wesentlich mächtiger. Als Basis wird auf den IntelliJ 2017.1 Release gesetzt. Ich selber kann im professionellen Einsatz aktuell noch nicht das Risiko eingehen zu wechseln, privat habe ich meine ersten Gehversuche aber schon unternommen und bin sehr zufrieden. Diverse Kleinigkeiten fallen mir auch beim ganz normalen entwickeln, von ganz normalen Apps, ohne die neuen Spezialfunktionen, direkt auf. Praktisch sind vor allem die angezeigten Parameter, die man nun sieht wenn man einer Methode direkte Werte übergibt. Somit kennt man den Kontext eines true oder false auch ohne in die jeweilige Methode schauen zu müssen. Dies ist nur eine Kleinigkeit, bei all den großen Dingen, doch auch so etwas ist im Alltagsgeschäft wichtig. Alles in allem lief die neue Version bei mir stabil und schnell. Solltet ihr Android Studio 3 auch testen wollen folgt den Related Links und installiert es einfach parallel, dann solltet ihr auf der sicheren Seite sein. Wer sich für alle umfangreichen Änderungen interessiert findet ebenfalls in den Related Links mehr Informationen.
Google Play Protect - Sicherheit für euren Androiden

Bereits vor einigen Tagen wurde Google Play Protect im Netz angesprochen, ein Schutzsystem für euren Androiden, welches automatisch, vermutlich mit einem Update der Play Services, bei euch ankommen wird. Im Prinzip bündelt Google hier seine ohnehin vorhandenen Dienste und macht diese etwas sichtbarer für den Nutzer. Allerdings sind auch ein paar neue Sachen dabei, denn es wird nicht mehr nur im Store, sondern auch explizit auf dem Gerät selbst nach bösartiger Software gesucht. Zusätzlich bündelt man in Protect auch Find My Device und es gibt noch den Hinweis das via Chrome auch sicheres surfen im Web möglich ist. Alles in allem erweitert man hier Android um eine zentrale Sicherheitsplattform, die ein paar neue Sachen bringt und einige bereits vorhandene bündelt und besser sichtbar für den Nutzer macht. Ein konkretes Datum gibt es noch nicht, allzu lange wird aber wohl nicht mehr dauern. Was das ganze bringt und wie es sich entwickelt wird spannend, klar dürfte aber sein das eine grundsätzliche Besserung der Android Sicherheit zu erwarten ist. Weitere Informationen gibt es in den Related Links
Google I/O 2017 - Mein Fazit

Die Google I/O ist schon ein paar Tage her und in den diversen großen IT Blogs wurde das ganze schon ordentlich auseinander diskutiert, aber ein paar Worte dazu wollte ich dazu trotzdem noch verlieren. Dabei soll es hier um das Event im Allgemeinen gehen, speziell die Android Sachen werde ich mir innerhalb der nächsten Zeit noch gesondert ansehen und hier natürlich vor allem Android Studio Version 3. Das Event selbst schaute ich gemeinsam mit Kollegen auf der Arbeit, was durchaus sehr angenehm war. Das Ganze begann mit allgemeinen Einleitungen und dem eigentlichen Hauptthema der I/O Deep Learning / AI und was man daraus an Vorteilen in diversen Bereichen ziehen kann. Medizinische Zwecke, Google Home und verschiedenste andere Einsatzgebiete gibt es.
Google I/O 2017

Morgen Abend ist es soweit und die diesjährige Google I/O startet. Ab 19 Uhr startet die Keynote und danach geht es auf acht Kanälen live weiter. Solltet ihr keine Zeit haben ist dies kein Problem. Alle Sessions werden danach, wie schon gewohnt, via Youtube verfügbar sein. Doch vor allem die Keynote ist mir immer mal wieder ein paar Stunden Live-Streaming wert. Ich werde das ganze gemeinsam mit Kollegen auf der Arbeit schauen und bin gespannt was es dieses Mal interessantes rund um Android, Firebase, Google Home und all die weiteren spannenden Google Themen geben wird. Ich denke es wird das eine oder andere zu erwartende geben, aber vielleicht auch ein paar Überraschungen. Alle nötigen Links gibt es in den Related Links.
Project Treble - Android bekommt Vendor Interface

Android ist vielfältig und so auch die Carrier und Hersteller die die Geräte vertreiben und bauen. Damit man ein Gerät nutzen kann muss die Android-Software an die Hardware angepasst werden, durch Treiber und ähnliches. Anschließend kommen weitere Anpassungen vom konkreten Hersteller des Geräts hinzu und auch der Carrier packt oben drauf noch etwas Code. Alles in allem ist recht viel Arbeit nötig und dies ist vor allem bei Updates ein Problem. Denn sobald sich der Android Unterbau ändert müssen sehr viele Stellschrauben gedreht werden, bis alles wieder läuft. Dieser Aufwand ist teilweise hoch und zeitaufwendig, sodass dieser Punkt sicherlich bezüglich schlechter Updatepolitik eine gewisse Relevanz hat. Google will dagegen mit dem neuen Vendor Interface vorgehen, was mit Android O integriert wird. Es schafft eine Abstraktionsebene, sodass Vendor spezifischer Code bei einem Update quasi gar nicht mehr angefasst werden muss, denn die darunterliegende API kann weiterhin unverändert angesprochen werden. Im Prinzip tut man hier dasselbe was man schon für die App Entwickler tut. Denn sofern nicht umfangreiche Änderungen vorgenommen werden, kann man seine alte App bei der Veröffentlichung einer neuen Android Version auch ohne Probleme auf dieser nutzen. Kleinere Anpassungen sind natürlich weiterhin nötig und neue Features funktionieren natürlich auch nur nach Integration selbiger. Ich hoffe das Vendor Interface wird ein Erfolg und bringt etwas mehr Updates für uns alle und selbige vor allem schneller.
Eclipse Neon - Meine Einsatzbereiche - Spring Boot Projekte

Eines meiner größeren aktuellen Projekte ist eine Webplattform. Diese stellt eine API zur Verfügung und ist zusätzlich auch als Website verfügbar. Die API wird mittels einer Android und iOS App bedient. Das Ganze ist umfangreich, muss flexibel sein und eine gewisse Portion Sicherheit sollte auch an Bord sein. Dadurch das ich auf der Arbeit bereits Erfahrungen mit Spring Boot sammeln konnte, war dies auch meine erste Wahl für dieses Projekt. Ich hatte mich vorher zwar bezüglich Alternativen umgeschaut, aber Spring erschien mir am passendsten. Durch die umfangreiche Integration der Spring Tool Suite open_in_new in Eclipse ist letzteres auch meine erste Wahl für die Entwicklung von Spring Boot Projekten. IntelliJ Idea schließt zwar auf, doch diverse Kleinigkeiten, wie z.B. der automatische Neustart des Servers, Anzeige der Beans und diverse weitere Dinge, machen Eclipse hier etwas effektiver für mich. Ich schaue zwar immer wieder mal über den Tellerrand, aber die nahezu nahtlose Integration in Eclipse ist wirklich praktisch.
Android App Lifecycle übersichtlich dargestellt

Der Lifecycle einer Android App ist für Entwickler einer solchen kontinuierlich relevant. Soll heißen man muss immer wieder darauf achten wann man Aktionen durchführt. Dies gilt auch wenn man die eigentliche Logik, so wie es sein sollte, von der UI trennt. Denn die Eigenheiten des Android Systems sollten beachtet werden, sonst gibt es spätestens wenn Speichermangel herrscht und die App vom System weggeräumt wird Probleme beim erneuten Aufrufen. Allerdings gibt es nicht nur ein bis zwei Methoden die beachtet werden sollten, sondern diverse und diese unterscheiden sich auch noch für Activities und Fragments. Aus diesem Grund kann ich euch das GitHub Projekt android-lifecycle ans Herzen legen. Selbiges findet ihr in den Related Links. Es stellt bildlich und vor allem übersichtlich die Abläufe dar und erläutert die Zusammenhänge zusätzlich mit einigen wenigen Worten. Immer wieder hilfreich es als Tab offen zu haben oder vielleicht sogar in ausgedruckter Form.
Vektorgrafiken in Android Studio

Vektorgrafiken sind durchaus praktisch und vielseitig, denn sie lassen sich skalieren und anderweitig manipulieren, sodass sie bestens zu den Anforderungen von so mancher App passen. Solltet ihr nun, ähnlich wie ich, nicht für jede App neue Icons machen wollen und zusätzlich das Material Design Icon Set gut finden, dann solltet ihr unter Umständen weiterlesen. Denn vielleicht ist es noch nicht bei allen angekommen, dass man mit wenigen Klicks direkt in Android Studio besagtes Icon Set mittels eines Dialogs open_in_new durchsuchen und einbinden kann. Also keine manuelle Suche mehr auf der Material Icons Website open_in_new, mit anschließendem kopieren und anpassen. Ich selber nutze die Funktion seitdem ich sie entdeckt habe sehr umfangreich, denn ein einheitliches Icon Schema über diverse Android Apps hinweg, macht in meinem Kopf durchaus Sinn. Vor allem spart man sich mit dem integrierten Dialog aber einiges an überflüssiger Arbeit. Solltet ihr übrigens selbst Vektorgrafiken erstellt haben, so könnt ihr diese ebenfalls über den Dialog einbinden.
PAX - Android Lizenzabkommen

Das Android Ökosystem ist eines der größten und diverse Anbieter arbeiten in diesem Bereich. Diverse Patente aus extrem vielen Bereichen gehören mit zu diesem Ökosystem und auch wenn man mit dem selben System arbeitet, so heißt dies nicht das man auch im Bereich Patente zusammenarbeitet. Denn auch wenn man gemeinsam neue Software und Hardware entwickelt, so möchte jeder für sich doch seinen Umsatz und vor allem Gewinn machen. Trotzdem haben sich nun unter anderem Google, Samsung, HTC und LG zusammengeschlossen und tauschen untereinander Android relevante Patente aus. Somit soll eine schnellere und bessere Weiterentwicklung stattfinden und Patentstreits in diesem Bereich sollen der Vergangenheit angehören. Ich hoffe die Gruppe erweitert sich noch weiter, denn auch wenn Patente durchaus ihre Berechtigung haben, sie sollten sinnvoll eingesetzt werden und Weiterentwicklungen nicht blockieren.
HTML Inhalte vertikal zentrieren mit CSS

Während man eine Website baut kommt es hin und wieder vor das man Inhalte vertikal in einem Bereich zentrieren möchte. Dabei gibt es den Fall das Text zentriert werden soll oder aber Blockelemente. Für beide Fälle sind unterschiedliche Herangehensweisen nötig. Zusätzlich ist die Frage ob man die Größe der Elemente kennt und ob weitere Parameter relevant sind von Bedeutung. Je nach Fall baut man sich dann etwas auf, was mitunter eher wie ein Hack anmutet, als wie eine ordentliche Implementierung. Will man dann noch ältere Techniken unterstützen muss man noch einmal anders vorgehen. Diese ganzen Fälle, in einem übersichtlichen Formular welches am Ende Code ausspuckt, gibt es in den Related Links auf der Website howtocenterincss.com. Man wählt einfach alle zutreffenden Punkte aus und schon hat man ein Code-Snippet. Ich habe die Seite erst gestern genutzt und bin zufrieden.
