RESTful App Plan: Kotlin + MVP (Live Thread!)

      No Comments on RESTful App Plan: Kotlin + MVP (Live Thread!)

About App

I have to improve my Android skills so I decided to create a new app that uses RESTful API. It is not my first REST app because I already created Flickr and Weather but this one will include things like:

  • Kotlin
  • MVP pattern
  • RxJava2
  • Dagger2
  • Retrofit

I will use Trello API and Kotlin android starter as a base. This is “live-post” so I will try to update it every day.

Learning Stage

I spent one week on learning as much as possible about Dagger, RxJava. I knew how to implement it but I wanted to fully understand it. I also analyzed and understood Kotlin android starter. It already taught me better project structure. It also introduced me things like:

  • Stetho
  • LeakCanary
  • Sherlock
  • Traceur

Issues

I found some issues in my previous projects:

  • Not logging properly
  • Not sure if I handle MVP when orientation changes
  • Messed-up search bar
  • Not-so-good dependency injection

My friend told me that I should check out Mosby as it’s a great lifehack when using MVP. I spent some time on it and now I have a great solution for MVP orientation change.

Solutions

  • Use Timber for logging
  • Mosby provides ViewState that will handle it
  • RxJava2 will be good for search bar
  • Refactoring di with current knowledge should be easy

Now I’m much better especially at project structure and Dagger usage. I have to admit that I’m a little bit ashamed because I was learning from small projects that I have not committed on github and my old published projects remain untouched. I have to admit- those are poorly written regarding things I learned last 2 weeks. I have to do something about it. I will not refactor everything but I will definitely change it a little bit.

Small surprise

I neglected one inconspicuous thing. While I was delivering better content by the day, my book cover was usually not so professional. I’m talking about git commit messages. I have not figured it out on my own but fortunately, my friend Maciej pointed it out. Well, there is always something to learn.

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *