Live data from Hacker News

Ask HN: Is webdev getting complicated without results to show for it?

news.ycombinator.com

31–40 of 40 posts

Re: Ask HN: Is webdev getting complicated without results to show for it?

#31
Some of it makes coding much faster, easier and safer in larger teams. Typescript massively increases velocity and code quality. React and other front end frameworks let teams do component-driven development and patterns like atomic design really neatly, which makes apps more consistent.

What that complexity is really buying is desktop-class web applications like Figma, Notion, and the like, and massively reducing the engineering costs of building products like those to the point where it’s way cheaper and easier to build a rich, complex web app that can run for anyone anywhere than it is to build desktop or mobile software with the platform-holders’ own APIs.

If you’re not doing one of those and are just doing a light crud app, then you probably want to use one of those desktop-class web apps like AirTable.

And if you want to make a static website, then we have some much better tooling you can opt into to make managing it and building it out faster, but it’s far from essential.

Re: Ask HN: Is webdev getting complicated without results to show for it?

#32

Some of it makes coding much faster, easier and safer in larger teams. Typescript massively increases velocity and code quality. React and other front end frameworks let teams do component-driven development and patterns like atomic design really neatly, which makes apps more consistent. What that complexity is really buying is desktop-class web applications like Figma, Notion, and the like, and massively reducing th…

OP here. Thank you! I think your singling out of truly complex apps like Notion makes the situation more intuitive to me.

Re: Ask HN: Is webdev getting complicated without results to show for it?

#33
post #25

Try Remix. Works amazingly well out of the box. Complexity is well managed and abstracted.

Except last I heard it's getting merged with the hated React router and it's not really clear what that implies, no? Haven't used either, just reading.

Re: Ask HN: Is webdev getting complicated without results to show for it?

#34
I think part of it is bandwagoning, everyone jumping from one fashionable tool/framework to the next, doing so very quickly and repetitively from like 2018-2022 or thereabouts.

Thankfully it's slowed down somewhat since then, with the frontend industry mostly standardized around Next.js for big apps, Vite for sites that don't need much serverside rendering, or Astro for simple blogs.

As for whether there are results to show for it... well, now you have some pretty cool web apps like Figma, ClickUp, Felt, OpenSolar, Photopea, Codesandbox, etc. that actually use interactive clientside Javascript to its potential. That would've been more difficult with a server-only stack that renders and sends HTML over the wire, or with manual AJAX fetches. Is it possible? Yes, just harder to reason about -- and importantly -- harder to divide up across multiple developers or teams.

What Jamstacks (Javascript, API, Markup) are really good at is allowing a cleaner separation of concerns, where one team can work on the backend API and another can work on the user-facing frontend and a third can work on editorial content, all without stepping on each other's toes (but with frequent communications and collaboration).

Are they misused sometimes? Yes, often, I think. A lot of sites don't really need to be in Next.js or a Jamstack at all. Wordpress would've worked fine. Wix would've worked fine. Anything would've worked fine. But our industry chases trends, beginners are taught what's fashionable, and then when they're no longer beginners, they try to improve the tooling, eventually some of it gets good enough to start a new trend, and the cycle starts anew...

------

On a personal note, I think a part of it also might be the nostalgia of days past that weren't really all that simple. Maybe we just forget how complicated it used to be?

I started web dev back in the 90s, hand-coding HTML on a 28.8k modem before Javascript and CSS were invented.

