The Best Java for Android Download
A mod programming language that makes developers happier.
Likewise supports:Information Science →
Effort Kotlin
fun main() { val proper noun = "stranger" // Declare your commencement variable println("Hullo, $name!") // ...and use information technology! print("Current count:") for (i in 0..ten) { // Loop over a range from 0 to x impress(" $i") } } More examples ↗
Why Kotlin
Mod, concise and safe programming language
Easy to option upward, and so yous can create powerful applications immediately.
-
Concise
information course Employee( val name: String, val email: String, val company: Cord ) // + automatically generated equals(), hashCode(), toString(), and copy() object MyCompany { // A singleton const val name: String = "MyCompany" } fun principal() { // Role at the height level val employee = Employee("Alice", // No `new` keyword "alice@mycompany.com", MyCompany.proper noun) println(employee) } -
Rubber
fun reply(status: Boolean): String? = // Nullability is part of Kotlin's type system if (condition) "I'thou fine" else null fun error(): Nil = // Always throw an exception throw IllegalStateException("Shouldn't be here") fun main() { val condition = true // Endeavor replacing `true` with `false` and run the sample! val message = reply(condition) // The result is nullable // println(bulletin.uppercase()) // This line doesn't compile println(message?.supercede("fine", "okay")) // Admission a nullable value in a rubber manner if (message != zippo) { // If you check that the type is right, println(message.capital letter()) // the compiler will smart-bandage information technology for you } val nonNull: Cord = // If the null-example throws an mistake, answer(condition = true) ?: fault() // Kotlin can infer that the outcome is non-null println(nonNull) } -
Expressive
fun main() { //sampleStart val map = mapOf(ane to "one", two to "ii") for ((thou, five) in map) { // Traverse a map or a list of pairs println("$k -> $5") } fun obtainKnowledge() = Pair("The Answer", 42) // Single-expression functions val (description, respond) = obtainKnowledge() // Destructure into a pair of two variables println("$clarification: $answer") getText()?.let { // Apply an action to a nullable expression sendEmailTo("alice@example.com", it) // if it'due south not aught } createEmptyWindow() .utilize { // Configure properties of an object width = 300 height = 200 isVisible = true }.also { w -> // Perform an additional operation on a call chain showWindow(w) } val fixedIssue = issueById["13456"] ?.takeIf { it.status == Status.FIXED } // Use the value only if the condition is true println(fixedIssue) //sampleEnd } data form Window(var width: Int, var height: Int, var isVisible: Boolean) fun createEmptyWindow() = Window(0, 0, false) fun showWindow(window: Window) { println("Showing $window") } fun getText(): String? = "How-do-you-do! You've won the lottery! Pay the attached pecker to get the prize." fun sendEmailTo(to: Cord, message: String) { println("Sending electronic mail to $to: \n$message") } enum grade Status { OPEN, Fixed, IN_PROGRESS } data form Issue(val status: Status) val issueById = mutableMapOf( "13456" to Event(Condition.FIXED) ) -
Interoperable
// Use any existing JVM library or framework // Call Kotlin code from Java without an issue @SpringBootApplication class DemoApplication fun chief(args: Array<String>) { runApplication<DemoApplication>(*args) } @RestController class MessageResource { @GetMapping fun index(): Listing<Bulletin> = listOf( Message("1", "Hello!"), Message("2", "Bonjour!"), Bulletin("3", "Privet!"), ) } data course Message(val id: Cord?, val text: String)// Write Kotlin code, compile it to JavaScript, and run it in the browser // Utilize existing JavaScript APIs and libraries import kotlinx.browser.window fun primary() { val body = window.document.torso body?.innerHTML += "<b>Hullo, <i>Kotlin</i></b>" window.setInterval({ body?.innerHTML += "!" }, 1000) }// Use Kotlin wrappers to build applications with JavaScript frameworks such as React import react.* import react.dom.* import kotlinx.html.js.onClickFunction val counter = functionalComponent<Props> { val (count, setCount) = useState(0) button { attrs.onClickFunction = { setCount(count + 1) } +count.toString() } } -
Multiplatform
// Common // Declare signatures to use them in the common code // Provide platform-specific implementations in the platform modules expect fun randomUUID(): String expect class PlatformSocket( url: String ) { fun openSocket(listener: PlatformSocketListener) fun closeSocket(code: Int, reason: String) fun sendMessage(msg: Cord) } interface PlatformSocketListener { fun onOpen() fun onFailure(t: Throwable) fun onMessage(msg: Cord) fun onClosing(code: Int, reason: String) }import coffee.util.* actual fun randomUUID() = UUID.randomUUID().toString() actual class PlatformSocket actual constructor(url: String) { // Use okhttp3 in implementation }// iOS import platform.Foundation.NSUUID actual fun randomUUID(): String = NSUUID().UUIDString() actual class PlatformSocket actual constructor(url: Cord) { // Use platform.Foundation in implementation }// JS // Use the `uuid` package from npm as dependency actual fun randomUUID(): String = uuidv4() actual form PlatformSocket actual constructor(url: Cord) { // Implementation on top of WebSockets }
A productive way to write server‑side applications
Compatible with the Java ecosystem. Utilize your favorite JVM frameworks and libraries.
Natural way to share code betwixt mobile platforms
Write the business logic for iOS and Android apps just one time. Hands brand existing applications cross-platform.
Big, friendly and helpful
community
Kotlin has nifty back up and many contributors in its fast-growing global community. Bask the benefits of a rich ecosystem with a wide range of community libraries. Assistance is never far away — consult extensive customs resources or ask the Kotlin team directly.
DOWNLOAD HERE
Posted by: fotiyeavey.blogspot.com
