Scala on Android - Freie Universität · Scala on Android: problems and solutions » Motivation 3...

20
Scala on Android Problems and solutions Autor Niklas.Klein@fu-berlin.de Betreuer Prof. Dr. Lutz Prechelt Zweitgutachterin Prof. Dr. Margarita Esponda-Argüero

Transcript of Scala on Android - Freie Universität · Scala on Android: problems and solutions » Motivation 3...

Scala on AndroidProblems and solutions

Autor [email protected]

Betreuer Prof. Dr. Lutz Prechelt

Zweitgutachterin Prof. Dr. Margarita Esponda-Argüero

Inhaltsübersicht

1. Motivation

2. Kundenprojekt Liefery

3. Ausarbeitung

a. Interviews

b. Dokumentation

4. Fazit

Scala on Android: problems and solutions 1

Motivation

Scala on Android: problems and solutions » Motivation 2

Scala on Android: problems and solutions » Motivation 3

Motivation

● Kompatibilität zu Java

● Multiple Vererbung

● Operatorüberladung

● Option statt null

● Vollständige Objektorientierung“Jeder Wert ist ein Objekt”

KundenprojektLiefery

Scala on Android: problems and solutions » Kundenprojekt Liefery 4

Scala on Android: problems and solutions » Kundenprojekt Liefery 5

Startbildschirm Auftragsübersicht

Scala on Android: problems and solutions » Kundenprojekt Liefery 6

Detailansicht Navigationsassistenz

Scala on Android: problems and solutions » Kundenprojekt Liefery 7

Auftragsabwicklung & Kundeninteraktion

AusarbeitungInterviews

Scala on Android: problems and solutions » Ausarbeitung » Interviews 8

Scala on Android: problems and solutions » Ausarbeitung » Interviews 9

Scala on Android: problems and solutions » Ausarbeitung » Interviews 10

Identifizierte Probleme

● Build toolGradle, sbt oder Maven?

● Entwicklungsumgebung

● TestsUnit- & Integrationtests

● Library projectsaar & apklib

● VeröffentlichungsprozessPacken & signieren

● Community support

AusarbeitungDokumentation

Scala on Android: problems and solutions » Ausarbeitung » Dokumentation 11

Scala on Android: problems and solutions » Ausarbeitung » Dokumentation 12

Scala on Android: problems and solutions » Ausarbeitung » Dokumentation 13

Metabox

Fazit

Scala on Android: problems and solutions » Fazit 14

Scala on Android: problems and solutions » Fazit 14

Fazit

+● Community

● Interviews

● Hello-Scala

-● GitHub-Interaktionen sind

häufig zu aufwendig

● Google-Ranking

● “Problems, solutions and advantages”

Danke!

Liefery Kurier AppGoogle PlayStore

http://tinyurl.com/liefery

Scala on AndroidThe comprehensive documentation

http://scala-on-android.taig.io

Scala on Android: problems and solutions » Anhang

Deklarierung einer Activity

class MyActivity extends Activity with ActionBar with NavigationDrawer with TabsLayout with Session { ...}

I

Scala on Android: problems and solutions » Anhang

View finden

class MyActivity extends Activity { TextView myView;

@Override public void onCreate(Bundle state) { super.onCreate(state);

setContentView(R.layout.my_layout);

myView = (TextView) findViewById( R.id.my_id );

myView.setText(“Hello Java”); }}

class MyActivity extends Activity { lazy val myView = findView( R.id.my_id )

override def onCreate(state: Bundle) { super.onCreate(state)

setContentView(R.layout.my_layout)

myView.setText(“Hello Scala”) }}

II

Scala on Android: problems and solutions » Anhang

Serialisierung

Bundle bundle = new Bundle()

boolean myBool = trueMyModel myModel = …

bundle.putBoolean(“myBool”, myBool)bundle.putParcelable( “myModel”, myModel)

...

boolean myBool = bundle.getBoolean( “myBool”)MyModel myModel = bundle.getParcelable( “myModel”)

val myBool = trueval myModel = …

new Bundle() .write(“myBool”, true) .write(“myModel”, myModel )

...

val myBool = bundle.read[Boolean]( “myBool”)val myModel = bundle.read[MyModel]( “myModel”)

III