IntelliJ Idea - Meine Einsatzbereiche - Android Entwicklung

Eigentlich ist dieser Beitrag nicht zu 100 Prozent korrekt, denn Android Studio ist nicht direkt IntelliJ Idea, aber Idea bildet die Basis für selbiges. Aus diesem Grund gibt es nun den abschließenden Beitrag in dieser Sammlung. Denn Android Studio ist die IDE meiner Wahl, um Android Apps zu entwickeln. Eigentlich hat man in diesem Bereich auch gar keine wirkliche Wahl mehr, da der Support für das Eclipse Plugin bereits eingestellt wurde. Allerdings ist dies meiner Meinung nach auch keiner großer Verlust, denn Android Studio läuft definitiv performanter als Eclipse zuvor. Generell ist die Entwicklung etwas flüssiger und die gewünschten Dinge gehen schneller von der Hand. Falls ihr immer noch mit der Legacy Eclipse Lösung unterwegs seid, schaut euch Android Studio auf jeden Fall genauer an. Ich kann nur sagen es lohnt sich, auch wenn eine Umgewöhnung natürlich immer störend ist im ersten Moment.
IntelliJ Idea - Meine Einsatzbereiche - Spiele Entwicklung

Bis jetzt habe ich im Rahmen dieser Sammlung über meine Eclipse Projekte gesprochen, doch nun schwenke ich zu meinen IntelliJ Idea Einsatzbereichen. Denn selbiges gefällt mir, aufgrund meiner Nähe zu Android Studio, extrem gut. Wie bereits erwähnt, plante ich eigentlich alles auf dieser Basis aufzusetzen, doch leider bietet IntelliJ Idea nicht die Vielseitigkeit eines Eclipse. Dies ist der Grund warum ich weiterhin beide IDEs einsetze. Doch nun zum konkreten Thema, im Java Bereich entwickle ich von Zeit zu Zeit kleinere Spiele für z.B den Ludum Dare. Diese sind meist schlicht und basieren auf Java + Libraries wie z.B. LibGDX open_in_new und Box2d open_in_new. Gebaut werden die Projekte dann z.B. mit Gradle open_in_new. Bis vor einigen Monaten nutzte ich hierfür Eclipse, doch der Wechsel zu IntelliJ Idea funktionierte gut. Vor allem die gute Gradle Integration war hilfreich und natürlich die allgemein bessere Performance. Aktuell bin ich kurz davor eine kleine Library für das besagte Setup fertigzustellen, welche es ermöglicht Maps aus dem Tiled Map Editor open_in_new mit LibGDX und Box2d zu nutzen. Dieses Projekt setze ich ebenfalls in IntelliJ Idea um und teste es auch dort.
Droidcon 2017

Die Droidcon steht vor der Tür (03.-05. September) und ich bin leider nicht dabei. Aus persönlichen Gründen bin ich zeitlich sehr eingespannt und habe leider keinen Platz für einen Droidcon Besuch. Lust hätte ich allemal, vor allem weil die Talks durchaus interessant klingen. Einiges zu Kotlin ist natürlich dabei, doch auch Themen wie Android Instant Apps, Android Things und aktuelle Tools und Libraries werden abgedeckt. Themen wie Sicherheit und optimierte UI sind ebenfalls mit jeweils mehreren Talks vertreten. Für mich persönlich sehr interessant wäre die WebView Session, da ich mit dieser durchaus spezielle Erfahrungen machen durfte. Man könnte es eine Hass-Liebe nennen. Viele relativ bekannte Gesichter der Android Szene sind auf der Droidcon zu finden, doch auch viele neue sind vor Ort. Sehr gut finde ich, dass dieses Mal die Talks mit einem Skill-Level gekennzeichnet sind, selbiges hatte ich letztes Jahr nicht entdecken können. Denn je nach eigenem Erfahrungslevel in Bezug auf Android, können Talks natürlich mehr oder weniger Früchte tragen. Die Keynote Themen lauten dieses Jahr “Designing for Trust: User Experience + Privacy” (Ame Elliott) und “How to be an Android Expert” (Chiu-Ki Chan). Falls ihr, ebenso wie meine Wenigkeit, ebenfalls keine Zeit für die Droidcon habt, keine Sorge die meisten Talks werden vermutlich wieder online verfügbar sein. Interessiert euch die Droidcon oder seid ihr sogar vor Ort?
Kotlin für Android - Nutzen oder nicht

