But making a hacky prototype that probably won't have more than 10ish users (if it's even used) is completely different.
What setup allows you guys to go from idea to prototype the fastest? Bonus points for the least amount of packages, installation steps, deployment config etc.
(essentially looking for something at the intersection of these ideas: https://mcfunley.com/choose-boring-technology and speed for personal side projects)
For other people it'd be more likely LAMP stack, others still .NET.
The fastest thing is what you are familiar with not what is trendy or new.
I'd also probably use managed services for DB etc versus running my own for a small prototype just because most of the time you can fit in the free tier and not worry about managing db's etc at first.
Firebase would also be worth a good look for quick prototypes but I wouldn't stay there long term most likely.
Yes, you're reading it right: even in 2021, PHP gets the job done in a fast way, prototyping is easy and the deployment is even easier. Just buy a hosting plan and you're done.
You can use zero package management or you can adopt Composer to get things modern.
The Frontend? Just drop some HTML/PHP files with Bootstrap or TailwindCSS and you're good to go
I don't do front-end; just server-side Django templates. Every time I try to build something on the front-end with JavaScript (either with a framework or vanilla), I get tangled in a huge mess.
* Server side: Node.js, ASP.NET, Django, Rails, Phoenix.
* Client side: React, Vue, Angular, Redux, Mobx, etc.
I would advise using something like Symfony to add a bit more structure like routing etc.
Need more magic ? Go with a tested framework like Laravel etc. If PHP is not your thing, you can use Python/Node whatever you are comfortable with but some of those languages have different server setup that is sometimes not as easy as LEMP/LAMP. And no, we don't want to introduce things like docker etc.
I actually had a little investigation within a team to choose a web stack for a similar situation recently. The team's skills set included Java, Golang, PHP, NodeJS, and TypeScript. And we were convinced that the quickest and cheapest would be building on top of Laravel framework with a few packages (Nova: Admin panels, Spark: SaaS app scaffolding, Jetstream: Auth scaffolding with 2FA and OAuth, Horizon: Queue monitoring, Forge & Envoyer: Server Management and Deployment). Building on Laravel is easy alone but for us the main reason to choose that stack was really those packages. They will save you lots of development time at almost no cost.
No stack, no packages, no installation, no deployment! Instant gratification! But also, no security, no scalability, no complexity, no fancy U/I. We're taking about a conceptual prototype, not something that could easily transition into a real product.
Beyond that, there is also the practice. the more time you spend with a stack, the faster you get. The more fluent you are. The better you understand the inner workings, nuances and customizations.
My personal stack is Django but it could be anything. I am working on my 5th or 6th web app and my understanding and confidence is lightyears ahead of where I was during the first app.
For me, react for the front end, communicate with a python FastAPI back end, use SqlAlchemy for an ORM to connect to a PostgreSQL db (which I already have setup for my side projects).
I knew those platforms really well, but I still wasn't all that productive for my first prototype. Now that I've started my fifth, things are getting much better.
The key: don't start from scratch! I can move very quickly now because I've been building up an ecosystem of components, tools and patterns.
Is there some way to find a full-stack app template or high-quality open source examples for your most familiar stack? That's probably the optimal approach
For me, these days, it’s Rails.
For me, awhile back it was Sinatra + CouchDB (that’s a fun stack, questionable from a maintenance standpoint but real fun)
For frontend, I think I am fastest with React, but I prefer to use handwritten js most of the time.
I know C# and PHP, for me if speed matters then I go for C# just because I use it more on a daily basis.
Even though I know PHP would likely be quicker if I used both equally on a daily basis.
Right now I'm working on a microservice for SaaS, to isolate the core of the SaaS from the public website. The microservice renders the website and takes care of auth & payments.
Flask
Vanilla JavaScript
jinja2 templates
SQLite
A cheap VPS or PaaS - Linode, DigitalOcean, Heroku
- flask/django
- rails
- ASP.net
Add a gateway in front of a lambda which hits a database.