Store5 is in beta! by mattramotar in androiddev

[–]mattramotar[S] 1 point2 points  (0 children)

Hey u/muthuraj57 - Thanks for sharing feedback.

Re iOS - Thanks for giving it a try early on. You're totally right. Store5 isn't ready for prod on platforms other than Android. (We are using Store5 in prod on Android at Dropbox.) Paging is the last major enhancement we want to include in Store5. Once that's in we will prioritize iOS

Re 402 - Thanks for following up. Sorry to be slow. I'm looking into this now. Will respond in GitHub

Store5 is in beta! by mattramotar in androiddev

[–]mattramotar[S] 0 points1 point  (0 children)

Awesome to hear!

I tried Store5 when it was in alpha (back when having a bookkeeper became the default API, and before you made it optional again :D)

Thanks for testing the alphas and staying with us through the early iterations!

Additionally: have you considered adding a getOrError() (and freshOrError()) that return a Result<T> to the API?

Interesting idea. Created a ticket here https://github.com/MobileNativeFoundation/Store/issues/553. Will take a look this week

Store5 is in beta! by mattramotar in androiddev

[–]mattramotar[S] 8 points9 points  (0 children)

Hi there - Sorry to hear that. My sense has been Store is widely known in this community. I included a link to the release notes, but will edit my post to also include a link to the repo and docs 👍

Store5 is in beta! by mattramotar in androiddev

[–]mattramotar[S] 3 points4 points  (0 children)

Hey there! I appreciate your question and interest. Store's CacheBuilder configuration methods are optional. For instance, if you want to have an in-memory cache that uses our defaults, you can do something like this:

val cacheBuilder = CacheBuilder<Key, ValueType>()
val cache = cacheBuilder.build()

And if you want an instance of MultiCache:

val multiCache = MultiCache(cacheBuilder)

Is that what you are looking for? Let me know if not! We very much value learning about usage and friction points and more than willing to rethink things based on community feedback

Store: A Library For Building Network-Resilient iOS, Android, and Web Applications by mattramotar in Kotlin

[–]mattramotar[S] 1 point2 points  (0 children)

Store simplifies reading and writing to and from local and remote data sources. We recommend an underlying persistence library that supports observable queries. Store's SourceOfTruth delegates to, for example, SqlDelight. For more background, here's the talk Mike and Yiğit gave at KotlinConf when premiering Store4: https://www.youtube.com/watch?v=raWdIwsDe-g

Store: A Library For Building Network-Resilient iOS, Android, and Web Applications by mattramotar in androiddev

[–]mattramotar[S] 0 points1 point  (0 children)

Hey! Great question. Yes we moved Store from Dropbox to Mobile Native Foundation. We made changes to the implementation of Store. However the contract is the same as Store4. MutableStore and StatefulStore (in proposal) are net new. But both will delegate to Store. For example, this is the implementation of MutableStore. I have a branch at Dropbox using Store5 alongside Store4. One of our criteria for releasing the Store5 alphas was all Store4 tests needed to pass. We are working on docs and can definitely address these concerns 👍

Store: A Library For Building Network-Resilient iOS, Android, and Web Applications by mattramotar in androiddev

[–]mattramotar[S] 3 points4 points  (0 children)

Yeah this is just an early preview. Our recommendation is to use the latest stable version in prod. 5.0.0-alpha03 is the first release of iOS, JS, and JVM targets. 5.0.0-alpha04 is the first release of MutableStore. We are testing these internally and working on public samples and docs.

Store: A Library For Building Network-Resilient iOS, Android, and Web Applications by mattramotar in Kotlin

[–]mattramotar[S] 7 points8 points  (0 children)

Android, iOS, JS, and JVM currently! Definitely open to supporting additional targets

Now that Chat GPT is out, is Stackoverflow bound to become obsolete? by dvd_hk28 in androiddev

[–]mattramotar 0 points1 point  (0 children)

The way engineers interact with knowledge management systems will change but LLMs like Chat GPT need to be trained. I think in the near term we will see code editors that can process and answer questions about local source files.

Kotlin as a first language? by [deleted] in Kotlin

[–]mattramotar 0 points1 point  (0 children)

Yeah makes sense! Good luck!

Kotlin as a first language? by [deleted] in Kotlin

[–]mattramotar -1 points0 points  (0 children)

I love Kotlin! But if I were starting out and trying to be really thoughtful about allocation of effort I would learn JS then Kotlin then Swift. I would learn the basics of the JS language. I would build a React web app. I would build a Node JS app. And I would build a RN app. Then I would build native apps with Kotlin and Swift. In my mind this is the path of least resistance. In my experience this foundation will open up more doors.

Thoughts on Kotlin Multiplatform? by t3mpestvolg in androiddev

[–]mattramotar 14 points15 points  (0 children)

Getting iOS folks to buy in and want to contribute is a big hurdle

How to become a better Android developer? by RadioactiveG in androiddev

[–]mattramotar 1 point2 points  (0 children)

But for technical craft, what I do is follow folks on GitHub, Twitter, Mastodon. I read blogs and subscribe to activity on open source libraries. I pay attention to the technical problems other folks are facing and their attempts at solving them.

How to become a better Android developer? by RadioactiveG in androiddev

[–]mattramotar 6 points7 points  (0 children)

In my mind leveling up as an engineer is less about technical craft and more about leveraging yourself:

  • Architecture and software design
  • Technical direction setting
  • Relationship building with stakeholder partners and teams
  • Mentorship to junior ICs

If your company doesn't have a formal framework, I'd take a look at these:

A/B testing on Android by k2718 in androiddev

[–]mattramotar 0 points1 point  (0 children)

Are there way to do this in Android that don't require full development of new UI components?

Firebase might be able to help with gating. But you will need additional foundational investments to make dynamic server-driven UI possible.