
Ask HN: Productive web stacks in 2019? - mthwl
New year for new ideas! We&#x27;re all building side projects, startups, toy apps, or maybe day job apps.<p>Setting aside the understanding that people can be productive in any language&#x2F;framework and that it&#x27;s usually a great idea to choose the most correct tool for a problem or choose the most familiar tool, I want to ask a question: In 2019, all things being equal, what are your choices for productive web stacks?<p>Which languages and frameworks do we like for building web applications back-ends in the new year?<p>I&#x27;ll farther define <i>productive</i>, I&#x27;m sure I&#x27;ve missed something, but points for:<p>- Reasonable defaults
- Doing simple things well and fast
- Known solutions for common problems
- Large&#x2F;active community
- High quality standard library
- High quality libraries&#x2F;packages
- Good tooling (testing&#x2F;debugging&#x2F;package manager)
- Good deployment and hosting options<p>Is Ruby&#x2F;Rails still the most productive stack for <i>generic web programmer</i> building <i>generic web app</i>? Is it Python&#x2F;Django? Maybe Elixir&#x2F;Phoenix? Scala&#x2F;Play? PHP&#x2F;Laravel? Node&#x2F;Express? Java&#x2F;Spring?<p>What tool do you reach for and why?
======
mkurz
What tool do you reach for? Java/Play

Why? Using it for many years already, that's probably why I am most productive
in it. However I try to look at other frameworks every now and then (Spring,
Django) but I always come back to Play, because it just feels right to me
(E.g. I prefer Play's config style, Spring's however is much more verbose I
think. I also don't like the excessive use of annotations in Spring e.g. to
set up routes).

BTW: You can use Play without Scala, but Java only. No problem. There seems to
be this wrong prejudice that Play is a Scala only framework - which is wrong.
Yes, Play is written mainly is Scala (69% according to GitHub stats) however
as a framework user you can choose between Java or Scala. Or even mix both
languages. Back in the early Play 2.x days some features/components of the
framework where usable only via Scala, meaning you had to write Scala code to
make use of them, however these days are long gone. We run major projects in
production written entirely in Play Java.

Play 2.7 will be released soon, containing many nice enhancements and fixing
many hickups (for Java users at least) I faced the last years (I contributed
some fixes myself ;). For me Play 2.7 (Java) is the framework I always wished
existed and it's finally there (soon)!

------
verdverm
My go-to: [https://github.com/sysgears/apollo-universal-starter-
kit](https://github.com/sysgears/apollo-universal-starter-kit)

------
k__
AWS Amplify+React

It's fast, serverless and for front-end devs.

