There was a great question over at Hacker News recently that caught my attention: What’s your favorite way of getting a web app up quickly in 2018? Or, in other words, what is your preferred stack for quickly spinning up a side project? Having given the subject a lot of thought in the past I found the responses (over 500) to be of great interest.
The thread is worth a read, but it’ll take some time to get through. In an effort to (collectively) save time I wanted to summary the takeaways. This is not an exhaustive list, just my takeaways based on a thorough read of the comments. And, yes, this is a obvious over-simplication and the below categories are somewhat arbitrary but I still think there is value in summarizing the entire (quite messy) set of responses.
Hacker News’ Top Web App Stacks:
- Ruby on Rails
- Problematic in many ways, but if all you care about is getting a web app up quickly, it’s still a top choice because of the gems and community support.
- Flask
- Django
- Not as popular of an answer as I would have guessed, but still a top choice.
- Golang
- This came up many times, and it very much seems to speak to the Hacker News readership as well as the popularity of the language. Go was often mentioned alongside React.js or Vue.js. To mean this setup seems like a great way to build an app, but doesn’t really seem like the fastest way to spin up a new app, which was the topic of discussion.
Honorable Mentions
- Vue.js
- Laravel
- This seems to be the go-to option for people using PHP.
- Elixir and Phoenix
- Grails
- Pyramid
- React + Firebase
- React + Node.js
- Node is another item was seems under-represented, but React remains popular for frontend work.
- Create-react-app
- Vanilla PHP + HTML5 UP + SQLite3
- This was an interesting addition that sparked a huge number of comments. The suggestion was contentious, but it was still an interesting thread.
- Meteor
- This framework has fallen out of favor, but it was a popular option for a time. It still garnered a few mentioned, but not much discussion.
- Clojure
- Sometimes with Reagent or Pedestal
- WordPress
- Given the target audience it wasn’t shocking this didn’t come up much.
- Springboot
- There was no way Java wasn’t getting a mention here.
- PostgreSQL
- This was a popular mention as part of a stack
Hosting, Tools, and Misc.
- Heroku
- This came up time and again as a place to get your minimum viable product up and running quickly. Heroku seems to be host of choice for yet-to-be-scaled web apps.
- Digital Ocean
- Lots of of options, but a top choice is their cheap, easy-to-spin-up Ubuntu boxes (droplets)
- AWS Lambda
- Not a lot of mentions but its came up enough to be notable.
- Firebase
- This came up a number of times, and not just for data storage but also for easy user authentication.
- Google App Engine was brought up a few times as well, but doesn’t seem as popular as Firebase on its own.
- Static Hosting
- Surge.sh, Netlify, S3, etc., are all popular tools for standing up a sites quickly. These are especially useful when they have free starter pages. Github Pages was popular as well, despite its limitations.
- Extensions to static hosting sites, like Netlify CMS, were an interesting part of the discussion. They didn’t come up much but could have a real impact on some projects.
- Gitlab
- Docker
- Regardless of the language or libraries you use, this was pointed out to be a way to reduce the total overhead of bundling and maintaining an app. This thinking in terms of overhead reduction really resonated with me.
- Dokku would fall under this as well. Ansible was mentioned a few times in the same way.
- Bubble.is
- This only came up two or three times, but if you want a low- to no-code build this is a top option. This would be ideal for, say a small pet website or a simple no-code web app or even a small SaaS project
Takeaway
The most popular sentiment was that the fastest way is what you know, which is both obvious and avoids the entire point of the question at hand. While I don’t disagree with this point, it obviates the need for the entire discussion. Also, this sentiment missing the point that if a side project is a learning opportunity for you — in addition to building a business — then learning a skillset that lets you quickly deploy web apps is a huge benefit.
The sheer number of mentions of Heroku has caused me to need reexamine the platform. It turns out to be a real favorite with the commenters.
AWS seemed largely absent from the discussion. There were a few mentions of ECS and RDS, a few of S3, and some talk of AWS’s free tier, but people seem not to associate AWS with “quick and easy.” Elastic Beanstalk had just a few mentions despite being aimed exactly at this usage.
Related
Sal June 4th, 2018
Posted In: Web Development
Tags: Django, Firebase, Flask, Heroku, React, Ruby on Rails, Side Projects