Marvin v1.0

Marvin just got better!

Few days ago I've released version 1.0 of my universal React boilerplate. (Also known as Marvin) There are some big changes, and I'm pretty happy with it's current state. At least 20 applications were shipped using Marvin. It has about seven hundred stars on GitHub with quite a few community contributions.

Big updates

  • Switch from redux-thunk to redux-saga.

    Sagas are bit more complicated but they make managing asynchronous actions easier. They are really powerful and something I usually go for. Thunks are good for smaller apps, but they tend to get messy as application grows.

    Straight from redux-saga docs:

    Contrary to redux thunk, you don't end up in callback hell, you can test your asynchronous flows easily and your actions stay pure.

  • Universal async data fetching using sagas.

    This was one of the most requested features. Marvin now supports getting the async data on the server. Data is then saved to the redux store for client to reuse. Example is included, but I plan to write more detailed documentation on it.

  • Switch from SASS to postcss.

    It is time to move on. SASS is awesome, but PostCSS caught up, and it is future proof. Plus, if you are using Autoprefixer you are already using it anyway.

    I could write whole article about it, but people already did it and you can read them here.

It is opinionated

These changes and overall setup are very opinionated and crafted by our experience and needs. It is made to be starting point for us, and it might not be the best choice for you. Although, I personally think it is pretty easy to modify it to fit custom needs.

If you use Marvin please leave a comment here or on the repo. Thanks!