Back-end web frameworks were overshadowed as developer focus moved from the server to client-side frameworks like React and Angular, but they remain an essential part of the web stack. Cultivating expertise in server-side technologies is a lucrative career move.
There are dozens of web frameworks, and it can be difficult to choose between them. Which will reward your attention with well-paid and plentiful job opportunities? Cutting-edge frameworks are a risk. They are exciting to learn but not a safe bet if guaranteed employment is your goal. We’re going to focus on the best server-side frameworks that are being used to build new applications today.
Ruby on Rails
Ruby on Rails is a Ruby-based MVC web framework that prioritizes convention over configuration, making it easier to learn and use than frameworks that need a lot of upfront configuration. Another way of putting this is to say that Rails has sensible defaults that help to protect developers from foot-gun incidents.
Ruby on Rails remains a popular web framework. Rails was innovative when it was first introduced. If it seems less innovative today, it’s because the principles that contributed to the design of Rails have been incorporated into subsequent frameworks. Rails experts will have no trouble getting work, both to build new Rails apps and to maintain existing codebases.
Express has a reputation for complexity and a steep learning curve. Developers who prefer the Rails-like approach of standardization and convention before configuration might have an easier time with Meteor.
PHP doesn’t get a lot of love, but it is the most used language on the web and the foundation of the most widespread content management systems. Laravel is a well-regarded and widely deployed PHP framework with an excellent ecosystem, vibrant community, and top-notch tooling. Laravel makes it easy to get a project up-and-running, and it is fast becoming the most popular PHP MVC framework.
Symfony is a common alternative to Laravel but is more challenging to get started with, much like Express is more complex than Meteor. Symfony tends to be the preferred framework for large enterprise PHP projects, and if that’s your area of interest, it’s worth learning. If you’re more inclined to smaller SaaS projects and custom web apps and you don’t already have a background in PHP web development, Laravel is the path of least resistance.
If you’re interested in learning Laravel development, I recommend the excellent Laracasts video series.
Java is not the language of choice for most web developers, but it is huge in the enterprise world. Spring MVC — a module of the Spring application framework — is a leading Java web framework and the obvious choice for a developer already familiar with Java or a language that runs on the JVM, such as Kotlin. If you’re looking for a career as a web developer for enterprise organizations, learning the Spring application framework and Spring MVC is a good bet.
In the first paragraph of this article, I warned against investing time in the new and shiny instead of the tried and tested. I’m going to somewhat contradict myself by urging you to take a look at Phoenix — a relatively new web framework for a relatively new language.
Phoenix is an MVC web framework developed in Elixir, a functional programming language that runs on the Erlang virtual machine. Both Elixir and Phoenix were created by Ruby developers. Elixir’s syntax has some of the qualities of Ruby, and Phoenix is not challenging to learn for anyone who already knows Rails. The comparison shouldn’t be taken too far because Elixir is different from Ruby in many ways, but it’s similar enough in spirit that Elixir has been enthusiastically adopted by many Ruby developers.
What’s so great about Phoenix? It’s fast, benefits from Elixir’s (and Erlang’s) approach to concurrency and fault tolerance, and the Phoenix project has implemented interesting innovations that push the boundaries of what’s possible (or easy) in server-side web application development.
For example, Phoenix recently introduced LiveView, a technology built on top of WebSockets that can be used to create dynamic applications with client-side interactions written in Elixir code running on the server.
Phoenix is by no means a sure bet if job security is your goal, but I’d put money on it making significant inroads into traditional Rails and PHP territory.
We’ve covered five of the most prominent server-side web frameworks across a variety of languages, but our list is by no means exhaustive. Among the web frameworks we might have included are:
Each of these is actively developed, widely deployed, and worth learning for developers looking to build a career on the back-end.