Nordic.js 2017

Comment

Nordic.js 2017

Am 07. und 08. September pilgerten über 1.800 Softwareentwickler nach Stockholm zur vierten Nordic.js. Diese JavaScript-Konferenz glänzte bereits in der Vergangenheit mit hochwertigen Vorträgen und außergewöhnlichen Rahmenveranstaltungen. In diesem Jahr lag der Fokus auf Frameworks, Bibliotheken und Schnittstellen sowie unserer ethischen Verantwortung als Teil der Technologiebranche.

"Des hamma scho immer so gmacht", klingt auch hier in Bayern seltsam. Die Softwareentwicklung ist einem steten Wandel unterzogen - im Kleinen und im Großen. Anstatt für jedes Problem eine eigene Lösung zu zaubern, gilt es mittlerweile in vielen Fällen, die am besten geeignete Lösung zu finden. In der Welt von JavaScript kommt das oftmals einer Suche nach der Nadel im Heuhaufen gleich. Sacha Grief verschaffte uns daher in seiner Keynote "The State of JavaScript" gekonnt und auf unterhaltsame Art und Weise einen Überblick über aktuelle Trends und interessante Drittanbieterlösungen.

Laney Kuenzel Zamore und Adam Kramer von Facebook gewährten Einblicke in die Entstehungsgeschichte der Schnittstellenbeschreibungssprache GraphQL und ihrem JSON-Schema. Feross Aboukhadijeh demonstrierte Webanwendungen, deren Inhalte mithilfe der WebRTC API dezentral gehostet werden. Ben Schwarz von Calibre optimierte Ladezeiten und legte Webentwicklern ein Motorola Moto G samt 3G ans Herz, um ihre Webseiten in einer realitätsnahen Umgebung zu testen. Die Auszeichnung für die meisten Wörter pro Minute verdiente sich übrigens Mark Nadal, welcher P2P-Mesh-Datenbanken in einem irrsinnigen Tempo erklärte und live in JavaScript demonstrierte - sehr beeindruckend! Das Ergebnis werden wir wohl in GunDB sehen.

Karolina Szczur vermittelte in ihrem Vortrag "Building Inclusive Communities" elementare Werte. Die Technologiebranche ist ein großer Pool an Menschen verschiedenster Herkünfte und Wertvorstellungen. Um diese Branche gemeinsam voranzubringen, müssen wir uns unserer Privilegien bewusst werden und eigene Vorurteile ablegen. Beim "Dinner with strangers" verfolgt man ein ähnliches Ziel, als man sich zum Abendessen in der Stockholmer Innenstadt verabrete. Der Clou an der Sache: Anstatt sich mit den immer gleichen Bekanntschaften zu treffen, wurden die Gruppen wild zusammengewürfelt, wodurch Leute aus Deutschland, Polen, Portugal, Schweden, Puerto Rico und der Schweiz am gleichen Tisch saßen und sich über Sprachen, Kulturen und Technologie unterhielten. Sehr spaßig!

Pingpong im Schwarzlicht zu Lasershow und Technomusik

Pingpong im Schwarzlicht zu Lasershow und Technomusik

Code in the dark: Reverse Engineering einer Website in 15 Minuten ohne Preview

Code in the dark: Reverse Engineering einer Website in 15 Minuten ohne Preview

Comment

iPhone X ... und sonst so?

Comment

iPhone X ... und sonst so?

Gestern lud Apple zur alljährlichen Keynote in sein neu eröffnetes Steve Jobs Theater. Es wurden eine neue Apple Watch, Apple TV sowie drei neue iPhones vorgestellt (wir prophezeiten). Wir möchten uns an dieser Stelle einigen interessanten Fakten widmen, die in der Informationsflut der letzten Stunden untergegangen sind.

Die beinahe rahmenlose Vorderseite ist sicherlich ein Highlight des neuen Spitzenmodells namens iPhone X. Damit Kameras, Lautsprecher, Mikrofon und Sensoren Platz an der Oberkante des Gerätes finden, hat Apple sich, ähnlich wie Essential, zu einer Aussparung an der Oberkante des Gerätes entschieden. Diese fällt beim iPhone X so markant aus, dass man den Mobilfunkanbieter aus der Statusleiste verbannen musste. Erst ein Swipe von der linken Hälfte der Statusbar offenbart, in welchem Netz ihr euch befindet (ja, die Statusleiste wird positionssensitiv und nein, wir vermissen den Mobilfunkanbieter auch nicht).

3D Touch wurde 2015 mit dem iPhone 6s großspurig angekündigt und fristet seitdem ein Nischendasein im Funktionskatalog der Smartphones. Nichtsdestotrotz wird dieses spärlich akzeptierte und stiefmütterlich vermarktete Feature auch dieses Jahr noch unterstützt. Laut der chinesischen Economic Daily News ist 3D Touch hauptverantwortlich für den erhöhten Preis des iPhone X. Im Gegensatz zum iPhone 8 (Plus) wird beim X ein OLED-Display verbaut, das ein Novum für Apples Produktreihe darstellt und von Samsung kommt. Der verzögerte Marktstart im November erklärt sich mit Produktionsengpässen.

ARKit läutet Apples Einstieg in die Augmented Reality ein. Mit diesem Werkzeug kann die beobachtete reale Welt um virtuelle Objekte und digitale Informationen ergänzt werden - und zwar abwärtskompatibel. ARKit wird von allen iDevices unterstützt, die einen A9 Chip oder neuer besitzen. Konkret bedeutet dies: iPhone 6s, 6s Plus, SE, 7, 7 Plus, 8, 8 Plus und X sowie das iPad Pro und das iPad 2017.

Unser persönliches Highlight sind aber natürlich die Animojis!

Hallo, mein Name ist iPhone X, und ich funktioniere auch unter der Dusche

Comment

Adler Mannheim Fan App: Update zur Eröffnung der WHISTLE Sportsbar

Comment

Adler Mannheim Fan App: Update zur Eröffnung der WHISTLE Sportsbar

Die Adler Mannheim feiern die Eröffnung der WHISTLE Sportsbar, in der es neben frischem Craft-Bier und leckerem Steak auch alle Spiele der Eishockeymannschaft zu sehen gibt. Passend dazu werden bevorstehende Übertragungen ab sofort im Liveticker der Adler Mannheim Fan App hervorgehoben, von wo aus sich auch Tischreservierungen vornehmen lassen. Zusätzlich wurde die Oberfläche des Tippspiels aufgeräumt und statt der drei besten Teilnehmer werden nun die Top 10 angezeigt. Kleinere Fehlerbehebungen verstehen sich von selbst.

Das Update entstand in Zusammenarbeit mit der Spleen Advertising GmbH aus München, die sich u.a. um die Onlineauftritte von Fußballprofi Thomas Müller sowie TSG 1899 Hoffenheim kümmern. Seit dem Start im September 2015 wird die Adler Mannheim Fan App kontinuierlich weiterentwickelt und in regelmäßigen Abständen mit neuen Features und Verbesserungen versorgt.
Ihr erhaltet Version 3.0.0 ab sofort im App Store für iOS und im Play Store für Android.

 
 

Comment

Android Oreo oder: Wie ich lernte, die Notification Channels zu lieben

Comment

Android Oreo oder: Wie ich lernte, die Notification Channels zu lieben

Download.png

Dieser Artikel greift viele Inhalte eines im März veröffentlichten Blogposts auf, die nichts an ihrer Gültigkeit verloren haben. 
Dem geneigten Leser fällt zusätzlich unsere zielsichere Prognose zur namensgebenden Süßigkeit auf.

Es scheint, als würde Android N schneller in Vergessenheit geraten als man "we're nut tellin' you" sagen kann. Während die Distributionsrate von Nougat noch immer unter 15% liegt, rollt Google seit vergangener Woche bereits den Nachfolger aus. Wie gewohnt folgen die hauseigenen Geräte der Pixel- und Nexus-Linie zuerst, doch auch Samsung, LG, HTC und die meisten anderen Hersteller versprechen baldige Updates für ihre Flagschiffe. Besitzer älterer Smartphones können wie gewohnt den Weg über Custom ROMs gehen, bei denen LineageOS (ehemals Cyanogenmod) mit seinem gewaltigen Supportkatalog zu überzeugen weiß.

