Slides about Kotlin 1.1 presented on The Developers Conference Florianópolis 2017.
http://www.thedevelopersconference.com.br/tdc/2017/florianopolis/trilha-java
2. 22
Kotlin | What is it?
• JetBrains
• JVM
• Conciseness, safety, interoperability
3. 22
Kotlin | What is it?
• JetBrains
• JVM
• Conciseness, safety, interoperability
❤
4. 33
“Our vision for Kotlin is to enable the use of a single
expressive, performant, strongly typed language across all
components of a modern application.”
6. 55
Kotlin 1.1 | JavaScript
• JavaScript target is no longer experimental
• ECMAScript 5.1, plans to target ECMAScript2015
• JS libs available through typed APIs
7. 55
Kotlin 1.1 | JavaScript
• JavaScript target is no longer experimental
• ECMAScript 5.1, plans to target ECMAScript2015
• JS libs available through typed APIs
8. 66
external fun require(module:String):dynamic
fun main(args: Array<String>) {
val express = require("express")
val app = express()
app.get("/", { req, res ->
res.type("text/plain")
res.send("i am a beautiful butterfly")
})
app.listen(3000, {
println("Listening on port 3000")
})
}
https://medium.com/@Miqubel/your-first-node-js-app-with-kotlin-30e07baa0bf7
9. 77
Kotlin 1.1 | JavaScript - Goals
• Provide output that is optimal in size
• Provide output that is readable JavaScript
• Provide interoperability with existing module systems
• Provide the same functionality in the standard library
whether targeting JavaScript or the JVM (to the largest
possible degree).
10. 88
“OUR GOAL IS TO ENABLE PLEASANT FULL-STACK
DEVELOPMENT WITH KOTLIN.”
13. 1010
Kotlin 1.1 | Coroutines
• Light-weight thread that can be suspended and
resumed later
14. 1010
Kotlin 1.1 | Coroutines
• Light-weight thread that can be suspended and
resumed later
• Language feature implemented by libraries
15. 1010
Kotlin 1.1 | Coroutines
• Light-weight thread that can be suspended and
resumed later
• Language feature implemented by libraries
• This potentially brings to Kotlin async/await from C#
and ECMAScript, channels and select from Go, and
generators/yield from C# and Python
25. 1818
Kotlin 1.1 | Type alias
A type alias allows you to define an alternative name for
an existing type.
26. 1919
Kotlin 1.1 | Bound callable references
You can now use the :: operator to get a member
reference pointing to a method or property of a specific
object instance.
27. 2020
Kotlin 1.1 | More news
• Data class inheritance
• Local delegated properties
• Underscores in numeric literals
33. 2424
Kotlin 1.1 | More news again
• Java 8 bytecode support
• Java 8 standard library support
• Constant inlining (const val)
• Several improvements on the standard library