I started my journey as a programmer 20 years ago. I have created over a hundred custom software for small and medium businesses.
About 10 years ago, I stopped programming and invested all my time in the family business. I did some little software here and there but nothing serious.
Since last year, the company I'm in has had a big project to update and redo almost all of our internal software. Everything will be web and cloud application. No more Windows software and no more local PC installation.
I decided to redo all the applications myself. This big project will take me about a year and a half.
To do this, I finally decided to use a full stack framework for the simplicity and speed of development. We are a small business, time is money.
I took advantage of the several weeks of inactivity of covid-19 to study the latest web development tools and framework.
The choice of programming language and framework is not an easy task. Like everyone else, I started reading and watching videos on the subject. I read a ton of pro and less pro blogs and started doing some demos and tutorials.
Demos were made with the Django, Rails, Laravel, Node, React and Vue frameworks. Yes I know that's a lot! When I do something I always do it with passion or I don't do it at all.
After these initial tests and readings, I quickly concluded that for my business needs, a monolithic solution was best. All my learning efforts will therefore go to the backend frameworks, so I decide to concentrate on Django, Rails and Laravel.
Since these frameworks are very similar, I had to develop more than a demo todo list to evaluate them.
So I decided to build a real small project from A to Z with these three frameworks.
The evaluation was supposed to last 2 weeks and ultimately lasted more than 3 months. 3 months of learning, building and real comparison of these three frameworks.
It goes without saying that I have a lot to share. Some of my conclusions match what we can read everywhere, but I find that many blog posts or videos have dated information. Some frameworks have made a lot of change in the past year or two. So all the reviews that are more than 1 year old are partly obsolete.
I will divide this post into five parts. You are currently reading part one. In part two, three, and four I'll cover Django, Rails, and Laravel. Finally in part 5 I talk about the conclusion of my research and my final decision.