Eine der interessantesten Neuerungen von Android Oreo ist etwas untergegangen und wird selbst auf den offiziellen Seiten nur am Rande erwähnt:
Project Treble ist ein weiterer Versuch, die starke Fragmentierung von Android einzudämmen. Google führt hierzu eine Schicht zwischen Android Framework und Herstellerimplementierung ein, die dazu führen soll, dass neue Versionen des Betriebssystems schneller von den Geräteherstellern adaptiert werden können. Dies verkürzt in der Theorie die Zeit, die ein Endkunde auf ein neues Update warten muss, und schafft durch die damit verbundenen Ersparnisse das Potential für einen längeren Support der Gerätehersteller.

 
treble_before.png
 
treble_after.png
 

Notification Channels erlauben die Kategorisierung von Benachrichtigungen und damit eine feingranulare Justierung von Ton, Vibration, LED und weiteren Signalen. Dies sollte das Leben derer erleichtern, deren Partner Fans von mobilen Aufbauspielen ist. Spieleentwickler tendieren nämlich dazu, keinerlei Einstellungen einzubauen, weswegen das Gerät im Störfall komplett stummgeschaltet werden muss.
Picture in Picture (PIP) ist eine spezielle Form des aus Android N bekannten Multi Window. Diese erlaubt das Übereinanderlegen zweier Apps, z. B. um ein Overlay mit Videoplayback darzustellen, wie man es bereits von Android TV oder aus der YouTube-App kennt.

Entwickler freuen sich über Schriftarten als vollwertige Ressourcen, die - analog zu String, Drawable oder Style - in XML Layouts verwendet und zur Laufzeit heruntergeladen werden können. Das neue Autofill Framework richtet sich an Passwortmanager, welche aktuell noch als Bedienungshilfe im Betriebssystem laufen. Adaptive Icons gehen einen Schritt weiter in Richtung Responsive Design und erlauben es, Icons abhängig vom Zielgerät zu maskieren.
Mit den Backgrund limits führt man fort, was unter Android 6 mit Doze und App Standby begonnen wurde: Akkulaufzeit erhöhen und Performance verbessern. Hierfür müssen Apps angepasst werden, die Background Services nutzen und deren Target auf API 26 oder höher gesetzt ist.

Comment

Scan it my way: BURGER KING-Coupons mit Barcodes

Comment

Scan it my way: BURGER KING-Coupons mit Barcodes

BURGER KING unterstützt nun das Einlösen von Coupons mithilfe von Barcodes in vielen deutschen Filialen. Vorbei sind die Zeiten, in denen Nummern abgelesen und umständlich ins Kassensystem eingetippt werden müssen - stattdessen scannt das Personal den Barcode in Sekundenschnelle. Das spart Zeit und hungrige Minuten bis zur leckeren Mahlzeit.

Wir entscheiden uns natürlich für unseren persönlichen Liebling, den Chili Cheese Burger. :)

Dieses Feature entstand in Zusammenarbeit mit der Kommunikationsagentur setup und wurde bei uns im Haus umgesetzt. Das Update ist seit heute für iOS und Android erhältlich.

 
 

Comment

Cardreader für iOS 10

Comment

Cardreader für iOS 10

Der Cardreader verwandelt das iPhone in ei­nen mo­bi­len und zu­ver­läs­sigen Visiten­karten-Scan­ner. Im Geschäfts­all­tag, auf Kon­fe­ren­zen oder Mes­sen be­ein­druckt die App durch kom­for­tab­les Ein­lesen und An­legen von Geschäfts­kon­tak­ten in das iOS-Adress­buch. So sind alle Kontakt­in­for­ma­tio­nen von Ge­schäfts­part­nern und Kollegen nur eine Fingerbewegung weit entfernt.

Die App entstand in Zusammenarbeit mit Andor Greißl und wurde erstmals im Jahr 2009 veröffentlicht. Seitdem erfreut sie sich großer Beliebtheit und fand Erwähnung in Portalen wie 9to5mac.comheise.de oder cio.de