Eine Plattform entwickelt sich über die Jahre weiter, ebenso ist es auch mit Android. Doch die Entwicklung eine komplett neue Programmiersprache zu unterstützen, ist nicht gerade alltäglich. Selbiges ist nun aber der Fall mit Kotlin. Kotlin wird von JetBrains entwickelt, also den Jungs und Mädels die auch hinter IntelliJ und Android Studio stehen. Kotlin hat eine andere Syntax-Struktur und soll dadurch die Anzahl an benötigten Codezeilen reduzieren. Zusätzlich werden einem quasi alle Null-Checks abgenommen und es soll eine volle Kompatibilität zu bestehende Java Bibliotheken geben. Obendrauf unterstützen bereits diverse Tools, wie natürlich IntelliJ und Android Studio, aber auch Eclipse mit einem Plugin die neue Sprache. Neben den ganzen Vorteilen hat man natürlich eine neue Sprache die gelernt werden muss. Auch wenn große Ähnlichkeiten zu Java bestehen, so ist die Syntax anders, Konzepte wurde modernisiert und auch sonst muss man öfters umdenken. Aktuell stehe ich sowohl privat, wie auch im beruflichen Alltag, vor der Frage ob ich mir Kotlin näher anschauen soll. Lust hätte ich auf jeden Fall, denn neue Dinge interessieren mich immer. Ein gewisses Maß an Erfahrung und dementsprechend auch Professionalität zu verlieren, da man nicht mehr in seinem gewohnten Umfeld entwickelt, hält mich aktuell aber noch davon ab. Zusätzlich hat man gerade im beruflichen Umfeld das Problem, dass wenn ein Projekt mit Kotlin gestartet wird, alle im Team diese Sprache zumindest verstehen müssen. Mir ist bewusst das man Java und Kotlin mischen kann und auch das es Konvertierungsmöglichkeiten gibt. Ersteres sorgt meiner Meinung nach aber für ordentlich unübersichtlichen Code und letzteres hat einfach noch nie gut funktioniert. Automatische Code-Konvertierung von Menschen-lesbaren-Code zurück zu eben solchem, in einer anderen Sprache, finde ich gruselig und aktuell vertraue ich diesen Funktionen noch nicht. Zusätzlich habe ich bei hochkomplexen Bibliotheken, wie z.B. RxJava oder Dagger bedenken, ob wirklich alles mit Kotlin funktioniert wie gehofft. Da ich all dies nur erfahren werde wenn ich es selber teste, werde ich dies tun, aber ich denke ich warte noch ein wenig ab bis ich wirklich aktiv werde. Vielleicht habe ich ja bald ein kleines neues Android Projekt, welches ich entsprechend von Grund auf hochziehen kann. Wie sieht es bei euch aus, habt ihr schon einmal Kotlin genutzt oder habt ihr es vor?
Android Oreo

Für die einen irrelevant, für die anderen ein Ereignis, die Verkündung des Namens der neuen Android Version. Android O wird Oreo heißen, wie seit wenigen Minuten bekannt ist. Ich selber mache zwar keinen Hype darum, bin aber durchaus interessiert. Denn wenn man tagtäglich mit einem System arbeitet, ist es durchaus relevant wie die aktuelle Version im Volksmund bezeichnet wird. Ich selber bin mit der Namenswahl zufrieden, hatte aber auch keinerlei Anforderungen. Ich bin gespannt welche Geräte die neue Version zeitnah erhalten werden und mit Android O werde wohl auch ich mal wieder ein neues Phone kaufen. Auch wenn mich der Preis nicht gerade begeistert, überlege ich ein Pixel Device open_in_new oder z.B. das Essential Phone open_in_new zu kaufen. Denn mein Nexus 5 von 2013 ist so langsam wirklich etwas in die Jahre gekommen. Wie sieht es bei euch aus, was sagt ihr zum Namen? Falls euch übrigens die neuen Features von Android 8 interessieren, folgt einfach den Related Links.
Android App Entwicklung - Der Fluch und Segen der System-Anpassbarkeit

Ich mag Android und seine Offenheit sehr, doch bekanntlich gibt es durch Fragmentierung und andere Dinge auch Probleme im Ökosystem. So kommen Updates nicht immer beim Endnutzer an und versiertere Nutzer freuen sich deswegen über das Vorhandensein der einen oder anderen Custom Rom. Dies finde ich gut und nutze es für ältere Geräte auch selber, nur leider gibt es auch Probleme in diesem Bereich. So hat man hier manchmal nicht die Qualität eines puren Androids, wobei dies natürlich hochgradig von den Entwicklern abhängig ist und sehr viele Custom Rom extrem gut sind. Das Hauptproblem bei Custom Roms sehe ich in getroffen Entscheidungen bezüglich der Abweichung bei der Unterstützung von System-Funktionen, der selbständigen Entfernung von veralteten Methoden die im Stock Android noch vorhanden sind und generell in Abweichung vom eigentlichen Stock Android, die Entwickler zu spezifischen Anpassungen zwingen.
Firefox Focus - Mozillas Privatsphäre-Browser

Firefox Focus bzw. im deutschen Firefox Klar ist Mozillas neuer minimalistischer Browser für Android. Dieser erlaubt das schnelle surfen und will dabei eure Privatsphäre schützen. Es werden automatisch Tracking Seiten und ähnliches blockiert, Screenshots sind deaktiviert und auch das Entfernen besuchter Seiten ist mit einem Klick erledigt. Im Prinzip gibt es hier einen schnellen Browser mit abgespeckten Funktionen, z.B. gibt es keine Lesezeichen und Tabs, welcher aber ein hohes Maß an Sicherheit bringen soll, indem man quasi permanent im Inkognito-Modus unterwegs ist. Meiner Meinung nach kein Standardbrowser, aber definitiv für den einen oder anderen praktisch. Mal sehen ob auch ich persönlich dafür Verwendung finden werde. Wie sieht es bei euch aus, werdet ihr Firefox Klar nutzen? Interessierte finden wie gewohnt alles weitere in den Related Links und im unteren Teil der News gibt es noch ein kleines Infovideo.
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.

