Whatever stack you know the best. The technology really doesn't matter a lot, compared to a lot of other success criteria.<p>Unless the objective is to learn - then picking the one that you know best is not a good strategy :)
<a href="http://djangoframework.com" rel="nofollow">http://djangoframework.com</a> is overall one of the best documented + most stable web frameworks out there.<p>Besides the actual functionality, that you can also get from smaller libraries, you want a framework because it gives you standard go-to solutions for many common questions you encounter when making a basic, relational database backed application (database access, database migrations, templating, forms, validation, caching, translation, etc.)
The correct answer as of ${any_date_in_any_esoteric_format} is:<p>- It depends on what you are trying to build. Basic web app can be anything from a Trello clone to Instagram. Each has it's own limitations.<p>- Go with what is tried and tested. Pick up something that is supported, where if you get stuck you can reach out to people for a fix. One of the few good things of the clusterf<i></i>k that the current JS ecosystem is is that many many amazing developers who are extremely responsive to questions are part of it. That makes life just a little bit easier.<p>- Use what you are comfortable with. Prefer a proper backend and frontend? Go for it. Everything in NodeJS is your cup of tea? Works just fine. In the end happy developer = productive developer. Just because assembly is 1000 times faster than Python does not mean you should code in assembly. Pick your tradeoffs.
Where are the hipsters in this thread? Fine, I'll be the hipster.<p>I've worked on pure PHP, Flask, Pyramid, Django, Laravel stacks, and I haven't warmed up to any of those. I'm in the vocal minority that says Django made me hate Python.<p>So here's my stack for 2018: Elixir+Phoenix on the backend, GraphQL as API protocol, React (and Typescript?) on the frontend.<p>Functional and immutable language on the backend + functionally-inspired data flow on the front end? Yes, please.<p>Now, if I could have monadic constructs and better typing on Elixir I'd be in heaven.
I feel it's important to throw Laravel + Vuejs into the mix. It's an extremely powerful framework on the LAMP side of things, fully PHP 7.2+ functional, and continues to improve w/ every major iteration from JWT, oauth2, queue workflows, console utility workflows, ORM, DBAL, Migrations, mutli-database support via PDO, blade templates. It's pretty hard to go wrong.
Basic? You need good documentation, and Philip Greenspun's book is now available for free[1]! So go with that, although you might want to swap out Oracle with MySQL -- it's from the same company anyway! AOLServer is still fine.[2]<p>[1]: <a href="http://philip.greenspun.com/panda/" rel="nofollow">http://philip.greenspun.com/panda/</a><p>[2]: <a href="https://github.com/aolserver/aolserver" rel="nofollow">https://github.com/aolserver/aolserver</a>
The simplest stack for me is:<p>Frontend - Plain HTML/CSS/JS<p>Backend - Node, Express with Nunjucks for templating<p>If I want to get a bit fancy:<p>Frontend - Vue, Bootstrap4<p>Backend - Node, Express, Nunjucks<p>DB - SQLite3 using Sequelize as ORM<p>Surprisingly, you can accomplish lot of stuff with the second setup.<p>If im going to deploy to production:<p>Provider - Either small DO droplet ($5.00) or tiny AWS (free)<p>Webserver - nginx as reverse proxy for node (free)<p>Firewall - UFW (free)<p>Email - mailgun (free)<p>Domain - namecheap (depends on domain name. $10.00/yr more or less)<p>For a basic setup you wont need any scaling setup (CDN, load-balancer and whatnot) which like what, 99% of the time?
I use a basic LAMP stack (CentOS, Apache, MariaDB, PHP 7). No frameworks. Some of my projects are quite large (tables with billions of rows, and over a million users). It might not be fashionable, but it works, it's fast (for development, and for end-users), it's well documented, and it's been tested for decades. I have no plans to change, and my new projects in development are using the same.
Do I sense a bit of sarcasm regarding longevity of JS frameworks here?<p>As other commenters say, if you want results, choose whatever stack you are most productive with.<p>As you say 'basic' web app: I'd recommend using Firebase, if you are comfortable with the vendor lock-in. For auth, database and deployment it doesn't get much simpler than this.
I really think it depends on the programming languages you know, if you know any. For example, if you know Python, just use Django or Flask. If you know c#, just use that.<p>However, if you don't know any programming languages and plan to do "just" web development, WAMP and MEAN stack is the way to go.<p>edit: WAMP -> (XAMP)
Go for what works for you, a popular stack may not necessarily be best for you unless you, at least, have experience with the technologies. My current default stack.
Frontend: Vuejs (pwa)
Backend: Go (exposes json api endpoints for frontend)
DB: mariadb / sqlite
AWS Serverless.<p>Cheap, "fresh", and scalable in complexity with too many services to mention.<p>It's easy, plenty of example code available and will get your feet wet in the hyped secdevops which might land you a nice project sooner or later.
There really aren't any wrong answers here but I've had good personal experience with Vue, Go, and Postgres. Make sure you use vue-cli. vuefire is also very convenient if you're so inclined.
GraphQL stack :)<p>Frontend: React + Apollo Client + Netlify<p>Backend: Typescript + Node.js + Apollo Server (graphql-yoga) + Graphcool/Prisma + Apex Up to deploy to AWS Lambda + AWS RDS
I am going to go against the grain here and say you should pick with whatever you are most skilled at and feels natural to you.<p>Unless you have very specific requirements, it matters very little; especially if your goal is to push a product<p>Nowadays there are many options and a lot of them are reliable.<p>E.g<p>Rails, PostgreSQL, React<p>Django, PostgreSQL, VueJs<p>Phoenix. PostgreSQL, Jquery
Check out this recent Ask HN:<p>Ask HN: What stack would you use to build a CRUD web app in 2018?<p><a href="https://news.ycombinator.com/item?id=16508965" rel="nofollow">https://news.ycombinator.com/item?id=16508965</a><p>It has 177 comments and some good meaty answers.
Entirely depends on what you're building. If it's crazy complex go native now. Super complex web apps are as the rarest of the rare, and damn near impossible. Like a handful ever, rare. That's not to be said that it cannot be done. If it's medium to basic, use a framework like Vue or Preact and a VDOM. Everything will stem from that. Node.JS is a given, maybe Go, but all other decisions depend on what you are building.
backend on kotlin with (maybe) Spring 5; frontend with Angular 4 or Vue 2; datastore on apache cassandra ; mobile version with flutter/dart ?... probably cover all your bases for the stack-du-jour.