Author: Fathur Rahman, engineer at remote company Xoxzo
Welcome to our development diaries for Project Plum. We’re a building a work management software for remote workers and we’ll be sharing details of the development process with our community. If you want to know how it all started, just check these blogposts before you move forward:
Introduction: We’re Building a Tool For Remote Workers
Plum Development Diaries, Episode 01: Why Build This Tool?
Plum Development Diaries, Episode 02: Do’s and Don’ts
Plum Development Diaries, Episode 03: Asynchronous communication by default
We did consider React and Vue, mainly because of their popularity and the huge resources that come with them. But before choosing the JS framework, we need to decide whether to go to the SPA architecture or monolith architecture.
After some discussion, we decided to use a monolith architecture for the MVP. Plum will use Django routing and HTML powered by Vue. When building a web application using monolithic architecture, Vue has a big advantage compared to React.
Compare to other JS frameworks, Vue has a very useful feature called inline template
Inline template basically allows developers to use any HTML template as a Vue component template!
For example, we have about.html that was written using Django.html. We can mix and match Django code with Vue code, and it will work flawlessly
Compare when using React where you must write the HTML inside the component, the winner is clear!
Both frameworks have their own advantages and disadvantages. We won’t tell you Vue is better than React because it will spark endless debates. However, for the use case that we highlighted above, Vue can be a perfect solution.