Weekly Coding Question - Gute oder schlechte Libraries

Libraries gibt es viele, sogar sehr viele. Diverse klingen extrem interessant und hilfreich. Doch wie gut sind sie, wie stabil und verlässlich funktionieren sie und sollte man sie in produktiven Apps verwenden? Diese Frage stelle ich mir aktuell immer mal wieder, vor allem da ich mich zur Zeit aktiv bezüglich neuen Android Libraries umschaue. Teilweise für konkrete Anwendungsfälle und teilweise einfach weil sie interessant klingen. Mir fällt es dabei, abseits von den großen und bekannten Libraries, allerdings sehr schwer zu entscheiden was gut ist und was nicht. Natürlich kann ich selber in den Quellcode schauen, denn ich bin meistens auf GitHub unterwegs. Dafür fehlt allerdings meistens die Zeit und manchmal auch das Wissen. Was also tun wenn man über eine gute Idee stolpert, aber nicht weiß wie gut sie implementiert und durchdacht ist? Ich selbst teste dann meistens etwas und schaue grundlegend in den Code, doch das kostet besagte Zeit. Habt ihr bessere Ansätze oder Ideen bezüglich diesem Thema? Ich würde mich über Kommentare freuen.
Android Studio 2.1 - Stable erschienen

Bereits vor ein paar Tagen erschien die stabile Version von Android Studio 2.1. Zuletzt berichtete ich über den Release Candidate zu dieser Version und im Vergleich zu diesem hat sich nicht allzu viel geändert. Vor allem wichtig ist diese Version für Early Adopter, die sich bereits jetzt mit Android N auseinandersetzen wollen. Denn dies ist das Hauptaugenmerk des Release. Nebenbei gab es natürlich noch kleinere Bugfixes und Verbesserungen im Bezug auf die noch neue Instant Run Technik. Ich persönlich nutze diese Version intensiv auf der Arbeit und auch für meine privaten Apps. Dies tue ich seit dem Release und konnte bis dato keine Probleme feststellen. Aus meiner Perspektive ist ein Update also empfehlenswert. Solltet ihr von Android Studio 1.x kommen, wäre eine parallele Installation vermutlich eine gute Idee.
FileSize - Update Fortschritt

FileSize ist eines meiner ersten richtigen Android Projekt und wird aktuell weiterhin gepflegt. Ich arbeite zur Zeit an einer generalüberholten Version. Diese ändert extrem viele Dinge im Kern der App und macht sie dadurch stabiler und schneller. Außerdem setzte ich auf neuere Android GUI Komponenten (Stichwort: RecyclerView anstatt ListView). Dadurch wirkt die UI wesentlich klarer strukturiert und verschiedene Animationen verdeutlichen den Ablauf der App. Diverse Toasts werden durch Snackbars ersetzt und diverse Fehler werden behoben. Mit diesem Teil des Updates bin ich nun so gut wie fertig. Was bedeutet das ich mich den wirklichen Features für den Nutzer zuwenden kann. Dabei plane ich die Suche nach bestimmten Dateitypen zu implementieren und eine Mehrfachauswahl für Dateien soll eingebunden werden. Ob dies alle Features sind oder ob ich selbige noch abändere wird sich zeigen. Fakt ist das ich das Update relativ bald veröffentlichen will und dementsprechend irgendwann einen Feature Freeze brauche und einen Test beginnen kann. Sofern alles nach Plan läuft wird es das Update Ende Mai geben, dann mit allen genannten Funktionen und vielleicht noch etwas mehr. Weitere Informationen zu diesem kleinen Projekt von mir gibt es in den Related Links.
Android Studio 2.1 - Release Candidate

Im Android Studio Bereich gehe ich aktuell gemäß der Neu ist immer besser Regel vor. Soll heißen ich nutze die jeweils aktuelle Preview Version. Vor einiger Zeit benötigte ich dies für verschiedene neue und für mich wichtige Funktionen. Seitdem bin ich einfach dabei geblieben, weil das ganze eigentlich recht stabil und bis jetzt ohne große Probleme läuft. Der neuste Release ist der Release Candidate für die Version 2.1 von Android Studio. Dieser deckt sich quasi komplett mit der Version 2.0, bietet aber die Möglichkeit mit der Android N Preview genutzt zu werden. Neben einigen behobenen Fehlern aus den letzten Alpha und Beta Veröffentlichungen der Version 2.1, gibt es im aktuellen Release noch einige Instant Run Performance Verbesserungen. Ansonsten hat sich nicht viel getan und ich persönlich konnte auch keine Probleme feststellen
Android Studio 2.0 erschienen

