Live data from Hacker News

Ask HN: Go-to web stack today?

news.ycombinator.com

131–140 of 453 posts

Re: Ask HN: Go-to web stack today?

#131

- On the frontend, use React with TypeScript. Create React App now makes it dead easy. Just do: npx create-react-app myapp --typescript - Do not use redux until you know React well. You might not need it. If you do need it, use `redux-starter-kit` offered by the core Redux team. - For backend, just use Django (or Rails). Elixir's Phoenix is also very well thought out. - If you use node: express, sequelize. Async/awai…

We've been following this stalk for quite a while and are super happy with it. But there's huge downside: It's really hard to find Django/ Python engineers - let alone phoenix devs. Right now I'm considering a move to JVM. But the frameworks i've seen are all far behind Django. Any thoughts?

Play framework (with Slick or Quill for data access) can get you most of the way there, but you won't have Django's out-of-the-box admin interface, have to roll your own.

If you add in Akka or Akka Typed then you can pass state changes for connected websocket clients (i.e. for a SPA/Redux based frontend), which is quite awesome.

Scala and Scala.js are a powerful combination if you want to do everything in the same language. Performance is of course excellent compared to most of the dynamic language backed frameworks, and static typing is a huge win...for some of us at any rate :)

Will have to get your hands dirty to replicate Django, however.

Re: Ask HN: Go-to web stack today?

#132
Backend : Since I am more comfortable writing python, for speed and perf i would go for Sanic, it's pretty similar to Flask with async function. For personal or MVP I would use Flask with Peewee or Django depending on the complexity.

Frontend : React for dynamic page only if i really need it. The rest would simply use any jinja provided by the backend framework.

Database : small project sqlite ( personal blog, MVP ), postgresql for production level.

For extremely fast and simple RESTful setup I would go for loopbackwhich has nice cli with lot's of middleware layer for data manipulation.

Re: Ask HN: Go-to web stack today?

#133
post #86

Frontend: (vanilla) React with TypeScript. - TypeScript is more important than React, static typing is such a productivity boost, even for projects of all sizes. - Start with vanilla React and create-react-app, monitor for painpoints and look for solutions for these pain points in the community, don't look at the whole ecosystem before you start building stuff. Backend: Kotlin on the JVM. Kotlin is a really nice lang…

At this point this would prolly be my advice as well.

From React/TS, to Kotlin, to PG, to the JOOQ shout out.

I hoped a strongly(ish) language that spans from BE to FE, like ReasonML, would be ready by now, but it isn't.

Kotlin to JS is not there I'm afraid:

https://kotlinlang.org/docs/tutorials/javascript/kotlin-to-j...

Re: Ask HN: Go-to web stack today?

#134

- On the frontend, use React with TypeScript. Create React App now makes it dead easy. Just do: npx create-react-app myapp --typescript - Do not use redux until you know React well. You might not need it. If you do need it, use `redux-starter-kit` offered by the core Redux team. - For backend, just use Django (or Rails). Elixir's Phoenix is also very well thought out. - If you use node: express, sequelize. Async/awai…

Although I think it's not a big issue, I'd look into Vue instead of React. Imo it's simpler and give you a more complete solution out of the box (routing, reactive data layer).

Now, I've barely tested Django, but I would not go the python way unless you have a good (other) reason. Rails seems to have a much more developed web development community. Node might be a great choice due to you being able to use the same language (and libraries), but I'm a little bit disappointed by the ecosystem. The libraries and frameworks that exist does not seem as mature (and high quality) as in other ecosystems.

For backend, my experience with C# ASP.NET Core has been great. Visual Studio is great. C# is a really nice language to work with, and have quite mature and well-backed Lucy ecosystem. All in all it's pretty equal to Rails though.

I'd also recommend looking into Azure DevOps (or Gitlab) for a nice, full experience for DevOps.

Re: Ask HN: Go-to web stack today?

#135
For a smallish project we're using Rails + PostgreSQL with just Bootstrap for the UI. With TurboLinks and remote actions that respond with JS snippets the site feels fast enough without all the weird SPA machinery.

Re: Ask HN: Go-to web stack today?

#136
If you want to be fast and flexible:

Frontend: Vue.js on top of Nuxt.js (reactive web programming cannot be easier than this and you get SSR or SPA or PWA or static page generation out of the box easily, you can decide later on that). There is not only React out there (which is like a jungle and more complicated in comparison to vue)...

Frontend styling and components: Vuetify or Bulma (you can also go with some vue bootstrap) + Stylus or SASS

Database: PostgreSQL (it's so stable, flexible e.g. with JSON, extendable and scalable in so many ways).

Backend: Whatever suits you to build a RESTful or GraphQL web API. Python+Flask, Go, Django, Ruby on Rails, Java Play Framework, PHP (e.g. Laravel) etc. etc.. Whatever you are most productive in. It does not matter really.

CI/CD and source control: Gitlab.com and the CI you get for free there is unbelievable good.

Re: Ask HN: Go-to web stack today?

#137

Earlier quoted context omitted.

> - Do not use redux until you know React well. You might not need it. Indeed, I would say not using redux at all. I never understood why redux has become so popular, IMAO it's such poor design. It forces you to use switch statements, reducers, mapStateToProps(why?), etc.. Tons of boilerplate in order to set 1 single variable. Not talking about how to put data from the backend into the store in a SSR app.. I'm now us…

Ah, it's poor design because you don't understand it? Right.

No, not right. I have work on a daily base with redux unfortunately. Redux is not too hard, but it's poor in design. Also you will have to give up redux soon, the hype is over and better things are at the horizon.

There is definitely some pride in dev's working with redux, once they understand it they feel like they've grown as a developer. Do you really think redux is the holy grail of stores? If you're really smart enough to understand it, think a little deeper about the design, it really sucks.

Try unstated, or is that too simple for you? Do you maybe like a lot of boilerplate and magic that took you a year to grok so you can now show off to others what wizardry you're capable off?

Re: Ask HN: Go-to web stack today?

#139

If you want to be fast and flexible: Frontend: Vue.js on top of Nuxt.js (reactive web programming cannot be easier than this and you get SSR or SPA or PWA or static page generation out of the box easily, you can decide later on that). There is not only React out there (which is like a jungle and more complicated in comparison to vue)... Frontend styling and components: Vuetify or Bulma (you can also go with some vue…

This.

Re: Ask HN: Go-to web stack today?

#140

- On the frontend, use React with TypeScript. Create React App now makes it dead easy. Just do: npx create-react-app myapp --typescript - Do not use redux until you know React well. You might not need it. If you do need it, use `redux-starter-kit` offered by the core Redux team. - For backend, just use Django (or Rails). Elixir's Phoenix is also very well thought out. - If you use node: express, sequelize. Async/awai…

> - Do not use redux until you know React well. You might not need it. Indeed, I would say not using redux at all. I never understood why redux has become so popular, IMAO it's such poor design. It forces you to use switch statements, reducers, mapStateToProps(why?), etc.. Tons of boilerplate in order to set 1 single variable. Not talking about how to put data from the backend into the store in a SSR app.. I'm now us…

I would be happy to show you how to use redux, without switch statements and even without reducers. It's not that hard, and if you don't like it, just use other state management libs. But don't call it poor design - it has 2 methods.
Post reply on HN