Live data from Hacker News

Ask HN: What novel tools are you using to write web sites/apps?

news.ycombinator.com

91–100 of 333 posts

Re: Ask HN: What novel tools are you using to write web sites/apps?

#92
post #47

- tailwindcss I moved a React side-project from CRA to Next.js for server-side rendering benefits, but the latter doesn't support directly importing css styles in jsx to avoid problems with the global scope. The two options offered were CSS modules and CSS-in-JS. I didn't like either approaches having hashes in the classname when opening the website in devtools, and both seemed too locked into React/JSX. Tailwind 1.…

I really don't get the appeal of tailwindcss, and I feel like I must be missing some obvious benefit of using it vs something like bootstrap. But at first glance, it just looks like the framework recreates css rules with class names. What epiphany am I missing here?

Re: Ask HN: What novel tools are you using to write web sites/apps?

#93
post #73

This partially might be more of a what's old is new again, but here's what I use: - 100% server side rendered - Progressively enhanced (fully works without JS, but having JS enabled makes it nicer) - In select places where I need SPA-like snappiness I use a ~100 line long DOM diffing algorithm (I request full HTML through AJAX and diff it into the current page; if the user has no JS enabled then the page just refresh…

This is really neat. What's the site? I'd love to see it. And could you tell us more about the DOM diffing algorithm?

> What's the site? I'd love to see it.

One of my projects where I'm using this approach is this one: https://jpdb.io

> And could you tell us more about the DOM diffing algorithm?

I'll paste what I wrote in another reply to a post asking the same question:

It's really nothing special. I wrote the whole thing in, like, a single afternoon. If you're interested, here it is:

https://pastebin.com/V7UiWj1e

It's not really a general purpose diffing algorithm. It probably doesn't handle every corner case as it only does what I need it to do in the few places I actually need it.

Re: Ask HN: What novel tools are you using to write web sites/apps?

#94
post #46

Fav thread ever! A good 5+ years ago I built HasGluten [1] with react backed by a google spreadsheet, hosted on github pages. Proven technology, it's still working. More recently I hacked together MultiPreview [2] with react + API served by firebase functions. I'm also temp using firebase hosting as I have little traffic, but plan to replace it with edge computing / CDN caching. MultiPreview is backed by Saasform [3]…

You might want to check hasgluten.com's cert:

>> Firefox does not trust this site because it uses a certificate that is not valid for hasgluten.com. The certificate is only valid for the following names: www.github.com, .github.com, github.com, .github.io, github.io, *.githubusercontent.com, githubusercontent.com

Re: Ask HN: What novel tools are you using to write web sites/apps?

#95
Elm + elm-ui[1] (dont worry about CSS so much) + generated Elm client lib from GraphQL schema + Hasura (GraphQL over Postgres) + Postgres => strong type safety from db schema to frontend with SPA-first workflow; possibly add ReactAdmin[2] to the mix if that sort of thing is needed.

Rust + Actix + Yew (Rust browser framework compiling to WASM) => also verrrry nice vor SPA-first!

Slightly more traditional: Kotlin and jOOQ on the server side.

I also tend to let go of the HTML syntax lately, by using templating eDSLs such as in Elm, or in Rust's Maud[3], or in Kotlin's kotlinx.html or HtmlFlow.

[1]: https://www.youtube.com/watch?v=Ie-gqwSHQr0

[2]: https://github.com/hasura/ra-data-hasura

[3]: https://maud.lambda.xyz/

[4]: https://github.com/Kotlin/kotlinx.html

[5]: https://github.com/xmlet/HtmlFlow

Re: Ask HN: What novel tools are you using to write web sites/apps?

#96

This partially might be more of a what's old is new again, but here's what I use: - 100% server side rendered - Progressively enhanced (fully works without JS, but having JS enabled makes it nicer) - In select places where I need SPA-like snappiness I use a ~100 line long DOM diffing algorithm (I request full HTML through AJAX and diff it into the current page; if the user has no JS enabled then the page just refresh…

how do you control for swapping to much?

Re: Ask HN: What novel tools are you using to write web sites/apps?

#98
For my projects I've built most of the infrastructure stack myself:

- https://github.com/queer/singyeong if I need message queuing / etc

- https://github.com/queer/crush if I need a basic JSON store or cache or ...

- https://github.com/queer/mahou is my WIP to replace container schedulers

It's a very satisfying experience to see my own tooling reach this level of maturity ^^

Re: Ask HN: What novel tools are you using to write web sites/apps?

#99
post #73

Earlier quoted context omitted.

This is really neat. What's the site? I'd love to see it. And could you tell us more about the DOM diffing algorithm?

> What's the site? I'd love to see it. One of my projects where I'm using this approach is this one: https://jpdb.io > And could you tell us more about the DOM diffing algorithm? I'll paste what I wrote in another reply to a post asking the same question: It's really nothing special. I wrote the whole thing in, like, a single afternoon. If you're interested, here it is: https://pastebin.com/V7UiWj1e It's not really a…

To be expected from your previous comments, but your website is snappy. Navigating it feels great.

Re: Ask HN: What novel tools are you using to write web sites/apps?

#100
If we do green field development, we often end up with a stack like this:

- Backend: Java + Spring Boot

We went there from node and we did try a lot of other backend stacks (Go, PHP, Clojure, Python, ...). Java has evolved quite nicely recently, APIs and libraries are rock-solid, well documented and battle tested. I plays very will with our DDD approach anyway. Many problems have already been solved for us here. Flyway for migrations, custom session handling mechanism. We do not use an ORM.

- Frontend SPA: Svelte

Again, we tried most of it, from vanilla JS, over Backbone+Marionette through React, Angular 1 - ?? and Vue. Svelte is a good compromise of an opinionated approach, high flexibility and ease of learning. It scales very well for big applications. Built with webpack.

- Frontend styling: Bootstrap

Yes, we developed with all of them again, even wrote our own. IBM Carbon is nice, but the svelte implementation has potential for improvements. People tell me everything looks like Bootstrap, but the point is: it's well tested, very well documented, extensible and accessible, has accessibility concerns baked in and can be themed easily. If done well, an app doesn't have to look like Bootstrap. We might pull in Tachyons for utilities if necessary.

- Data store: MySQL/MariaDB or Postgres plus Redis

You name it, we tried it. Postgres never let us down, we know it very well and its SQL support is a breeze. I personally like MySQL/MariaDB for some technical reasons. We had mixed experience with SQLite and bad experience with SQL Server. Oracle is pretty good, but the pricing is no in our favour. Everything related to caching and session handling goes into Redis. For search and analytics, we might pull in Elasticsearch or InfluxDB.

- Configuration

Config files or environment vars à la 12 factor app. We use Hashicorp Vault for bigger systems. We are dispassionate, though, what ever the client has decided to suffer through will be supported.

Complementary tools and technologies: Docker, docker-compose, Docker Swarm in prod, trying out Dokku at the moment, Keycloak for OAuth, Jenkins for CI/CD, people are trying to convince me to use Github Actions. Deployments are usually done on big machines on an IaaS offering (we run Azure and AWS as well as bare metal), no cluster systems, no micro services. We do not use Kubernetes.

Post reply on HN