Mit Version 3.0.0 wird der Cardreader 64-bit-fähig und für iOS 10 angepasst. Zusätzliche Fehlerbehebungen runden das Gesamtpaket ab. Das Update ist ab sofort im App Store erhältlich.

 
 

Comment

StarSnoopy Merchandise

Comment

StarSnoopy Merchandise

Das Design unserer neuesten App StarSnoopy gefällt uns sehr - so sehr sogar, dass das Maskottchen seinen Weg aus der App in unsere Büros gefunden hat (Bild rechts). Und weil wir Informatiker mit unseren Nerdhumor-Shirts nebenberuflich oft die Funktion einer wandelnden Litfaßsäule erfüllen, war Merchandising der nächste logische Schritt.

Der StarSnoopy-Shop öffnet nun seine Pforten und bietet eine große Auswahl an Merchandise rund um Robin, das süße Rotkehlchen aus der App. Die T-Shirts, Hoodies, Beanies und Gebrauchsgegenstände lassen sich sogar selbst gestalten in Form, Farbe und Design. So erhält jeder seinen einzigartigen StarSnoopy-Fanartikel.

Den Merchandise Shop findet ihr auf starsnoopy.de

Mich gibt's leider (noch) nicht zu kaufen

Comment

Apple 2017: iOS 11, iPhone 8, ARKit

Comment

Apple 2017: iOS 11, iPhone 8, ARKit

2017 gehört den randlosen Smartphones. Xiaomi legte vor einem Jahr mit dem Mi Mix und einem Bildschirm-zu-Gehäuse-Verhältnis von 84% vor. Die südkoreanische Konkurrenz folgte im April mit dem Samsung Galaxy S8 und dem LG G6. Laut jüngsten Gerüchten und einer Grafik aus der aktuellen Homepod Firmware wird das iPhone 8 diesem Trend folgen.
Offen bleibt die Frage, wie Apple den fehlenden Platz für den Home-Button kompensiert. Gerüchte über einen reservierten Onscreen-Bereich werden immer lauter und erinnern uns an den Weg, den Google damals mit der Navigation Bar ging. Dann ist es nur noch ein kleiner Schritt bis zum klassischen Back-Button, wie er damals sogar vom Meister persönlich vorgeschlagen wurde - und wir erinnern uns schmunzelnd an den ClearTouch Screen Protector.

Das iPad Pro wurde 2015 als Tablet für Profis vorgestellt und erhält mit dem bald erscheinenden iOS 11 zahlreiche Neuerungen, die dieses Image festigen sollen. Hierfür gewährt die zentrale Datenablage eine feingranulare Unterscheidung aller Endpunkte, damit der Nutzer weiß, wo und bei welchem Anbieter seine Daten liegen. Um das riesige Display des iPad Pro effektiv auszunutzen, hob man die Begrenzung der Apps im Dock auf und verbesserte den Mehrfensterbetrieb. Es können nun bis zu vier Apps gleichzeitig dank Floating Window und Picture-in-Picture angezeigt und Inhalte via Drag and Drop zwischen Apps bewegt werden.
Zusätzlich wird das Kontrollzentrum mit dem Sperrbildschirm auf einer einzigen Seite zusammengelegt und um Ordner, natives Screen Recording und 3D Touch ergänzt.

Mit ARKit erhält die Augmented Reality Einzug auf iOS und damit in gut ein Drittel des Smartphonemarktes. Wo es Googles Project Tango aufgrund der starken Fragmentierung von Android noch schwerfällt, Fuß zu fassen, könnte ARKit das Feld gehörig aufmischen. Erste Prototypen wirken vielversprechend und die Einsatzzwecke sind mannigfaltig: Postkunden schätzen das Volumen ihrer Sendung in virtuellen Paketen ab, Innenarchitekten tragen ihren gesamten Produktkatalog in der Hosentasche und messen Räume zentimetergenau ab. Natürlich dürfen auch interdimensionale Portale und virtuelle BB-8-Droiden nicht fehlen.

Zuletzt erhalten wir Entwickler ebenfalls einige Goodies: vom leicht überarbeiteten Swift 4 bis hin zu Xcode 9, welches in Sachen Performance zugelegt hat und diesmal dankenswerterweise abwärtskompatibel bleibt. Nicht zuletzt widmet sich Apple dem bisher enttäuschend stiefmütterlich behandelten Thema Refactoring.
Last but not least: Wireless Debugging!

Comment

StarSnoopy - die Wunschlisten-App

Comment

StarSnoopy - die Wunschlisten-App

StarSnoopy ist unsere Antwort auf vergessene Wünsche, doppelte Überraschungen und chaotische Gruppengeschenke. StarSnoopy erinnert sich für Dich an Deine Wünsche, verhindert lange Gesichter bei der Bescherung und erleichtert die Absprache bei gemeinschaftlichen Geschenken. Sammle Deine Wünsche, teile sie mit Deinen Lieben und lass Dich überraschen. Organisiere Dich mit anderen und erfülle Wünsche, gezielt und einfach.

Wünschen. Teilen. Überraschen.

Wunschlisten sind Dreh- und Angelpunkt bei StarSnoopy. In einer Wunschliste werden alle Wünsche für einen Anlass gesammelt. Die Einladungen kannst Du über Facebook, WhatsApp, E-Mail, SMS und alle anderen bekannten Kanäle teilen - auch das Teilen via QR-Code ist möglich. Die eingeladenen Personen werden zu jeder Zeit aufgelistet, damit Du einen Überblick behältst und niemand außen vor bleibt. 
Natürlich weißt Du nicht, welche Wünsche bereits erfüllt wurden und wer sich woran beteiligt. Bis zum Tag des Anlasses soll es für Dich eine Überraschung bleiben.

Made in Germany

StarSnoopy ist das Ergebnis einer Kooperation zwischen der x-root Software GmbH und unserem Kollegen Peter Jarosz, welcher die Idee für diese App hatte. Nach über einem Jahr in der Entwicklung erscheint StarSnoopy heute für iOS und Android - kostenlos und ohne versteckte In-App-Käufe.

Weitere Informationen findest Du auf starsnoopy.de.

Comment

Room Persistence Library

Comment

Room Persistence Library

SQLite bietet sich seit jeher als Datenbanksystem für Android an. Auch wenn mittlerweile potentere Alternativen wie die dokumentenbasierten Realm oder Firebase existieren, bildet SQLite nach wie vor den Unterboden vieler Apps. Der Zugriff auf diese SQLite-Datenbanken erfolgte über ContentValues, Cursor und Raw Queries, welche aufwendig in der Einrichtung und fehleranfällig in der Wartung sind. Aus dieser Not entstanden zahlreiche Drittanbieterbibliotheken für objektrelationale Abbildungen (Object Relational Mapping, kurz ORM) greenDao, ActiveAndroid oder SugarORM und bestehende Größen wie OrmLite wurden portiert.

Auf der diesjährigen Google I/O stellte Google mit der Room Persistence Library (Room) endlich einen hauseigenen ORM für Android vor. Durch den geschickten Einsatz von Annotationen verringert Room den Boilerplate Code auf ein absolutes Minimum und nimmt uns Entwicklern einen Heidenaufwand ab, um uns der eigentlichen Geschäftslogik unserer Apps zuzuwenden. Hierbei behalten wir den vollen Funktionsumfang von SQLite, da nach wie vor Raw Queries geschrieben werden. Diese werden im Gegensatz zum Plain SQLite zur Übersetzungszeit validiert und nicht erst zur Laufzeit, wodurch Fehler vermieden und Korrekturen vereinfacht werden. Weiterhin werden Datenbankabfragen im Background Thread forciert, um ein versehentliches Blockieren der UI zu verhindern.

Grundsätzlich setzt sich die Datenbankschicht mit Room aus drei Komponenten zusammen:

  1. Datenbank
  2. Entitäten
  3. Data Access Objects (Dao)

