Gabriel Samojło

20 posts

Gabriel Samojło banner
Gabriel Samojło

Gabriel Samojło

@GabrielSamojlo

Senior Android Developer & Tech Leader @netguru

Katılım Nisan 2010
71 Takip Edilen47 Takipçiler
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
@ekrem_qb @JimSproch @exabyt3_ Currently, I am responsible for maintaining two apps (one in Flutter, one in Compose Multiplatform, both on production). Although Flutter feels more mature (especially the build system and toolkit), Compose is my go-to choice because of how modern it feels to create the app.
English
0
0
1
34
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
@ekrem_qb @JimSproch @exabyt3_ For example, constructing a widget tree using parameters like `children: []` leads to a crazy amount of nesting, parentheses, and poorly readable code. Not to mention how modern Kotlin is, with a super-rich standard library, type safety, data classes, and all its features.
English
1
0
0
12
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
@JimSproch @exabyt3_ Additionally, Compose & Kotlin feel so modern. Flutter (mostly because of Dart) is giving a bit of an old tech vibe. Having iOS stable is great news for multiplatform development!
English
1
0
4
163
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
Thank you all for coming to my talk @PlDroid and for all the chats. Hope to see you soon!
Gabriel Samojło tweet media
English
0
1
3
74
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
@rozkminia First one. The second option can be a bit misleading, especially in the code review. It can lead to a cognitive overload: it is hard to tell if it is a plain method or a use case invocation - and this difference can be very important in how the code is structured and organized.
English
0
0
3
586
Jarosław Michalik
Jarosław Michalik@JarekOnTech·
Kotlin devs – which style is your preffered? First or second?
Jarosław Michalik tweet media
English
56
15
170
28.3K
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
@oianmol IMO, overriding invoke operator makes code less readable, especially during code review. Not knowing full project specifics AwesomeUseCase("") looks like a method call that can be misleading. execute is way clearer and safer for a wider audience
English
0
0
0
48
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
Looking forward to speaking at @PlDroid in Warsaw! If you are going to be there, let me know and come along to listen to my talk about annotation processors ☺️
plDroid 2024@PlDroid

In this presentation, you will learn what are annotations, why are they so useful, and how to benefit from processing them. @GabrielSamojlo will explain how the annotation processor works and will guide you through creating a simple one completely by yourself!

English
0
0
3
215
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
@chethaase I was literally waiting a few seconds for the thumbnail image to fully load 😂
English
0
0
2
0
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
@JorgeCastilloPr Worth to mention it is not only aplicable to Flow's but to any reactive solution your project is using 👆
English
1
0
0
0
Jorge Castillo
Jorge Castillo@JorgeCastilloPr·
A common mistake I frequently find in Android codebases is setting the UI value imperatively on the ViewModel. That's usually a code smell. You want all your UI state reduced from your application state via Flow operators, then stateIn to map it to a StateFlow.
English
8
6
70
0
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
@KalumeYves Looks like your LocationGooglePlayServicesProvider is leaking a MainActivity instance. I assume you are assigning this Provider a MainActivity instance to the context field. I bet you should clear this instance (context field) on MainActivity's onDestroy method to avoid this leak
English
2
0
2
0
Yves Kalume
Yves Kalume@KalumeYves·
I need some aliens to translate this canary leaks stacktrace to human language. Thank you ! #AndroidDev
Yves Kalume tweet media
English
2
1
6
0
Gabriel Samojło retweetledi
Mateusz Bratkowski
Mateusz Bratkowski@MateuszBrat·
Yesterday I learned that you can connect your Android Studio to your Jira board and have access to all tasks which are assigned to you. This is so useful - you can create branches corresponding to your tasks directly from your IDE, without context switching.
Mateusz Bratkowski tweet media
English
11
53
259
0
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
I've screwed up but no need to be passive-aggressive about that, Hilt 😂
Gabriel Samojło tweet media
English
0
0
2
0
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
To whoever needs to hear this: You are not being paid for the amount of the code you write. You are being paid for the solutions and products you deliver.
English
0
1
3
0
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
Having a chance to speak at the main stage at droidcon Berlin 2021 was an honor and an amazing experience. I would like to thank all of you for attending, supporting, and organizing such an amazing and safe event. See you soon! #dcbln21 #annotations
Gabriel Samojło tweet media
English
0
0
2
0
Gabriel Samojło
Gabriel Samojło@GabrielSamojlo·
Is it poorly cropped Coca-Cola advertisement? Perhaps.
English
0
0
0
0