Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Teller v1.0 #74

Open
6 tasks
levibostian opened this issue Aug 18, 2020 · 0 comments
Open
6 tasks

Teller v1.0 #74

levibostian opened this issue Aug 18, 2020 · 0 comments

Comments

@levibostian
Copy link
Owner

levibostian commented Aug 18, 2020

Teller began over 2 years ago. I created it to add offline support for an app that I was building at the time for an app I was building. Since then, the project has matured with improvements here and there as I add it to more and more production apps of mine.

Teller has been very experimental for years. The more that I used it, the more that I learned about how to build offline apps.

The day has finally arrived. Teller is ready to become stable. It's ready for it's next major upgrade.

Tasks planned for Teller v1.0

  • Improve the API. Teller has great features built-in but there is so much boilerplate! Time to remove that. No more having to subclass a repository protocol to create a TellerRepository.

  • Improved management over the age of the cache. If you have an app that is installed for 2 years on someone's phone, you have the possibility that the cache could grow to hundreds of megabytes or more! Teller does not help you delete cache that is super old. Teller will help you with this.

  • Improved testing. Testing for Teller is not bad, but it could be more simple, I think. Let's see if this can be improved. Maybe it can't but let's try!

  • Remove RxJava dependency. Currently, it's planned to keep RxJava support for Teller. This may change, however. LiveData and Kotlin coroutines are confirmed to be added to the project.

  • Make the project quicker and easier to learn. This mostly goes along with the documentation. The dedicated documentation website for Teller was created because Teller became full of features that made the README very long. I miss the short README days and plan to bring that back. Since Teller has been slimmed down recently and we will soon split apart the project into sub modules for Rx, LiveData, etc we can shorten the documentation quite a bit.

  • Remove annoying, "Oh, no! You forgot to initialize Teller" message. The current behavior of Teller is: when you create an instance of a repository, it will check to make sure that you have initialized Teller. If you have not, it will throw an error. This makes instrumentation tests super annoying. Instrumentation tests create instances of repos via dependency injection early with Teller.init() happening later on (right before the test executes). First, let's see if Teller needs to be initialized at all. If so, let's delay the check to make sure you initialized until the very last minute.

I'm excited. I am not sure when this will be complete so stay tuned. I am also making big, stable changes to my other library to help build offline capable apps, Wendy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant