HACKER Q&A
📣 DataJunkie

Best Tech for a Web Site in 2020


I want to resurrect the linked thread to the right, but focused on 2020. (Original thread: https://news.ycombinator.com/item?id=15685905).

I am a competent programmer, and I want to create a website, which I have not done in a very long time. My best language is Python, though I am not against using PHP or some other language. I am familiar with HTML and CSS, but not great with JavaScript yet. In my case, it would be something similar to a community site (like a small social network) with a newsfeed, p2p chat, mailbox, forum (preferably VBulletin) etc. and would need to be mobile friendly. I know that I will use PostgreSQL due to spatial data types, likely Nginx, probably on AWS.

Over the years, there have been many trends in web development such as Ruby on Rails in 2006. Now, there are so many JavaScript front end packages like React, Vue and Angular, and even for back end work like NodeJS. In 2020, I am lost as to all of the options and if all of these decisions need to be made before working on a project of this size.

Obviously, this is a vague question and heavily depends on the use case, but I am interested to hear if HN has suggestions on things to consider and what to think about when deciding. What do you think is the best tech for a web app these days, in 2020?


  👤 Jefro118 Accepted Answer ✓
Since your best language is Python, I would probably say Django. Vue and React are probably both fine choices for a front-end framework. If you don't want the front-end framework running across your whole website but instead just for certain components like chat I would go with Vue and then use Django with templates to create the pages.

👤 joelbluminator
Well you know Python so Django sounds like a no brainer. The closest family members are Laravel (php) and Rails (ruby). Elixir isn't OOP so it's gonna come with a learning curve.

👤 mister_hn
There's no best tech stack, but I am pretty sure that the best tech for you is the one you are comfortable with.

It's more important to get the job done than thinking on what tool to use. This aspect would be considered only when you'll scale up, thus doing a rewrite/upgrade of the actual tech.


👤 nicbou
For read-only websites, I use and love Craft CMS. I built a lightning fast docker setup for it. If it were a one-off job for someone else, I'd use WordPress because it's easier to find other devs.

For CRUD apps I use and love Django. It's a great backend with plenty of goodies to make life easier.

For lightweight APIs that don't require an ORM, I would just use flask.

For frontend development I use VueJS. I'd use React otherwise. I just know Vue better.

I pick the right tool for the job, with a bias towards technologies I'm familiar with.


👤 masonic
Did you check the responses to the numerous other submits of this same question?

https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...


👤 raztogt21
As a "vet" Frontend Developer. This is my go-to most of the time for websites.

https://nextjs.org/learn/basics/create-nextjs-app


👤 pryelluw
What kind of website are you creating? Start with the what and then with the how.

👤 mstibbard
Python & Django because you already know python. If you want to learn something new I'd suggest Elixir & Phoenix, Phoenix's new LiveView capabilities are pretty incredible.

👤 edimaudo
Keep it simple use django or flask since you know python already.