HACKER Q&A
📣 BrianDGLS92

What is the best language/framework for getting things done on the web?


Background: I’ve spent years learning “trendy” programming languages and frameworks. But now I just want to get things done.

Server rendered web pages, no fancy client side js, just good old websites. Quick to build, easy to maintain, just ship it.

So what are your recommendations? For a web developer that wants to be productive, not trendy.


  👤 codegeek Accepted Answer ✓
PHP => Laravel/Symfony, Python => Django, Ruby => Rails

You just can't go wrong with one of these 3 above. Boring. Tested. Server side web pages

All the 3 above also have great communities, support, documentation and above all, plenty of experienced talent over the years. These are battle tested.


👤 readonthegoapp
I would say not laravel because it has new releases every other day, forces you to use tailwind and webpack and all that, etc.

Their old simple API framework is deprecated.

I started looking at Yii and Phalcon a bit but not crazy about either.

Yet.

I want something like Struts but for PHP.

So, I might have to... create another framework. :-D

Thought about RR but every time I jump in again, I nope out again. Maybe just need to really learn it.

FastAPI seems interesting but can't find simple videos on how to do login/auth sessions in under an hour -- red flag.


👤 giaour
ASP.NET Core is very straightforward and easy to work in. It's typically more performant than interpreted language frameworks, but it can be more verbose.

👤 thenerdhead
The one you are most familiar with. Any major MVC framework is fair game if your'e familiar with the language & package ecosystem surrounding it.

👤 teg4n_
It’s PHP. Laravel in particular is very productive.

👤 pawelduda
Can't go wrong with Ruby/RoR

If you want something less niche, PHP/Laravel

If you want something super niche, Elixir/Phoenix


👤 hunkins
NextJS is my recommendation. The React ecosystem is incredible, and NextJS brings it to the next level.

Also the documentation is fantastic, you should be up and running in 5 minutes.

Pair it with a good IDE (i.e. WebStorm) and the websites write themselves.


👤 thomasdziedzic
Ruby on Rails

👤 superasn
Php/Vuejs/composer.

Instead of php framework I just use an independent component for routing. Php has the ability to handle the rest well without requiring a server side framework (at least for my use cases)


👤 rozenmd
The one you already know.

👤 Sateeshm
Svelte/Sveltekit.

👤 thedevindevops
Django, if you know Python, can be very rapid

👤 justsomehnguy
Define 'things'.

I'm playing with Hugo right now, no fancy things, just a plain static pages.


👤 flappyeagle
Has anyone used NestJs or AdonisJs in a real way here? Would love a quick review

👤 webmaven
I suggest you choose a framework based on whatever language you know well, or are willing to learn well.

I'm assuming you aren't building internal apps in an enterprise environment that would push you toward Java or .Net, but instead public facing sites/apps as an independent developer.

For Python, the major popular choices are Django[0], a "batteries included" framework, and Flask[1], a more lightweight option.

For Ruby, the equivalents are Rails[2], and Sinatra[3].

There are many other options, mostly created with a specific niche or use-case in mind.

Personally I am most familiar with the broader Python ecosystem, so additional frameworks that come to mind are Pyramid (Lightweight framework that scales up to complex projects as needed), Tornado (async non-blocking), Dash (low-code for ML), Cube (semantic web).

And of course there are many other languages (eg. Java, PHP, JS, etc.) in which you can create web sites and apps, but sticking to the popular options to start with has advantages in terms of ecosystem, documentation and other learning resources, and so on.

I'd be remis if I didn't mention one other option that has a lot of bang-for-the-buck if it fits your use case: Most websites (and a lot of web apps) are content-oriented and just a content management system. In which case, starting from an open source CMS and doing a bit of customization will get you to "done" a lot faster. There are plenty of open source CMSs to choose from (most are written in PHP) but the most popular by far is humble WordPress[4]. Check it out if your site is going to have anything like a simple posts and pages organization, and a drafts and publication workflow (personally I am invested enough in Python that even for that sort of site I default to choosing something like Wagtail or another Django-based CMS[5], or Plone[6], which reinforces what I said at the start: make your choice based on the languages and tools you know well).

[0] https://django.org/

[1] https://flask.org/

[2] https://rubyonrails.org/

[3] http://sinatrarb.org/

[4] https://wordpress.org/

[5] https://djangopackages.org/grids/g/cms/

[6] https://plone.org/