Nach diversen Alphas und Betas, ist vor wenigen Tagen die finale Version 2.0 von Android Studio erschienen. Diese enthält diverse Neuerungen. Eine der wichtigsten dürfte Instant Run sein. Dieses Feature bringt euch, wie schon öfters angesprochen, diverse Geschwindigkeitsvorteile beim bauen eurer Apps. Das dürfte sehr viele Nutzer freuen, denn die Wartezeit bis die App auf euer Gerät deployed werden kann ist immer wieder extrem störend. Ein weiteres extrem gutes Feature ist der komplett neue Emulator. Dieser ist schneller und zwar wesentlich. Ich würde fast schon sagen man kann ihn nun fast wie ein normales Gerät nutzen, wobei dies natürlich nur mit Einschränkungen gilt. Denn neben der reinen Geschwindigkeit, gibt es einfach Dinge für die man ein richtiges Smartphone braucht. Weiterhin gibt es nun die Cloud Test Lab Integration und mittels der App Indexing Code Generation soll euch Arbeit erspart werden, sofern ihr vorhabt eure App in die globale Suche eures Smartphones zu integrieren. Solltet ihr im Bereich Android-Spiele unterwegs sein, dürfte euch der GPU Debugger helfen, auch wenn er aktuell noch als Preview vorliegt. Abschließend bringt diese Version den Sprung auf IntelliJ Version 15.
CyberGhost VPN - Review + Gewinnspiel

In den letzten Wochen / Monaten habe ich mir CyberGhost VPN angesehen. Einen VPN Dienst, welcher euch erlaubt unter einer anonymisierten IP zu surfen. Diese kann in Deutschland sein, aber auch in bis zu 29 anderen Ländern, verteilt auf mehr als 600 Server. Dabei wird im Software-Bereich im Kern auf die OpenSource Software OpenVPN gesetzt, welche weit verbreitet ist und an vielen Stellen genutzt wird. Die CyberGhost Software selbst läuft auf quasi allen gängigen Plattformen (Windows, Max, Linux, iOS und Android) und ich habe mir die Windows und Android Version genauer angesehen. Dabei habe ich nicht die eingeschränkte kostenlose Version genutzt, sondern eine gesponsorte Premium Plus Lizenz. Diese bietet den Zugriff von allen genannten Plattformen und das mit bis zu 5 Geräten, sie erlaubt mir außerdem die volle Geschwindigkeit zu nutzen, sowie eine freie Serverwahl und Werbefreiheit. An dieser Stelle möchte ich mich bei CyberGhost für die Test-Keys und die Möglichkeit ein Gewinnspiel zu veranstalten bedanken. Solltet ihr am besagten Gewinnspiel interessiert sein, schaut einfach in den unteren Teil der News.
Android-Betaprogramm für diverse Nexus Geräte

Vor ca. zwei Wochen überraschte uns Google mit einer Preview auf die nächste Android Version. Abgesehen davon wurde aber auch endlich eine einfache und schnelle Möglichkeit geschaffen, um mit Nexus Geräten eben diese Vorabversionen bzw. Beta-Versionen testen zu können. Dabei gibt es leider direkt vorweg eine Einschränkung, denn nicht alle Nexus Geräte sind dabei. Unterstützt werden Nexus 6, Nexus 9, Nexus 5X, Nexus 6P, Nexus Player und das Pixel C. Ob dies bedeutet, dass das Nexus 5 kein Android N erhalten wird, ich weiß es nicht und habe aktuell auch keine Motivation hier zu spekulieren. Das übernehmen die anderen “großen” Seiten schon zu genüge, was ich immer wieder etwas albern finde. Doch darum soll es hier nicht gehen. Es geht ums Beta Programm, welches euch auch noch Vorschauupdates bringen wird, nachdem die finale Version N erschienen ist. Ihr könnt außerdem jederzeit zurück zu einer normalen Version wechseln, allerdings verliert ihr dabei alle lokalen Daten, seid hier also sehr vorsichtig. Unabhängig davon ist die Preview, wie der Name eigentlich schon sagt, nicht für Produktivgeräte geeignet, da sie Fehler enthalten kann. Alle weiteren Informationen zu den OTA Beta Updates der neuen Android Version findet ihr in den Related Links.
Android Studio 2.1 - Preview 1

