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
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.4k
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
140
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
250
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
950
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
500
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.6k
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
160
Devoxx BE - Local Development in the AI Era
kdubois
0
130
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
2
380
Catch Up: Go Style Guide Update
andpad
0
230
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.3k
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
110
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
RailsConf 2023
tenderlove
30
1.2k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Thoughts on Productivity
jonyablonski
70
4.9k
Building Applications with DynamoDB
mza
96
6.7k
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