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
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
120
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
48
06 (No) Few Processes is yet a Process. Sergey Coox, .NET Department Lead
jetbrainsru
0
76
Other Decks in Programming
See All in Programming
rage against annotate_predecessor
junk0612
0
170
Rancher と Terraform
fufuhu
2
400
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
130
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
260
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
210
アセットのコンパイルについて
ojun9
0
120
Deep Dive into Kotlin Flow
jmatsu
1
330
RDoc meets YARD
okuramasafumi
4
170
はじめてのMaterial3 Expressive
ym223
2
310
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
390
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
22
5.7k
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
160
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Music & Morning Musume
bryan
46
6.8k
4 Signs Your Business is Dying
shpigford
184
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Building an army of robots
kneath
306
46k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Documentation Writing (for coders)
carmenintech
74
5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.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