Die Datenbank wird mit @Database annotiert und leitet als abstrakte Klasse von RoomDatabase ab. Sie konfiguriert Datenbankversion und -namen sowie unterstützte Entitäten, Type Converter und benötigte Migrationspfade. Weiterhin dient sie als Sammelstelle für verwendete DAOs.

Entitäten werden mit @Entity annotiert und bestehen in ihrer schlanksten Form aus nicht mehr als public fields. Felder, die ignoriert werden sollen, kennzeichnen wir mit @Ignore. Für nicht-unterstützte Datentypen können Type Converter geschrieben werden, welche z. B. die DateTime aus JodaTime in ein Objekt vom Typ Long oder String umwandeln.

Data Access Objetcs werden mit @Dao annotiert und dienen als Zugriffsschicht auf die Datenbank. Für Standardaktionen wie @Insert, @Update oder @Delete muss nichts weiter als die entsprechende Annotation gesetzt werden. Abfragen werden mit @Query und einem Raw Statement definiert, welchem Parameter übergeben werden können.

Zu diesen drei Komponenten gesellt sich bei Bedarf noch das ViewModel hinzu, welches bei den neuen Lifecycle Aware Components eingesetzt wird.

Aus diesen Komponenten erstellt Room zur Übersetzungszeit die entsprechenden Implementierungen, womit der produzierte Code einsehbar aber nach wie vor komplett abstrahiert bleibt. Aktuell bereiten uns noch Generics Probleme, die wir z. B. für einen BaseDao verwenden, welcher Standardmethoden wie insert(), delete() oder findById() implementiert. Room verliert die Typparameter und kann mit dem unbekannten Typ T nichts mehr anfangen. Ironischerweise tippt uns der Compiler an der Stelle auf die Schulter und schlägt uns eine Basisklasse vor, da es scheint, als wollen wir einen BaseDao definieren. Dass unsere Implementierung exakt diesem Vorschlag entspricht, interessiert ihn nicht.

Kinderkrankheiten wie diese werden aber mit Sicherheit in den kommenden Iterationen des ansonsten bereits sehr vielversprechenden ORMs behoben. Aktuell befindet sich Room in der Alpha 1 und wird wie gewohnt, zusammen mit seinem Annotation Processor, über Gradle vertrieben:

compile "android.arch.persistence.room:runtime:1.0.0-alpha1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"

 

Codebeispiel:

@Database(entities = {Example.class}, version = 1)
@TypeConverters({DateTimeConverter.class})
public abstract class AppDatabase extends RoomDatabase {

    private static AppDatabase instance;

    public static AppDatabase getDatabase(Context context) {
        if (instance == null) {
            instance = Room.databaseBuilder(context, AppDatabase.class, "db_name").build();
        }
        return instance;
    }

    public abstract ExampleDao getExampleDao();
}
@Entity
public class Example {
    @PrimaryKey(autoGenerate = true)
    public int uid;
    public DateTime createdAt;
    public DateTime updatedAt;
    public String name;
}
@Dao
public interface ExampleDao {

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    public void insert(Example entity);
  
    @Delete
    public void delete(Example entity);
     
    @Query("SELECT * FROM example")
    List<Example> findAll();
}

Comment

Google I/O 2017

Comment

Google I/O 2017

Seit gestern findet die alljährliche Google I/O statt, die von Sundar Pichai mit dem Slogan "From Mobile First to AI First" eingeleitet wurde.

Google.ai ist Dreh- und Angelpunkt dieser Entwicklung. Auf dieser Plattform für künstliche Intelligenz entstehen neuronale Netzwerke, welche mittlerweile selbst in der Lage sind, eigenständig Netze zu bilden (Automatic Machine Learning). Die hierfür verwendeten Tensor Processing Units (TPU) lassen sich demnächst als Cloud-Dienst mieten, wo sie im Verbund eine erstaunliche Rechenkraft von bis zu 11,5 Petaflops erreichen. Interessenten können sich vorab hier für diesen Dienst anmelden.
Das letztjährige Buzzword Machine Learning wird dieses Jahr mit der Augmented Reality verknüpft, um unter anderem Objekte auf (Bewegt-)Bildern zu erkennen. Praxisrelevant wird diese Technologie voraussichtlich, sobald Google Lens erscheint und die Kameras unserer Smartphones mit Deep Learning ausstattet.

 
inception_we-have-to-go-deeper.jpg
 

