Ask HN: What is the best language/framework for getting things done on the web?
19 points| BrianDGLS92 | 3 years ago
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|3 years ago
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.
linkdd|3 years ago
Simp4Zuck|3 years ago
readonthegoapp|3 years ago
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|3 years ago
DimmieMan|3 years ago
* It’s damn complicated with a real learning curve to get your head around dependency injection, the vast standard library, heavy abstraction and Microsoft terminology. Day 1 basics can be easy but there’s a steep intermediate learning curve.
* ASP.Net has some nice plug and play stuff for generating Open API docs or logging for example but take a look at Laravel mentioned above and see how focused it is on making it easy to add features that the customer cares about.
* Documentation is expansive but not great, heavily focused on brand new user tutorials but terrible for quickly answering how do I do X? They struggle to stay up to date and i recall spending a good hour going down a rabbit hole because none of the tutorials were using the up do date magic spell to enable something.
* For pretty much everything you can think of there’s 3 ways to do it, good luck figuring out which one is the ‘correct’ way.
This may seem like a rant, I think ASP.Net Is good for a larger, more long term project where these annoyances are outweighed by performance and maintainability but I recently did a quick project in NextJS and the difference was night and day, despite it being my first ‘real’ project with the framework.
BrianDGLS92|3 years ago
thenerdhead|3 years ago
teg4n_|3 years ago
pawelduda|3 years ago
If you want something less niche, PHP/Laravel
If you want something super niche, Elixir/Phoenix
hunkins|3 years ago
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.
webmaven|3 years ago
DimmieMan|3 years ago
Next will let you use SSR to avoid all those OAuth & async loading headaches but also leverage more complicated components and when you do, handles all the bundling and tree shaking for you.
yogini|3 years ago
thomasdziedzic|3 years ago
superasn|3 years ago
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|3 years ago
Sateeshm|3 years ago
justbaker|3 years ago
thedevindevops|3 years ago
justsomehnguy|3 years ago
I'm playing with Hugo right now, no fancy things, just a plain static pages.
flappyeagle|3 years ago
webmaven|3 years ago
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/
fswd|3 years ago
[deleted]