Meine letzte News zum Thema Android Studio hatte den Release von Android Studio 2.0 - Beta 2 zum Thema und seitdem ist mal wieder einiges geschehen. In der Beta 3 gab es vor allem Bugfixes und wenig neues. Beta 4 änderte die Art und Weise wie man die Instant Run Einstellungen festlegt (von Projektebene zu einer globalen Einstellung) und diverse Verbesserungen im Bereich Instant Run wurden vorgenommen. Auch die Betas 5 und 6 hatten als Hauptthema Instant Run und die Verbesserung dieser Funktion, wobei letztere Beta auch einige konkrete Verbesserungen bietet. So sind nun multiple Prozesse wieder nutzbar, wenn auch ohne die Instant Run Optimierungen und Probleme mit dem Ausführen der App via IDE, falls die App im Hintergrund war, wurden aus der Welt geschafft. Der aktuelle Release 2.1 - Preview 1 ist zwar laut laut den Entwicklern ein Minor Release, bringt aber Android N Support, unterstützt den neuen Jack Compiler und bietet auch die bereits erwähnten neuen Java 8 Funktionen. Auch der Emulator wird mit diesem Release weiter optimiert und kann mit der Android N Preview genutzt werden. Einige Einschränkungen gibt es leider, denn Instant Run kann leider noch nicht mit Jack genutzt werden, ebenso wie diverse anderen Tools die auf .class Dateien arbeiten. Außerdem sind einige Debugging Funktion in Verbindung mit Android N aktuell nicht verfügbar.
Google überrascht mit Android N Preview Release

Google hat die Android Nutzer mal wieder überrascht und zwar mit nichts geringerem, als einem ersten Android N Preview Release. Dieser zeigt die geplanten Funktionen im aktiven Einsatz. Endnutzer dürfen sich dann über Multi-Window Support freuen, direkte Antworten über Notifications werden möglich sein (was z.B. für Messenger sehr praktisch ist) und Notifications können nun gruppiert werden. Zusätzlich gibt es diverse Optimierungen im Hintergrund, was sowohl der Performance, wie vor allem aber auch dem Traffic-Verbrauch zugutekommen soll. Als Entwickler dürfte einen vor allem eine erste Portion Java 8 Support freuen. Zusätzlich gibt es nun das Android Beta Program open_in_new, wodurch man wesentlich leichter und OTA an die Preview Builds und Updates von diesen kommt. Vor allem aus Entwicklersicht gibt es noch wesentlich mehr Dinge, welche extrem interessant werden dürften. Was im Endeffekt natürlich auch dem Nutzer etwas bringen dürfte, aber eben nicht so offensichtlich sein wird, wie z.B. der Multi-Window Support. Ich bin gespannt und freue mich darauf mit der neuen Version zu arbeiten und natürlich bin ich auch gespannt wofür N stehen wird.
Mobile Developer's Guide To The Galaxy Version 16 erschienen

Der Mobile Developer’s Guide To The Galaxy ist in Version 16 erschienen. Dieses kleine Buch bringt euch einen breiten Einblick in die Welt der Entwicklung, des Entwurfs und des Designs von Apps und mobilen Anwendungen. Im Prinzip also alles was auf Smartphones und Konsorten unterwegs ist. Dabei eignet es sich hervorragend, um einfach mal über den Tellerrand zu schauen und sich zu informieren. Neben dem was es auf der eigenen Plattform so neues gibt, lernt man auch viele allgemeine Dinge und erfährt was bei der Konkurrenz so geht. Vielleicht kommt der eine oder andere neue Blickwinkel dazu und zu lernen gibt es auf jeden Fall einiges. Diverse Autoren haben gemeinsam an diesem Werk geschrieben und machen es so zu einem sehr vielseitigen Buch. Ich kannte es bereits aus meiner Studienzeit und finde es somit umso lustiger, dass ich nun in der Firma als Entwickler gelandet bin, welche diesen Guide erstellt und veröffentlicht. Falls ihr Interesse habt freut euch, der Guide ist kostenlos über diverse Wege verfügbar, wobei der einfachste wohl der PDF Download direkt von der unten verlinkten Homepage ist. Ich selber habe mir natürlich ein analoges und gedrucktes Exemplar geholt.