Für Endanwender wurden der Chromecast Ultra sowie neue Virtual Reality- bzw. Daydram-Geräte vorgestellt. Neben dem LG V30, Asus ZenFone AR kündigte man auch ein Standalone-VR-Headset an, welches von Google in Zusammenarbeit mit HTC und Lenovo entwickelt wird und ohne Kabel auskommt, weil die komplette Hardware direkt im Headset verbaut ist.

Android O erhält seine zweite Preview, welche die auf der Konferenz vorgestellten Features wie Picture-in-Picture, Notification Dots, Autofill for Google und Smart Text Selection vorführt. Die Machine Learning-Bibliothek Tensorflow erhält mit Tensorflow Lite einen mobilen Ableger samt API, welcher lokal läuft und direkt ins Betriebssystem integriert wird. Android O Preview 2 ist ab sofort öffentlich erhältlich für alle Pixel- und Nexus-Geräte der letzten Generation. Eine Migrationsanleitung bereitet uns Entwickler auf die ab Juni finalen APIs und schlussendlich auf die im Herbst erscheinende finale Version des mobilen Betriebssystems vor. 

Firebase wird seit seinem Auftritt auf der letztjährigen Google I/O kontinuierlich ausgebaut und von uns bereits in mehreren Projekten mit hoher Zufriedenheit genutzt. Firebase Performance Monitoring soll die Nutzererfahrung weiter verbessern, indem es Schwachstellen aufdeckt und dem Entwickler so hilft, die Performance und Stabilität seiner Apps zu verbessern. Dass Google den Blick über den Tellerrand nicht scheut, bestätigt der verbesserte Support für Swift und den Apple Push Notification Service. Die Akquisition von Fabric im Januar hinterlässt ebenfalls ihre Spuren, da einerseits Crashlytics nun als primäres Crash Reporting Tool und andererseits die Authentifizierung via Telefonnummer übernommen werden sollen. Ach ja, Firebase Analytics heißt nun Google Analytics for Firebase.

Vitals beschreibt eine Initiative, die sich aus den Punkten Sicherheit, Performance und Entwicklertools zusammensetzt. Hierfür wurde mit Google Play Protect ein Virenscanner direkt in den Play Store integriert, welcher Nutzer sensibilisieren und die Verbreitung von schädlichen Apps erschweren soll. Die Startzeit von Apps konnte mit Android O auf die Hälfte reduziert werden, ohne dass diese vom Entwickler vorher angepasst werden müssen.

Android Studio 3.0 steht ab sofort als Preview zum Download bereit. Das Grundgerüst wurde von IntelliJ 2016.2 auf 2017.1.2 angehoben, wodurch der Java 8-Support noch weiter ausgebaut und der Jack Compiler zu Grabe getragen wird. Weiterhin wird der Android Monitor vom neuen Android Profiler abgelöst. Android Instant Apps sind nun öffentlich verfügbar und erlauben es Nutzern ab Android 6.0, Apps ohne vorherige Installation zu verwenden.  Die Abwärtskompatibilität bis hin zu Lollipop folgt in Kürze.

Unser persönliches und professionelles Augenmerk gilt allerdings Kotlin, welche ab sofort und offiziell als zweite Programmiersprache für Android unterstützt wird. Die vom russischen Studio JetBrains entwickelte statisch typisierte Sprache wurde 2011 vorgestellt und 2016 in der Version 1.0 veröffentlicht. Dementsprechend moderne Features bringt sie mit sich, die wir bereits von Apples hauseigener Programmiersprache Swift kennen und lieben: Extensions, Optionals, Lambdas, Named Parameters, Default Arguments, Type Inference - sowie zusätzliche Kniffe wie When Statements oder Smart Casts. Dabei bleibt Kotlin interoperabel zu Java-Code und kann somit leicht und peu à peu Einzug in bestehende Projekte erhalten.

Comment