My first full-time permanent job was as a full-stack PHP dev, where I had to manage not just the HTML and the PHP templates but also the bare Linux VM under it (this was before EC2 became really popular, so we still rented shared metal from a data center) and everything above it. I had to learn and implement every OS package, every daemon from redis to varnish to monit, every row in every database (we used MySQL for most things, Postgis for geo stuff, Filemaker for other things), every interop script with other parts of the business (sometimes in AppleScript, sometimes C#, sometimes a Bash script, sometimes some Excel macro), every SSL cert and DNS and SPF setting, every PHP and Varnish and Apache option, every MySQL and Redis clustering/slaving/failover setup... long before ever touching the HTML.

Then on the frontend side, we had to hand-code every basic JS interaction from the cart total calculator to every AJAX fetch from the database, all while screaming at the then-primitive CSS and trying to massage it to work correctly across Firefox, Chrome, IE, Safari and all of their rendering quirks and and CSS and CORS bugs, while juggling more complicated functionality across several versions of jQuery and a horrible matrix of JS features supported or not by different browsers, all while phones were beginning to become more and more important but best practices and standard UIs weren't fully developed yet.

I don't think there was anything simple about that stack. Every single layer of it had like a hundred different failure modes, all of which compounded exponentially with every other layer, and there were a lot of layers. When something went wrong, it was always my job to figure out where in that maze things went wrong. There wasn't really such a thing as a frontend or backend dev yet, you were just a web designer, and everything from the graphics to the code to the server was your responsibility, whether it's a GIF alpha transparency or SVG rendering issue or a cache invalidation bug.

Fast forward a decade or two, now the web landscape is very different, but a `npx create-next/astro/vite-app` will get you a functional local website in under a minute. Two or three clicks will deploy it to Vercel or Netlify in seconds. Databases can be similarly configured and deployed within a few seconds, if you need one. I can make an interactive dashboard in half an hour, polish it for another, and have it ready for users in half a day. That sort of productivity was never possible in the old days. Part of it is the growth of managed higher-abstraction services (i.e. they took the legacy clouds and built value-added abstractions over them to create things like Vercel, Netlify or even just DigitalOcean and Heroku), but the JS framework race did yield some useful (if messy) outputs too.

You can still make websites the old way if you prefer. But coming from Perl, PHP, and Visual Basic, I taught myself Javascript and React over the course of a few weeks. Once I got over the initial learning curve, it was an incredible improvement over the old ways, at least for frontend work. Once you start being able to compose pages out of real components, serverside templates and string replacements and such will never be enough again. Typescript moves the error-checking from runtime to write-time, vastly simplifying the debugging process. Modern IDEs are an incredibly powerful tool compared to the old text editors and basic syntax highlighting. Hot reload and built-in preview servers make any changes go live by the time you can cmd-tab back to the browser.

The developer experience now is sooooooo much nicer than it used to be, if you know how to use the tooling.

The UX, not so much... but that's because most of the industry thinks of the user as the unwitting victim to be productized and milked, not as the customer :( That's not really the fault of the frameworks, but company business priorities.

Re: Ask HN: Is webdev getting complicated without results to show for it?

#35
Our brains love new things. Whenever we see or experience something new, they release dopamine that makes us feel good. That’s why we enjoy keeping up with the latest news, events, or technology. It’s part of being human, and it won’t change.

With each new wave of technology, things improve, even if they look the same on the outside. For example, today’s huge online stores weren’t possible 10 or 15 years ago. Innovations, like better system design and separating different parts of a website’s function, made this possible. New frontend tools pushed content systems to be more focused on APIs, leading to headless CMS platforms (Contentful, Strapi, etc).

I believe the next big change will be about using less energy when browsing the web. This could lead to new tools, hosting technologies, or apps. While websites might still look similar, the experience will keep getting better in small, meaningful ways. Another cycle of improvement is just around the corner.

Re: Ask HN: Is webdev getting complicated without results to show for it?

#36

Our brains love new things. Whenever we see or experience something new, they release dopamine that makes us feel good. That’s why we enjoy keeping up with the latest news, events, or technology. It’s part of being human, and it won’t change. With each new wave of technology, things improve, even if they look the same on the outside. For example, today’s huge online stores weren’t possible 10 or 15 years ago. Innovat…

(1) The OP is saying that some people don't feel this way, in fact they feel overwhelmed by new things. I think most people feel bored if they don't get enough novelty and they feel overwhelmed if they get too much. Different people have different tolerances at different times and in different situations. Since we are "in it together" we often have to deal with other people who want more or less novelty than we do.

(2) I want roll my eyes at the bit about "dopamine". It's true, but in the same sense that "adenylate cyclase is activated" and "proteins get phosorylated" and "genes are expressed" and so forth. Your brain is a complex system and anything it does involves the coordination of many kinds of neurons. Scientists know a lot more about it than you or I and there is vastly more that they don't know about it. Probably every kind of neurotransmitter is involved when you see something on social media and repeat it.

(3) I remember Amazon being pretty big in 2000. I'll grant that you can provide people with a richer experience with front-end tech but I don't see SPA being needed to make a store with more items or that handles more users. I remember circa 2011 that many of the web designers in my town who were really good at making Ruby on Rails app seemed to think they couldn't sell that kind of system to customers and they struggled mightily with AngularJS and other frameworks. They regained their footing with React. (Has a bit of that "worse is better" feel like C. I want to like Vue but I can draw whatever I want the way I want to draw it with React.) What appeals to me about heavy front ends is really new stuff like

https://aframe.io/

I mean being able to deliver 3-d content to desktop and mobile and jump into an immersive world is really cool and makes my brain feel good.

(4) Are you talking about energy use on the front end, back end or on the huge spiderweb of wires, fiber optic cables, amplifiers and such between them?

Re: Ask HN: Is webdev getting complicated without results to show for it?

#37
post #32

Some of it makes coding much faster, easier and safer in larger teams. Typescript massively increases velocity and code quality. React and other front end frameworks let teams do component-driven development and patterns like atomic design really neatly, which makes apps more consistent. What that complexity is really buying is desktop-class web applications like Figma, Notion, and the like, and massively reducing th…

OP here. Thank you! I think your singling out of truly complex apps like Notion makes the situation more intuitive to me.

Funny I was building apps like that in 2006 so now I look at most of the popular JS frameworks and think "gee those are good for form processing even if they might not be necessary" but not for the kinds of applications I was building back then.

Re: Ask HN: Is webdev getting complicated without results to show for it?

#38
I dont know I think its largely settling down as the market acknowledges that both React and Typescript have won and as a result a lot of the complexity buzzwords you listed dont matter.

Were seeing bun's first party typescript support pave the way forward to remove the need/weight of bundlers and transpilers

Were also seeing Next.js (for better or worse) pave the way for SSR support in a way that comes naturally for React Devs.

Jamstack is a fading niche, specifically Gatsby (still useful for content sites, but Next.js can fill this role too)

Headless CMS will always be useful for content and is not a JS/SPA exclusive thing.

Serverless adapters is also very niche.

Also SPA's are here to stay, whether people want to accept this fact or not, there is functionality that is only enabled by an SPA architecture.

Re: Ask HN: Is webdev getting complicated without results to show for it?

#39
Although not every website or app needs all of these tools, they offer a much better User Experience (no page reload, better performance, etc.) and, even more importantly, a much better Developer Experience. The learning curve is a little bit more steep, but these tools drastically facilite the creation of large websites or apps. For example, we could not build very large ecommerce website with one single main.css file.
Post reply on HN