top | item 16594145

Ask HN: What stack you use to build websites?

34 points| bryk | 8 years ago | reply

47 comments

order
[+] rogual|8 years ago|reply
Almost always Django. Customers love Django Admin, and when they don't, it's really easy to tweak.

For dynamic apps that don't fit the Django model, I'll bust out Node.js, and for static sites, just a plain Python script to generate HTML files.

Boring choices, but the older I get, the more I'm OK with that :)

[+] markfer|8 years ago|reply
For someone looking to learn to code web-app's from scratch, would you advise Django over Vanilla JS, Node, or Vue?
[+] kromem|8 years ago|reply
Go & Postgresql on the server.

Angular 2+ on the frontend.

Why?

Go is fast and bare bones, and works nicely as a backbone to an API (especially with a GraphQL intermediary). Postgresql plays very nicely with Go, especially if writing queries by hand.

Angular 2+ is great. Vue is also really nice, but I love what Typescript brings to the table and find that Angular being built around TS makes me enjoy it more than retrofitting Vue + TS definitions. I decided on Angular 2+ with great trepidation, but the bad rap carry-over from AngularJS turned out to be entirely undesreved. It's a wonderful framework, and I'm enjoying it greatly.

Also, a shout-out for AWS Lambda. I use it here and there for heavy workloads (personally I wouldn't replace my webserver with it entirely yet), and it made my server infrastructure MUCH more pleasant.

[+] m_fayer|8 years ago|reply
ASP.NET Core. VueJS on the frontend if it's a webapp.

Jekyll if it doesn't need to by dynamic.

[+] neverminder|8 years ago|reply
Backend language: Scala. Long live FP and type safety.

Backend framework: Play. Inspired by RoR, works with Java/Scala. Light, fast, scalable out of the box.

Database: PostgreSQL. Introduction is not needed.

Database library: Slick. Nothing beats compile time type safety.

Frontend language: Typescript. Better than pure JS hands down.

Frontend framework: Angular (5). Because Typescript is a first class citizen.

[+] abhishekjha|8 years ago|reply
I have a question. How do you speed up the database CRUD operations when the number of records fitting a certain criteria may range to 10000 or more. It takes a lot of time to get this over the network and the user is not going to use/see all of it at once. Given such constraints, how do you speed up the query so that there's little to no lag time for the user(at least for say first 100 records).
[+] ravenstine|8 years ago|reply
It depends on what you mean by a website. If it's one level above a static page, a static site with frequent changes, I'll make my own build chain in Node.js with Gulp and host the pages in S3 and Cloudfront.

Or I will use Rails behind Nginx if the site is more dynamic. Each release would get built into a Docker image and be deployed that way. HAProxy would be there mostly to forward requests to multiple apps if there are any.

For a site that needs a lot of client side scripting, I use Ember. I'm so happy with it that I will probably use it with Fastboot for those times I would have used Rails. In terms of databases, I've been using CouchDB unless I had an overwhelming need for relational records. It saves time because CRUD and websocket/eventsource/longpolling come with it out of the box.

[+] spondyl|8 years ago|reply
For anything dynamic, I usually start with Django but I'm not opposed to building with Node and React

For my personal site, I rebuild it in whatever language I'm trying to learn. In this case, I'm rewriting part of it in golang which I use at work.

[+] jetti|8 years ago|reply
For work, VueJs and ASP.NET MVC (on .NET 4.6.2, not core).

For fun, a mixture of VueJs and Elixir/Phoenix and ASP.NET Core

[+] komuW|8 years ago|reply
Language: Go,

Framework: https://github.com/apex/up

Hosting: AWS lambda

I can't speak highly enough of up, it's amazing for creating serverless(sic) apps without changing the way you structure your app. I also use up for some python apps

[+] kromem|8 years ago|reply
How much slower are web requests vs a live server?

I see that Up has a warming feature - is that sufficient enough to avoid slow requests for you?

Does the reliance on Up as a service make you nervous for using them for production? How much hot water would you be in if they close their doors?

Are you using Up Pro?

I know - lots of questions, but it seems like a neat offering I hadn't seen before, and I can't find any testimonials elsewhere online.

[+] jimmy162|8 years ago|reply
Vapor - Swift on the server!

If you haven't heard of it, check out https://vapor.codes. It's an absolutely amazing framework that is non-blocking in version 3. The performance you can squeeze out of it is unbelievable.

[+] cutler|8 years ago|reply
That site has some serious problems on my OS X Sierra/Chrome. Every time I load the tab it just freezes the whole browser. Great advert for all the claims they're making.
[+] bgdkbtv|8 years ago|reply
Have you built any web apps using the framework?
[+] rs86|8 years ago|reply
We mostly do rails apps but one of our 4 projects use elixir/phoenix on the backend and react on the frontend.

We are really pleased with the performance of BEAM and the functional flavor of elixir clearly leads to code that is easier do read and to test.

We have been toying with Elm lately.

[+] nkristoffersen|8 years ago|reply
Static sites: GatsbyJS on S3 or Firebase hosting.

Web apps: ReactJS on s3 hitting NodeJS API on AWS EB.

[+] adtac|8 years ago|reply
I'm getting very comfortable with plain Go without any frameworks for the backend. Postgres for databases.

For a quick prototype, I'd use Vue.js and Spectre for CSS. I suck at frontend anyway.

Deployed behind nginx.

[+] kaniskode|8 years ago|reply
Flask or Django for dynamic sites.

Jekyll hosted with Netlify for static sites.

[+] matthewmacleod|8 years ago|reply
Linux, PostgreSQL, Rails, Webpack, React and Sass. For the most part.

This is a great solution for general-purpose use, dropping React of course if there’s no need for interactivity.

[+] EliRivers|8 years ago|reply
I'm writing the HTML and CSS in Emacs, applying common elements with Make, and feeding it to an Apache server over on NearlyFreeSpeech.
[+] acdw|8 years ago|reply
I'm doing basically the same thing but with markdown thru pandoc as well. It's very basic but it works for my personal use.
[+] jasonroot|8 years ago|reply
HTML/CSS/JS & LAMP with Craft CMS for dynamic sites, just HTML/CSS/JS on S3 for static sites.
[+] SnowingXIV|8 years ago|reply
Basic websites? Probably Jekyll with some build tools like gulp. Never needed anything more for that.

Otherwise Rails with PostgreSQL.

[+] tmaly|8 years ago|reply
right now I am using a Go framework called Gin for my food site.

I use libsass with bourbon.io and I have a Makefile to compile the binary, generate the css, minify things.

For blogging, I have used Wordpress

But I have recently started looking on moving over to Hugo to generate html using a bootstrap 4 template.

[+] larryfreeman|8 years ago|reply
I'm thinking about going with Clojure for a POC. Anyone using Clojure?
[+] manitoo|8 years ago|reply
Excellent choice. Two of the best reasons to recommend:

1. Hiccup syntax is a great way to “template” HTML, being clojure-native data structures with the full power of the language available to you.

2. REPL-driven workflow makes it a dream to debug things like request handlers.

You will miss out on some perks from bigger/more popular frameworks—there’s no built-in admin panel waiting for you—but you can take advantage of the Lisp Curse here and quickly build out what’s missing. I find it’s a worthwhile trade-off.