I had my first talk at Kotlin London meetup #2 about writing safe code.
kotlin
Эксперимент: Guess City 360°
Я себя давно уже пытаюсь заставить каждый раз хотя бы в кратце описывать свои эксперименты и пет-проджекты в бложике, хотя бы для себя.
На этот раз расскажу про Guess City 360 - игрушка (что для меня очень не свойственно) для путешественников, для тех кто хочет ими стать. Диванные путешественники тоже подходят. Игра очень простая - каждый раз вы оказываетесь в совершенно случайном месте на земле и ваша задача - понять где вы, гуляя по улицам, читая таблички, рассматривая архитектуру, прохожих, машины и тд.
android kotlin gradle.build
Here skeleton of gradle.build script for madness people who try to code Android apps using kotlin language.
This gradle script uses another structure of subdirectories, more simple I would say. There is no useless "deep" folders like src/main/java, src/main/assets, etc..
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.10.770'
}
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'idea'
repositories {
mavenCentral()
}
dependencies {
compile 'org.jetbrains.kotlin:kotlin-stdlib:0.10.770'
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 15
targetSdkVersion 21
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['java', 'kotlin']
aidl.srcDirs = ['java']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
Kotlin: джависты, завидуйте
Около года назад, в подкасте радио-т я впервые услышал о инициативе JetBrains, новом языке программирования kotlin. С тех пор внимательно слежу за его развитием.
Они позиционируют котлин как "better java" и, надо сказать, у это получается. Это статический типизированный, язык со вшитой nullable-проверкой Так же он поддерживает функции высшего порядка(замыкания), extension functions и trait. Может немного напоминать scala - но, достаточно далеко от неё.
Android: альтернативы java
Java - действительно хороший, простой и стабильный язык. Код, написанный десять лет назад будет не только работать на современных JVM, но должен компилироваться.
Выбор разработчиков андроида в качестве языка программирования java вполне понятен: популярная платформа, managed code, множество готовых библиотек, понятный и простой код.