Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
03 Full-Stack Application Development Experienc...
Search
JetBrainsRU
May 17, 2018
Programming
0
56
03 Full-Stack Application Development Experience in Kotlin. Sergey Shkredov, New Product Team Lead.
JetBrainsRU
May 17, 2018
Tweet
Share
More Decks by JetBrainsRU
See All by JetBrainsRU
01 Kotlin Programming Language. What it is all about. Roman Belov, PMM in Kotlin
jetbrainsru
1
210
02 Xodus - a Database to Store Youtrack Bugs. Maxim Mazin, YouTrack Team Lead
jetbrainsru
0
98
04 Feature Evolution in IntelliJ IDEA, Nikolay Chashnikov, IDEA Core Team Lead
jetbrainsru
0
100
05 How We Improve Performance in Rider. Andrey Akinshin, Senior Developer in Rider
jetbrainsru
0
45
06 (No) Few Processes is yet a Process. Sergey Coox, .NET Department Lead
jetbrainsru
0
70
Other Decks in Programming
See All in Programming
エンジニア1年目で複雑なコードの改善に取り組んだ話
mtnmr
3
2.7k
pytest プラグインを開発して DRY に自動テストを書こう
inuatsu
2
190
RemixとCloudflare Stack におけるFile Upload
ossamoon
1
110
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
pyama86
2
210
DjangoNinjaで高速なAPI開発を実現する
masaya00
0
270
LLMと音声基盤モデルを用いた音声認識
spiralai
PRO
0
120
5年分のツケを一気に払った話
soogie
2
520
#TROCCOUG dbt Cloud+TROCCO
troccoug
0
140
Debugging: All you need to know (for simultaneous interpreting)
jmatsu
2
1.3k
推しの夫に恋のGPS「ときメーター」#M5Stack #IoT #M5JPTour2024
riyu
0
210
Infrastructure as Code でセキュリティを楽にしよう!
konokenj
5
1.2k
フロントエンドの標準仕様をどう追っているか / How I follow the frontend standards specs
petamoriken
3
160
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
37
7k
GraphQLとの向き合い方2022年版
quramy
43
13k
Building Applications with DynamoDB
mza
90
6k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Navigating Team Friction
lara
183
14k
Making the Leap to Tech Lead
cromwellryan
129
8.8k
Debugging Ruby Performance
tmm1
72
12k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
166
48k
In The Pink: A Labor of Love
frogandcode
139
22k
Designing for humans not robots
tammielis
248
25k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Principles of Awesome APIs and How to Build Them.
keavy
125
17k
Transcript
Sergey Shkredov, Team Lead 19:45 - Kotlin Full-Stack — JetBrains
Open Day Moscow
11 years at JetBrains Circlet Rider .NET R#
Full-Stack Server: • Exposed • KTOR • Elastic • Redis
Web: • React IDEA: • Swing Android: • Kotlin IOS: • React native More: • Desktop • iOS
Kotlin JS • JS Generator • Kotlin stdlib for js
• DOM api • Platform interop (dynamic, annotations, external) • js(“”) • CommonJS/AMD/UMD
Kotlin JS - require
Kotlin JS - @JsModule
Kotlin JS - @JsModule
Kotlin JS - external
Kotlin JS - dynamic
KT vs TS
Multi Platform Projects COMMON JS JVM
Before MPP COMMON JS COMMON JVM JS JVM
MPP SHARED JS JVM
MPP SHARED JS
MPP SHARED JS B A
MPP SHARED JS B A D C
MPP SHARED JS B A actual fun foo() {} expect
fun foo()
MPP
MPP
MPP • Native platforms • More specific JVM and JS
platforms • Cross platform libraries
MPP Libs • Serialization • Http client • Dates •
Coroutines • ??
Architecture API Server client-view-model app-web app-android
API • RMI vs RPC • Live updates • Optimistic
updates • Data query (graph QL) • Http fallback • Caching
API • Interface based • Event sourcing • Object updates
steaming • Specialised APIes • Transport level caching
Client state • Web is different • React vs MVVM
Kotlin JS • kotlin-frontend-plugin • kotlin-dce-js • create-kotlin-react-app • ts2kt
Thank you! — JetBrains Open Day Moscow