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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
JetBrainsRU
May 17, 2018
Programming
0
59
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
220
02 Xodus - a Database to Store Youtrack Bugs. Maxim Mazin, YouTrack Team Lead
jetbrainsru
0
130
04 Feature Evolution in IntelliJ IDEA, Nikolay Chashnikov, IDEA Core Team Lead
jetbrainsru
0
120
05 How We Improve Performance in Rider. Andrey Akinshin, Senior Developer in Rider
jetbrainsru
0
49
06 (No) Few Processes is yet a Process. Sergey Coox, .NET Department Lead
jetbrainsru
0
76
Other Decks in Programming
See All in Programming
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
210
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
220
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
CSC307 Lecture 02
javiergs
PRO
1
780
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.4k
CSC307 Lecture 07
javiergs
PRO
1
560
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
Gemini for developers
meteatamel
0
100
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
100
CSC307 Lecture 09
javiergs
PRO
1
840
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The Curious Case for Waylosing
cassininazir
0
240
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
The Spectacular Lies of Maps
axbom
PRO
1
530
Building AI with AI
inesmontani
PRO
1
710
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
エンジニアに許された特別な時間の終わり
watany
106
230k
Discover your Explorer Soul
emna__ayadi
2
1.1k
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