android devconference - live code with kotlin: construindo o primeiro app usando kotlin

18
Construindo o primeiro app usando Kotlin Filipe Guedes Philipe Steiff @fgsguedes @philipesteiff

Upload: imasters

Post on 13-Apr-2017

104 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Construindo o primeiro app usando Kotlin

Filipe Guedes Philipe Steiff@fgsguedes @philipesteiff

Page 2: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Por que Kotlin?

• Concisa, simples e fácil de ler/escrever

• 100% "two-way" interoperável com Java

• Também é funcional

• Null-safety

• Extension functions

• It's fun

Page 3: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

class Foo { fun sum(a: Int, b: Int): Int { return a + b } fun printSum(a: Int, b: Int): Unit { print(a + b) }}

Page 4: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

class Foo { fun sum(a: Int, b: Int) = a + b

fun printSum(a: Int, b: Int) { print(a + b) }}

Page 5: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

val a: Int = 1 val b = 1 var c = "Any variable"val d = Foo()

Page 6: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Null Safety

var a: String = "abc"

Page 7: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Null Safety

var a: String = "abc"a = null

Page 8: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Null Safety

var a: String = "abc"a = null // compilation error

Page 9: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Null Safety

var a: String = "abc"a = null // compilation error

println(a.length)

Page 10: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Null Safety

var a: String? = "abc"a = null

println(a.length)

Page 11: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Null Safety

var a: String? = "abc"a = null

println(a.length) // compilation error

Page 12: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Null Safety

var a: String? = "abc"a = null

println(a?.length)

Page 13: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Null Safety

var a: String? = "abc"a = null

println(a?.length) // will print 'null'

Page 14: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Null Safety

var a: String? = "abc"a = null

println(a?.length ?: "Was null") // will print 'Was null'

Page 15: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Null Safety

var a: String? = "abc"a = null

println(a!!.length) // XGH

Page 16: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Extensionsfun Parcel.readBoolean() = readByte() > 0 fun Parcel.writeBoolean(boolean: Boolean) { when { boolean -> writeByte(1) else -> writeByte(0) }}

override fun writeToParcel(parcel: Parcel, p1: Int) { parcel.writeBoolean(myBooleanField) }

myBooleanField = parcel.readBoolean()

Page 17: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Quem está usando!?

Page 18: Android DevConference - Live code with Kotlin: construindo o primeiro app usando Kotlin

Some live coding!!

Wish us luck