Web Frameworks: Why is it so hard to choose one?
Developing for web is easier than ever and the amount of tools and resources available is increasing at an intense rate.
One of the main decisions that has to be made at the start of every web project is if we’re going to use a framework and if so, which one.
There’s multiple factors that can influence the decision depending on which language we want to work, the type of problem we need to solve and how fast we need to do it. This series of blog posts will be accompanied with small projects that I’ll be working on to help me learn the languages and frameworks as I’m progressing, with the final goal of understanding which one is the best framework for each case.
Express with ReactJS
Express is a minimal and flexible JavaScript framework that provides a set of features for web and mobile applications.
Express facilitates the rapid development of Node.js based web applications. Contains a great amount of HTTP utility methods ready to use, it’s easy to create a complex and robust API with it.flutter-705x397Express facilitates the rapid development of Node.js based web applications. Contains a great amount of HTTP utility methods ready to use, it’s easy to create a complex and robust API with it.
I’ll start this journey with a private shopping list with some additional features using the MERN stack (Mongo Express React Node).
My example: shareat.online
(Working on blog post about it :D )
Phoenix
Phoenix is a web development framework written in Elixir which implements the Model - View - Controller (MVC) pattern. Phoenix is a lot of times compared with other web frameworks like Ruby on Rails and Django
Phoenix provides high performance along with tools that give the chance to build projects at a faster pace. Phoenix also allows the use of real-time features and pre-compiled templates, which can make the development way faster.
My example: Work in Progress
(Working on blog post about it :D )
Ruby on Rails
Ruby on Rails (or Rails) is a web development framework that is particularly notable for its easy maintenance and the fact that it lends itself to collaboration. Rails follows two major points: DRY (Do Not Repeat Yourself) and Convention Over Configuration.
Following this key points, this framework cuts down the time of re-coding repetitive tasks and helps developers keep their code cleaner and easier to troubleshoot when dealing with problems.
Django
Django is a high-level Python web framework that encourages rapid development and clean design.
Django was designed to help developers take applications from concept to completion in record time and with security and scalability in mind.
Resources
- http://expressjs.com/
- https://github.com/expressjs/express
- https://dev.to/theankitsinha/what-is-a-web-framework-and-which-one-you-should-use-hnb
- https://hexdocs.pm/phoenix/overview.html
- https://www.toptal.com/phoenix/phoenix-rails-like-framework-web-apps
- https://elixirschool.com/en/
- https://rubyonrails.org/
- https://guides.rubyonrails.org/getting_started.html
- https://skillcrush.com/blog/13-ruby-rails/
- https://www.rubyguides.com/2018/10/what-is-ruby-on-rails/
- https://steelkiwi.com/blog/why-django-best-web-framework-your-project/
- https://medium.com/@sagarajkt/what-is-django-and-why-is-it-used-2dafdc75ce67
- https://github.com/django/django
- https://www.djangoproject.com/