SP004: SQL-Frameworks, Android N
SQL-Frameworks für Scala: Vergleich und Erfahrungen
Links
Android N unterstützt Java 8 und somit Scala 2.12 … vielleicht zumindest?
Google hat das erste Preview des Android N SDKs freigegeben.
Neue Features für Anwender
- Multi-window: Split-Screen mode zum gleichzeitigen Anzeigen mehrerer Apps.
- Direct reply notifications: Kurze Antworten direkt aus einer Notification heraus. Siehe hier.
- Bundled notifications: Zusammenfassung mehrerer Notifications einer App (z.B. mehrerer Nachrichten). Siehe hier.
- Optimierung des Stromverbrauchs: Erweiterter Doze-Mode wenn das Display aus ist.
Java 8 Support
Unter Einsatz des neuen Jack compilers werden Java 8 Sprach-Features wie z.B. Lambdas, default und static Methodes und Streams bis runter auf Gingerbread (Android 2.3) unterstützt.
Aber: Jack erzeugt keine .class
-Dateien, sondern .jack
-Dateien, die direkt DEX-Code enthalten. Der Zwischenschritt über den Java-Byte-Code entfällt und beschleunigt den Build-Prozess.
Aber was ist mit anderen Sprachen wie Kotlin und Scala? Prinzipiell können über Jill (Jack Intermediate Library Linker) weiterhin Byte-Code-JARs verarbeitet werden. Hier fehlt aber wiederum der Java 8 Support und die Geschwindigkeitsvorteile der neuen Tool-Chain gehen verloren.
Für Genaueres werden wir auf offizielle Stellungnahmen z.B. zu den unten aufgeführten StackOverlow-Fragen warten müssen.
Links
- First Preview of Android N: Developer APIs & Tools
- Jack (Java Android Compiler Kit)
- StackOverflow: How Jack will affect Scala developers?
- StackOverflow: Android N Java 8 features (Jack compiler) and Kotlin interop
The Scala Center
- Open-Source Foundation für Scala
- Eigenständige Abteilung an der EPFL (unabhängig von der Scala Research-Group)
- Ziele
- Zentrale Anlaufstelle für alles Rund um Scala
- Index von Open-Source Projekten
- Online Kurse und Tutorials
- Förderung von Open-Source Projekten
Links
Typesafe heißt jetzt Lightbend
Typesafe heißt jetzt Lightbend… sonst ändert sich nichts.
Gründe
- Mehr als die Hälfte der Kunden sind klassische Java-Enterprise Nutzer.
- Aktuelles Framework Lagom kommt mit einer Java-First-API.
Spielt Scala noch eine Rolle?
Ja. Scala ist weiterhin die Programmiersprache der Wahl. Auch Lagom wurde in Scala geschrieben. Lightbend wird weiter in Scala investieren.
Link
Scala 2.11.8 released
Wesentliche Änderungen:
- Robuste und flexiblere Tab-Vervollständigung in der REPL
- Diverse Bug-Fixes
Links
Play 2.5 release
Play 2.5.0 freigegeben.
Hauptthemen in Play 2.5.0
- Wechsel von Iteratees zu Akka streams für asynchrones IO-Streaming
- Java-API: Play-spezifische funktionale Typen wie
Promise
undOption
wurden durch ihre Java 8 Pendants ersetzt - Java-API: Annäherung der Java API an die von Scala auf Basis der neuen Möglichkeiten in Java 8 (z.B. Filter und eigene Body-Parser)
- Verbesserte Performance (bis zu 20%)
- Unterstützung für andere Logging-Frameworks (weg von Logback, hin zu SLF4J-kompatiblen Frameworks)
- Logging von SQL-Statements (unabhängig vom verwendeten Persistence-Framework)
Neues Streaming basierend auf Akka-Streams
- Bisheriger Mechanismus auf Basis von Iteratees ist mächtig und sicher, bringt aber eine steile Lernkurve mit sich
- Akka Streams bieten einen guten Kompromiss zwischen Sicherheit und Einfachheit
- Akka Streams finden in Play an folgenden Stellen Anwendung:
- Filter
- Streaming Response-Bodies
- Request Body-Parsers
- WebSockets
- Streaming Web-Service Client-Responses
- Iteratees können weiter genutzt werden.
Links
Titelsong basierend auf Wish You Were Here von THE.MADPIX.PROJECT lizensiert unter Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0).