Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
The Zen of Kotlin by Vincent Carrier
Search
GDG Montreal
February 28, 2018
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The Zen of Kotlin by Vincent Carrier
GDG Montreal
February 28, 2018
Transcript
25 slides
The Zen of Kotlin By Vincent Carrier
Follow along https://github.com/Vincent-Carrier/Omego.git
Simple rules, infinite possibilities • Take turns to place stones
• If one of your group is surrounded by the other, it is captured • The player with the most territory wins
Less code is more
None
with()
Without with()
None
apply()
Without apply()
Good code documents itself
Local functions
None
Extension functions and lambdas with receivers Within my AppCompatActivity:
Custom getter functions
Type aliases
Type aliases
Don’t expose more than you should
lateinit vs by lazy
package visibility does not exist in Kotlin • package limits
visibility to enclosing folder. internal limits visibility to enclosing module. • Get comfortable with modules!
Why modules? • Encourages better code structure • Easier to
distribute and reuse • Compiles faster • Convert to an Instant App easily THIS IS GRADLE. IT’S A BUILD SYSTEM FOR THE JVM THAT WORKS THROUGH A BEAUTIFUL DIRECTED ACYCLIC GRAPH MODEL.
Module types • Phone & Tablet • Android Library •
Java Library • And more…
build.gradle (Project) Define some common dependencies to avoid having to
repeat ourselves too much
build.gradle (model) build.gradle (app)
Thank you for listening
More Decks by GDG Montreal
See All by GDG Montreal
Advanced Pregnancy Risk Assessment Using AI Model Chain by Kiruthika Subramani
gdgmontreal
0
140
Al and Security: A double edge sword? by Stacy Véronneau and Yan Bellerose
gdgmontreal
0
150
Scaling AI on a Budget: A Startup's GPU Optimization Journey by Shannon Lal
gdgmontreal
0
150
Build Your Own Secured AI Platform with Google Cloud Vertex AI by unleashing the Power of Multi-LLM by Eckarath Khounsombath
gdgmontreal
0
200
FlutterMTL_-_Flutter_Next_24.pdf
gdgmontreal
0
190
Developing Flutter Applications in Dev Container Environments - Ali Yazdi
gdgmontreal
0
480
Building an ML powered Android Livestreaming App by Etienne Caron
gdgmontreal
1
190
Boosting Your Mobile App: Small Details, Big Impact by Mathieu Fillion
gdgmontreal
0
120
The Hitchhiker's Guide to MLOps by David Cardozo
gdgmontreal
0
140
Other Decks in Technology
See All in Technology
ライフワーク「猫でもわかるDirectConnect」
kentapapa
0
320
AI時代における医療情報システムのセキュリティ / Security of Healthcare IT Systems in the AI Era
henryofficial
0
150
cdkd (CDK Direct)
gotok365
4
290
81天的 AI Agent 軟體開發團隊治理實務分享
regionbbs
0
160
自治体AIコンタクトセンター、何をどこに任せる?~Amazon Connect Customer +Amazon Bedrockの実践知~ / 20261107 Satoshi Torano
shift_evolve
PRO
1
130
AWS基盤改善を支える 私たちの理念と行動指針
kentosuzuki
0
180
内製アプリとClaudeスキルのセキュリティチェック、 Backlogの課題で回しています。
ayaka_egaaa
0
170
仕様と現実の間で落とし所を探るリモートMCPの認証・認可 — Sansanの認証基盤における課題と実践
sansantech
PRO
2
270
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
230
顧客合意を取りながら進めるAWSコスト削減の実践
optim
0
160
プロダクションコードにおける encoding/json から encoding/json/v2 へのスムーズな移行
sansantech
PRO
1
390
evcc & Home Assistant
naltatis
0
590
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
610
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
470
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Automating Front-end Workflow
addyosmani
1370
210k
Google's AI Overviews - The New Search
badams
0
1.7k
Darren the Foodie - Storyboard
khoart
PRO
5
4.1k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
760
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.7k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
121
130k
Design in an AI World
tapps
1
390
Scaling GitHub
holman
464
140k
Building Flexible Design Systems
yeseniaperezcruz
330
41k