[HN Gopher] Ask HN: What's your absolute favorite tech stack, af...
       ___________________________________________________________________
        
       Ask HN: What's your absolute favorite tech stack, after having
       tried others?
        
       I've tried quite a few programming languages/frameworks for both
       backend and frontend, and I found that I absolutely love working
       with React on the frontend and I'm on the fence between two options
       for the backend: Django (because it's so easy to come up with
       something) and Golang + GraphQL, due to the typed nature of Go and
       how you combine them with TypeScript on the frontend.
        
       Author : user0x1d
       Score  : 26 points
       Date   : 2021-04-10 16:28 UTC (6 hours ago)
        
       | r-s wrote:
       | Rails API + React
       | 
       | Just because after years of being in both ecosystems I am
       | ridiculously productive and don't fall into as many traps. With
       | heroku in 30 mins I could have app deployed production ready with
       | auth, CI, API, database setup, and deployment pipeline.
        
       | quickcorp wrote:
       | You can QCObjects for front-end and back-end in JavaScript for
       | browsers and NodeJs
        
       | offtop5 wrote:
       | Firebase/ Fluter.
       | 
       | Don't care about Vendor lock-in , or how it actually works. It
       | just does
       | 
       | Dart is such a pleasure
        
       | karmakaze wrote:
       | React gets used at work and I see it sometimes being a backend
       | dev. For personal projects prefer Vue+TypeScript.
       | 
       | Flutter/Dart (or perhaps a game engine Unity/Godot) for mobile
       | unless there's specific support that I need more natively.
       | 
       | Actual backend varies depending on the project and can be
       | anything from Go, F#, Kotlin/Javalin/JDBI, Elixir/Phoenix, and an
       | SQL database either PostgreSQL or MySQL, sometimes CockroachDB,
       | or a service like Firebase. TBH, the choice of backend tech
       | doesn't actually matter that much once your application has a
       | working foundation. Adding more usually just means replicating
       | whatever, hopefully good patterns you've already created, and
       | each successive addition gets easier as the foundation or
       | examples to copy from get larger. Even a PHP/Yii project was as
       | manageable as Ruby/Rails if it's rolling and cared-for, but I
       | wouldn't personally choose these as I prefer static typing and
       | don't feel slowed down by it.
       | 
       | Don't have an answer for Desktop, or need. If I did, I'd want
       | something direct and cross-platform, maybe Java FX (or now
       | Flutter).
        
       | ingvul wrote:
       | Go + plain html + plain js + postgres (or mysql) + nginx. If I
       | need something more fancy, then Vue.
        
         | readonthegoapp wrote:
         | no web framework, no template, etc.?
        
       | topicseed wrote:
       | For my content websites: WordPress and Cloudflare.
       | 
       | For my apps:
       | 
       | - React (tsx)
       | 
       | - Fastify
       | 
       | - Postgres w/ Knex
       | 
       | - OpenAPI 3.x w/ TS codegen
       | 
       | - Google Cloud (Run & Functions)
        
         | arkitaip wrote:
         | Curious to hear what your CF setup is for WP. Any special
         | performance tricks?
        
       | throwawaysea wrote:
       | For those with a lot of web programming experience, I'm also
       | curious what is the easiest stack in which to achieve good
       | security. I'm also interested in hearing about hosting providers
       | - I would particularly want to support smaller companies (rather
       | than big cloud providers) but am not sure how they do with
       | security, DDoS protection, and other such arcane matters.
        
       | errantspark wrote:
       | Vanilla DOM manipulation on the front-end, template strings and a
       | markdown renderer in Node on the back-end, flat-files for storage
       | until I end up needing SQLite or sometimes NeDB. If something
       | ends up being too slow I break it out and rewrite it in C and
       | ship it as WASM.
       | 
       | It isn't my favorite aesthetically but as much as I _like_ the
       | various LISPs, Rust and Haskell /Purescript I use the above nine
       | times out of ten.
        
       | jmd42 wrote:
       | Frontend: Vue (typescript)
       | 
       | Backend: Go or Java (simple and minimalistic REST-ish API, not a
       | lot of framework stuff), via Docker. AWS Lambda for some things.
       | 
       | DB: Postgres (usually managed with AWS RDS)
        
       | m_j_g wrote:
       | tried multiple stacks for last 12 years, for past two years I am
       | enamored with Haskell + Elm
        
       | SuboptimalEng wrote:
       | This is what my main focus is on these days _:
       | 
       | - Vue.js
       | 
       | - Tailwind CSS
       | 
       | - GraphQL (I haven't had a chance to do anything with it yet)
       | 
       | - NodeJS (Rust - if I'm feeling adventurous)
       | 
       | - MongoDB (cause it's easy to set up)
       | 
       | _I saved up some money and quit my tech job so I can 100% focus
       | on learning these technologies. Right now, I'm focusing on
       | learning the frontend part of this stack.
        
       | [deleted]
        
       | sylvain_kerkour wrote:
       | A few years ago I was Go + GraphQL, but in my experience when
       | your schema is too large it's hard to scale (in terms of code,
       | not performance).
       | 
       | Now I'm using Rust for the backend (its functional aspects make
       | it a perfect choice for writing business logic) which is not REST
       | (more commands oriented, like create_user, create_post,
       | send_email...) and VueJS for the frontend.
       | 
       | Even if it took a little bit of time to learn Rust, I'm extremely
       | satisfied with the productivity of this stack (Far greater than
       | all the other stacks I've experimented)
        
       | pgcj_poster wrote:
       | Frontend: HTML
       | 
       | Backend: Lib/cgi.py
       | 
       | Database: Ext4
        
       | noahmatisoff wrote:
       | Ruby on Rails.
       | 
       | Still have yet to find something else that requires such little
       | configuration and is so complete.
        
       | skittleson wrote:
       | Finding KISS solutions for the project. MVP can also be as a
       | simple as a html and vanilla js to nm validate an idea.
        
       | Redsquare wrote:
       | react, c#, redis for caching+pubsub, mongo/postgres, clickhouse -
       | awesome for analytics/mi, algolia for search, mindsdb, logentries
       | for log aggregation, datadog monitoring + catchpoint for
       | synthetic tests
       | 
       | killer combo
        
       | linkdd wrote:
       | Over the years, here is the tools that answered all of my needs.
       | 
       | Backend:                 - Apollo Server (GraphQL,
       | Javascript/Typescript)       - Hasura (GraphQL frontend to
       | PostgreSQL, translating GraphQL queries directly to SQL)       -
       | Erlang/Elixir for distributed applications
       | 
       | Frontend:                 - VueJS + VueX + ApolloClient       -
       | Bulma (CSS framework, https://bulma.io )
       | 
       | Dev environment:                 - Docker + docker-compose (a
       | single command to spin up the full stack)       - Makefile (so
       | easy to write, automate any "long" commands)       - KinD
       | (Kubernetes in Docker, https://kind.sigs.k8s.io/ )       - Lens
       | (a Kubernetes IDE, https://k8slens.dev/ )
       | 
       | (Pre)Production environment:                 - Managed Kubernetes
       | or k0s ( https://k0sproject.io )
       | 
       | Deployment:                 - Github + PR based workflow       -
       | CI pipeline as a multi-stage Dockerfile + Github Actions       -
       | CD with ansible + helm + Github Actions
        
         | giuscri wrote:
         | What do you use `kind` for?
        
           | linkdd wrote:
           | Whenever I'm working on a Kubernetes Operator (like
           | Kubevisor[1]), it's useful for testing.
           | 
           | Also, in a Github Actions workflow, to run full E2E tests.
           | [1] - https://kubevisor.io
        
       | phendrenad2 wrote:
       | I'd like to work on a team that uses React on the frontend,
       | Laravel as a thin API backend.
       | 
       | But for personal projects (or an early-stage startup), I would
       | drop React and just use plain old Laravel.
        
       | turtlebits wrote:
       | Netlify, Svelte, Hasura. Plus a serverless function here or there
       | if really necessary (but usually not)
        
       | khaledh wrote:
       | Django + PostgreSQL. That's it. The frontend is just server-
       | rendered Django templates.
        
       ___________________________________________________________________
       (page generated 2021-04-10 23:02 UTC)