Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A good question is "What is interactive?" Many "interactive" things can be done just with CSS and HTML.

* a list of elements you can select and delete/bulk-edit is feasible with <form>

* any kind of form with input

* hide/show toggle

* tabs

* accordions

Many single page apps aren't really interactive or require minimal JS.

Currently, we're doing things in JS (like forms, pages, tabs, virtualized lists & tree views, hovers, even buttons with JS click handlers) just because our server does not render HTML.



It’s true that a lot of simple apps could just be written using direct DOM manipulation, but you basically write yourself into a corner. There’s no gradual transition from that to any framework, you just have to rewrite your app

Might as well just start with the least common denominator that everyone knows and is easily hired for


I made a paint app with jQuery, and thought it would be a good idea to refactor to React so I could run it on a Next js server and add some multi user support, with later plans of refactoring that to a React native app.

Completely painted into a corner, I gave up after about six hours of trying to get my event listeners to work with React.

It's a shame, because there's so much server side stuff I could be doing right out of the box with Next, but now I basically need to choose a completely different architecture from the one I want because I thought it would be easier to use jQuery.

In all fairness, direct DOM manipulation works a lot better than React for the original app, but now I have to keep DOM state in sync with my server, which is a whole other challenge that React solves quite nicely.


I'd definitely recommend giving svelte a try, might be fun to integrate some of their built-in animations/transitions with a paint-like app also


Yeah especially things like complicated forms can get really hairy if you try to implement them by direct DOM manipulation. Things like fields being shown conditionally based on the value of other fields, data being fetched in the middle of form (depending on field values), stupid complicated validations etc.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: