John O'Reilly Profile Banner
John O'Reilly Profile
John O'Reilly

@joreilly

Followers
18,850
Following
1,330
Media
3,281
Statuses
27,186

• Software Engineer @neatmeetings 🇳🇴 • Kotlin @GoogleDevExpert • Open-source #KMP projects at • Blog at

Galway, Ireland 🇮🇪
Joined May 2008
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@joreilly
John O'Reilly
1 year
Summary of open source Kotlin Multiplatform samples (with platforms supported and key libraries used). The UI in all cases is implemented using either Compose or SwiftUI. Confetti 🔗 ✅ Android, Wear OS, Android Auto, Automotive OS, iOS, Compose for
9
29
153
@joreilly
John O'Reilly
6 years
Top Shot is pretty nice feature #madebygoogle . In general some great photo related features in new Pixel 3 (both from hardware and software)
@Google
Google
6 years
Capture smiles, not blinks. With Top Shot, Pixel 3’s camera is smart enough to know a good photo when it sees it. #madebygoogle
77
709
2K
2
41
320
@joreilly
John O'Reilly
4 years
🎉 I'm really excited to announce that I'm now a @GoogleDevExpert for #Kotlin ! 🎉🥳 #GDE It’s an absolute joy to be part of this community! Big thank you to everyone that contributes to making it that way! 🙏💚
Tweet media one
79
3
338
@joreilly
John O'Reilly
2 months
To recap, following AndroidX/Jetpack libraries can now be used in Kotlin Multiplatform code! #KMP 🚀 Lifecycle 🚀 ViewModel 🚀 Navigation 🚀 DataStore 🚀 Room
7
87
333
@joreilly
John O'Reilly
1 month
Tweet media one
6
23
313
@joreilly
John O'Reilly
6 months
New Android Studio Canary (Jellyfish) now available! 🪼
Tweet media one
7
23
289
@joreilly
John O'Reilly
2 years
Just came across this....web based wizard to create new Kotlin Multiplatform project . Looks really useful!
Tweet media one
7
56
274
@joreilly
John O'Reilly
8 months
🚀🚀 Kotlin Multiplatform is stable () and the following #KMP samples have now been updated to use Kotlin 1.9.20 and related dependencies (listed below): ✅ Confetti () ✅ PeopleInSpace () ✅ BikeShare
6
48
266
@joreilly
John O'Reilly
2 months
Tweet media one
5
20
265
@joreilly
John O'Reilly
4 months
Kotlin Multiplatform compatible ViewModel APIs! 🚀
5
50
261
@joreilly
John O'Reilly
2 months
I've been working as a native mobile developer for 14 years now and that ecosystem has been on a trajectory of constant improvements over that time. Other approaches come and go, but native development continues to be the dominant tech used for developing mobile apps.
8
34
257
@joreilly
John O'Reilly
10 months
Android & iOS native vs. Flutter vs. Compose Multiplatform by Jacob Ras Good to see that using KMP doesn't add much to app size (on either Android or iOS)
10
34
247
@joreilly
John O'Reilly
8 months
Kotlin Multiplatform Development Roadmap for 2024 via @kotlin Following should be interesting! "The main initiative in this area is a direct Kotlin-to-Swift export. It will eliminate the Objective-C bottleneck, allowing for broader Swift language support
8
46
235
@joreilly
John O'Reilly
2 months
This day 5 years ago at Google I/O we learnt about this new thing called Compose....and fair to say I think that we never looked back!!
Tweet media one
14
10
210
@joreilly
John O'Reilly
5 months
Jetpack Compose: The Android Developer Roadmap – Part 5 This post explores fundamental concepts of Compose...very nice summary!
4
36
195
@joreilly
John O'Reilly
3 years
As we approach 2022, really feels like following combination is the sweet spot for mobile app development productivity! #iOSDev #AndroidDev - Jetpack Compose/SwiftUI - Kotlin/Swift - Kotlin Multiplatform shared non-UI code - GraphQL - Swift 5.5 Concurrency
10
22
186
@joreilly
John O'Reilly
3 years
Kotlin 1.5 out, Compose for Web Tech Preview release, Compose for Android close to stable release, Compose for Desktop maturing, Kotlin Multiplatform going from strength to strength along with huge increase in interest.....fun time to be developing in #Kotlin ecosystem!! 😀
2
34
188
@joreilly
John O'Reilly
1 year
If you're starting off with Kotlin Multiplatform in 2023 really recommend using: ✅ #KMM plugin or preferably existing sample as starting point ✅ KMP-NativeCoroutines for interacting with suspend functions/flows etc in shared code from iOS client ✅ KMM-ViewModel if sharing VM
7
37
184
@joreilly
John O'Reilly
5 years
Just created new minimal #KotlinMultiplatform sample -. Includes use of: -SwiftUI -Jetpack Compose -Android ViewModel -Koin (article below provided inspiration for "People In Space" API I used - thanks @kenkousen !)
@joreilly
John O'Reilly
5 years
A Few Astronomical Examples in Kotlin via @kenkousen
0
0
15
6
36
179
@joreilly
John O'Reilly
4 years
Looks like Kotlin Coroutines 1.3.6 just got released Includes "StateFlow" which I know many people were looking forward to.
3
40
178
@joreilly
John O'Reilly
11 months
The Iguanas have arrived! 😀 #AndroidDev
Tweet media one
@csinco
Chris Sinco
11 months
Welcome to the family @androidstudio Nightly! Get it here for those that really want to be on the bleeding edge:
Tweet media one
14
16
217
4
16
171
@joreilly
John O'Reilly
1 year
Giraffe has arrived (new Android Studio canary with Flamingo gone to beta)!! #AndroidDev
Tweet media one
7
20
167
@joreilly
John O'Reilly
1 year
Nice new #Kotlin feature that is hoped to be available not long after Kotlin 2.0. #KotlinConf
Tweet media one
7
21
172
@joreilly
John O'Reilly
2 years
@JakeWharton and @jessewilson talking about Redwood, a Compose Kotlin Multiplatform framework that uses native UI toolkit on each platform. Will be very interesting to see how this develops! #dcnyc22
Tweet media one
8
8
172
@joreilly
John O'Reilly
2 years
So, achievement unlocked, got to talk this year about Kotlin at an iOS conference and Swift at an Android one 😀
8
0
169
@joreilly
John O'Reilly
5 months
Kotlin Flows Animated Nice visualisation of how a number of Flow intermediate operators work.
2
23
172
@joreilly
John O'Reilly
4 years
Happy to announce availability of initial version of BikeShare - a new Kotlin 1.4(-rc) based Multiplatform Sample! Currently running on -iOS -macOS -Android and using -SwiftUI -Jetpack Compose Many thanks to @ctbikes whose amazing API this is based on
Tweet media one
Tweet media two
Tweet media three
9
25
169
@joreilly
John O'Reilly
1 month
Yay, I'm happy now 😃 #KotlinConf
Tweet media one
4
0
165
@joreilly
John O'Reilly
3 months
After over 5 years working on KMP I've finally come to conclusion that it's not for me. From now on I plan on diving deep in to the world of React Native.....have already started work on gradually migrating samples I have over to it.
35
2
162
@joreilly
John O'Reilly
2 months
Jetpack Paging now support Kotlin Multiplatform (thanks in large part to CashApp's multiplatform-paging project)! #KMP
2
21
163
@joreilly
John O'Reilly
2 months
#KMP samples at all primed for inevitable set of updates this week! 😀 #KotlinConf
Tweet media one
4
8
154
@joreilly
John O'Reilly
3 years
Ok, Magic Eraser is pretty cool! #Pixel6Pro
Tweet media one
Tweet media two
4
6
150
@joreilly
John O'Reilly
2 months
Excited to see this arrive this morning. I still feel you can't beat physical books for material like this!
Tweet media one
7
8
151
@joreilly
John O'Reilly
9 months
Unexpected but very nice to receive this! 🙏
Tweet media one
17
3
148
@joreilly
John O'Reilly
3 months
This looks very interesting....imminent 1.6.10-beta01 release of Compose Multiplatform 🚀 Experimental multiplatform support of Lifecycle and ViewModel 🚀 Experimental multiplatform support of Jetpack Navigation
10
19
145
@joreilly
John O'Reilly
2 years
Probably won't take people too long but could you tell at a glance here which is Kotlin and which is Swift? #iOSDev #AndroidDev
Tweet media one
29
14
141
@joreilly
John O'Reilly
1 year
With Compose for iOS alpha being announced at #KotlinConf I thought it was good time to rebase the Confetti compose_ios branch () used in this article! Any guesses which one below is SwiftUI and which is Compose? 😀
Tweet media one
@joreilly
John O'Reilly
1 year
Wrote a short article about exploring use of Compose for iOS for one of the screens in the SwiftUI application that's part of the Confetti #KMM sample (.). #iOSDev #AndroidDev
3
15
91
17
11
142
@joreilly
John O'Reilly
1 year
It's the small things! Example in new Android Studio Flamingo Canary 3 showing dependency updates available when using version catalogs (from Confetti sample in this case) #AndroidDev
Tweet media one
13
19
139
@joreilly
John O'Reilly
9 months
♥️ Coroutines! Really don't know how we survived without them 😀! #Kotlin
11
6
139
@joreilly
John O'Reilly
7 months
Cool to see Kotlin/Wasm based Compose for Web option now enabled at
Tweet media one
3
19
139
@joreilly
John O'Reilly
6 years
@economip And we're not *the South" or "Southern Ireland"...just Ireland (or Republic of Ireland)!
2
7
129
@joreilly
John O'Reilly
3 years
Always acknowledge the luck factor in any success! #dcbln21
Tweet media one
2
18
138
@joreilly
John O'Reilly
3 years
#JetpackCompose beta08 released! Working now with Kotlin 1.5.10.
Tweet media one
4
17
135
@joreilly
John O'Reilly
3 years
If you're writing any #KMM code then you're probably going to need @russhwolf 's Multiplatform Settings library (). It will by default use SharedPreferences on Android and NSUserDefaults on iOS....and, as in this example, settings can be exposed as Flows
Tweet media one
8
13
135
@joreilly
John O'Reilly
2 years
KDoctor - command-line tool that helps to set up the environment for Kotlin Multiplatform Mobile app development >> looks useful
4
19
132
@joreilly
John O'Reilly
2 years
This arrived in the post the other day! Congrats @nrobir ...huge achievement writing a book like this! #KMM #AndroidDev #iOSDev
Tweet media one
3
14
133
@joreilly
John O'Reilly
2 years
The future looks bright for mobile app development! #iOSDev #AndroidDev #KMM - Jetpack Compose/SwiftUI - Kotlin/Swift - Much the same mechanism for managing concurrency now on both platforms - Kotlin Multiplatform for sharing non-UI code (with KMM now in beta!)
6
12
128
@joreilly
John O'Reilly
6 months
I was slow to really appreciate the full power of Compose Multiplatform. Have been working on a few projects recently created with and it's incredible how much you can get up and running so quickly! Big 🙏 to @jetbrains folks that made this happen!
8
11
130
@joreilly
John O'Reilly
2 years
Build an offline-first app >> nice guide for what can be quite complex area! #AndroidDev
2
23
127
@joreilly
John O'Reilly
3 years
#JetpackCompose + #SwiftUI + #KMM = most productive, pragmatic, low-risk (and fun!) approach to mobile app development Just saying 😀
10
18
126
@joreilly
John O'Reilly
2 years
Sending ViewModel Events to the UI in Android Nice overview of Google’s new, opinionated, guidance on handling "ViewModel Events". As mentioned, this approach simplifies some areas but does add other requirements that must be met for it to work.
6
26
125
@joreilly
John O'Reilly
2 years
Testing Kotlin coroutines on Android Essential reading covering a range of scenarios you can encounter when unit testing async code on Android.
2
15
124
@joreilly
John O'Reilly
1 year
kotlinx coroutines 1.7.0 released...lots of changes but important one to note related to #KMM - "Old K/N memory model is no longer supported". The end of an era!
4
25
125
@joreilly
John O'Reilly
5 years
#AndroidDev has really hit a productivity sweet spot with combination of following...very clear now where changes need to be and also most of the classes are *much* smaller and more readable - Kotlin - ViewModel - LiveData - Single Activity - Navigation Component - Data Binding
4
26
121
@joreilly
John O'Reilly
10 months
Cool to see this added. #koin
Tweet media one
@Kotzilla_io
KotZilla
10 months
🚀 Exciting News! Koin 3.5 is here! 🎉 🔄 Kotlin & 3rd party libs updated to 1.9.x 🛠️ Introducing koin-bom for version management 🧰 Internal optimizations & fixes ➡️ Check out the release notes: #Koin #kotlin #androiddev #jetbrains #cloudinject
0
2
28
2
16
124
@joreilly
John O'Reilly
8 months
Kotlin 1.9.20 includes some updates that make setting up #KMP builds much easier (e.g. default hierarchy template and improved DSL). This is example from BikeShare sample ()....with Android, iOS and JVM targets (using Ktor, Realm, KMM-ViewModel and Koin).
Tweet media one
5
10
122
@joreilly
John O'Reilly
5 years
"Kotlin Multiplatform Template" by @wiyarmir Includes: - Backend project with Ktor - Frontend project with KotlinJS and React Kotlin - Android App project with KotlinJVM - iOS App project with KotlinNative - Shared network, domain and presentation
2
29
122
@joreilly
John O'Reilly
2 years
Yay, @martinbonnin and I will be talking at #KotlinConf in Amsterdam next year! 🎊
Tweet media one
7
9
123
@joreilly
John O'Reilly
2 years
Version distribution shown when creating new project in Android Studio (updated, as shown, on August 4th). What minSdkVersion are folks using these days? #AndroidDev
Tweet media one
53
11
119
@joreilly
John O'Reilly
2 years
And F is for.....Flamingo! New Android Studio Canary with Electric Eel going to beta (). Flamingo based in IntelliJ 2022.2.1 (which includes lots of nice #KMM related updates/fixes!). #AndroidDev
Tweet media one
5
12
118
@joreilly
John O'Reilly
6 months
How much time has been wasted by not including following by default in AndroidManifest.xml....I forget to add it every frickin time!! <uses-permission android:name="android.permission.INTERNET" />
13
4
120
@joreilly
John O'Reilly
5 months
Getting the native iOS look & feel in your Compose Multiplatform app by Jacob Ras Nice illustration of use of the Compose Cupertino library
0
14
115
@joreilly
John O'Reilly
7 months
iOS development with JetBrains Fleet by @romainbsl
Tweet media one
1
12
117
@joreilly
John O'Reilly
3 years
UI layer (from Google's guide to #AndroidDev architecture) Really nice guide that also highlights I think role that ViewModel can provide. Been a lot of discussion about whether VM is still needed (and in particular AAC one) but this shows again its value
6
24
115
@joreilly
John O'Reilly
1 year
If updating to AGP 8.0.0 note there's a few breaking changes. Ones I've had to apply here: - namespace required in each module - R classes are now non-transitive - buildConfig now false by default (need to update as following if needed) buildFeatures { buildConfig = true }
@AndroidDev
Android Developers
1 year
Android Studio Flamingo is now stable! 🎉 🦩 This version brings updates to UI tools like Live Edit, build tools like one-click automated profileable build and run, and more. Get the details and download the latest version →
18
112
512
6
23
111
@joreilly
John O'Reilly
2 years
Navigation Compose on every screen size Very nice explanation and also interesting example of use of relatively new movableContentOf() #JetpackCompose #AndroidDev
Tweet media one
3
23
110
@joreilly
John O'Reilly
3 years
#JetpackCompose 1.0.4 available.....and works with Kotlin 1.5.31!
2
14
109
@joreilly
John O'Reilly
2 years
Dynamic Island meets Kotlin Multiplatform! 😀 Hacked some small updates to the Live Activities branch of BikeShare #KMM sample () to show content (from shared code) in dynamic island (based again on article from @SwiftyAlex ) #iOSDev
Tweet media one
5
6
109
@joreilly
John O'Reilly
10 months
Some very big Kotlin, KMP and Compose related updates coming down the road (first 3 hopefully this year and last one likely in 2024)! 👉 Kotlin Multiplatform going stable 👉 Kotlin 2.0 including K2 Compiler 👉 Kotlin/Wasm alpha (enabling Compose for Web) 👉 Compose for iOS beta
4
16
108
@joreilly
John O'Reilly
2 years
Writing software for close to 40 years now and the biggest lesson I should know by now (but still forget!) is....change one thing at a time!
5
4
108
@joreilly
John O'Reilly
5 months
Getting ready for my first talk of the year....at the top of a mountain in Norway! Get to talk about Kotlin and Compose Multiplatform to my colleagues! 🇳🇴
Tweet media one
4
2
108
@joreilly
John O'Reilly
2 months
Google Developers Blog: Jetpack Compose compiler moving to the Kotlin repository 🚀 Big step forward in simplifying project setup (across Jetpack Compose and Compose Multiplatform). More docs at
0
22
107
@joreilly
John O'Reilly
6 months
New basic Kotlin Mutliplatform sample to exercise Gemini Generative AI APIs (using @JetBrainsKtor with REST version of Gemini APIs - ). UI is using Compose Multiplatform running on iOS, Android, Desktop and (Wasm based) Web.
4
9
106