Live data from Hacker News

Ask HN: Getting tired of complexity in web development

news.ycombinator.com

251–260 of 292 posts

Re: Ask HN: Getting tired of complexity in web development

#251

Earlier quoted context omitted.

It's interesting how you can observe thousands of developers utilizing Typescript and ORMs. Code bases with millions of lines. And have someone like you assume that these tools are 'useless' and solve 'self-inflicted' problems. Assume that large code bases are 'bad practice'. Assume 'breaking' something up is some amazing insight and will simply fix problems and not create new ones. Also assuming that we're not aware…

I appreciate your passion for php and i like our otherwise enjoyable debate, but instead of projections and a misuse of the term “assume” i would appreciate counter arguments.

Hrm I haven’t been talking about PHP, but ORMs and static typing.. If you’re working in PHP then yea I see how you’re still using raw sql probably. I don’t know of any enterprises that don’t use either .Net or Java for their large line of business apps. Definitely not PHP, static typing is relatively new to it.

I think we’d need to know a lot more about each other’s projects and experiences to continue as this debate has become a bunch of generalizations.

Re: Ask HN: Getting tired of complexity in web development

#252
post #3

Could you give some examples of the complexities you're tired of?

Not OP but I'll give you an example concerning a project that used Material UI which is a React UI component library.

For one, we had to rewrite the app 3 times because the library switched from Less, to 2 different css-in-js solutions across 3 different major versions.

Then we switched to server side rendering and suffered some weird glitches. Turns out, when using SSR, styles get rendered twice: once on the server and once in the browser. So you have to write a custom logic to remove the styles that are rendered on the server.

What I'm trying to say is that React was invented at Facebook to solve problems they were having but the industry was too quick to adopt it as a solution for their own problems. Facebook can afford to rewrite a piece of software 100 times because of their unlimited budget. They can also deal with all the bs that comes with frontend frameworks because of their ability to throw an unlimited amount of engineers at a problem.

Small company with 10 engineers? Just use something appropriate for problems you're trying to solve at your budget.

Re: Ask HN: Getting tired of complexity in web development

#253

I call this the "path to enlightenment." You have discovered that the most popular toolchain is overkill for 95% of the things its used for. The problem is that's true literally across the board. You move to the backend and you have to deal with people who fell in love with microservices and weird databases that they didn't need. You move to ops and you have to deal with k8s when a single container would do. If you t…

>Why does this happen? I wrote about a hypothesis here: https://medium.com/@scott.stevenson/how-to-finally-make-some... Most of us are scared by the ambiguity of actual creative work, so unless we are under the threat of deadline, we seek out "structured games" to play so that we can put off the anxiety of freeform work. These games are: (1) Tool Game: Researching and setting up tools (2) Learning Game: Books, podcas…

> (1) Tool Game: Researching and setting up tools (2) Learning Game: Books, podcasts, courses (3) Maintenance Game: Cleaning up our desktop, desk, house, etc. (4) Process Game: Setting up new processes and following them

This is exactly what I have been doing for so long (~2 years), I get hyped about a new project, delve into the "best" way of solving the problem and encounter 4-5 shiny new things, spend an unreal amount of time scaffolding and using new tech to create a base framework for whatever I am doing, and then when I actually have to solve the problem my productivity stagnates and I procrastinate more.

Even now I am conflicted/lost on what to do, this response is tbh a cry for help from people who have encountered something like this. Any insight would be great.

Re: Ask HN: Getting tired of complexity in web development

#254
post #3

Could you give some examples of the complexities you're tired of?

Not OP but I'll give you an example concerning a project that used Material UI which is a React UI component library. For one, we had to rewrite the app 3 times because the library switched from Less, to 2 different css-in-js solutions across 3 different major versions. Then we switched to server side rendering and suffered some weird glitches. Turns out, when using SSR, styles get rendered twice: once on the server…

That's very fair, do you still think it was a net positive opposed to writing your own component library?

https://mui.com/system/styles/basics/ It looks like MUI had some decent intentions in their changes.

https://mui.com/material-ui/guides/server-rendering/#mui-on-... It also looks like they called out how to address the SSR issue (maybe they recently added these docs?).

I kind of accept this type of friction as a part of libraries changing (As long as the upgrade paths aren't insane).

Re: Ask HN: Getting tired of complexity in web development

#256
post #207

Can I ask what exactly you're tired of in the frontend world? Is it constantly having to relearn new ways of doing the same thing, without any tangible benefit? If so, yeah, that really sucks, but I guess that's the unavoidable growing pains of a rapidly-expanding industry with different companies all inventing their own wheels. Have you ever thought about working in a slower-pace field (whether it's a different vert…

Thanks for the great post from a different perspective. I kind of agree with you. But the problem is that there are way too many options for a given task, and it's difficult to evaluate all and zero in on something. I need a small help from you. I am new to web development. After a lot of research, I have zeroed in next.js. I loved the overall design, api/workers integration, deployment using vercel. But struggling t…

We evaluated a dozen or so for work last year, and my two personal favorites were DatoCMS and GraphCMS (now called Hygraph). A bit more details in this thread here (https://news.ycombinator.com/item?id=32993835), but basically DatoCMS had a great out of the box editor experience, while Hygraph had a slightly better/more flexible data model and GraphQL mutability. There are a LOT of options out there now though... you can see a big list here (not my site): https://cms-comparison.io/#/card

If I were you, I'd just pick a CMS and try to get started with a demo project. Here's Dato's tutorials for Next.js, including videos and step by steps to start from: https://www.datocms.com/docs/next-js

And here are a bunch of starter templates if you just wanna clone one and see how it works: https://www.datocms.com/marketplace/starters

Once you make a simple prototype in one, you can begin to understand how they tie together with the frontend. And then you can swap out any backend (or any frontend) you like once you understand the nuances better.

As for JSX, I can't really help there because I never learned Java, but it's basically just HTML + Javascript. LinkedIn Learning has a bunch of great videos on how to learn React, and there are free resources out there too (not sure about quality though). At the end of the day JSX is just a templating language that lets you inject JS into HTML. React is more than just JSX and that can get complicated though, so some tutorials might be helpful (or look at the example templates above).

Re: Ask HN: Getting tired of complexity in web development

#257

I feel your pain. My career happiness peaked around 2014 or 2015, when I was writing Rails monoliths. I felt like I could focus 100% of my energy on business logic since the framework was so opinionated and the stack was simple. Things went rapidly downhill after that, once microservices, SPAs, node.js, NoSQL, and serverless computing started becoming popular. Everything just felt like a step backward. Microservices…

This resonates* heavily.

I moved to writing web-code for personal purposes only. Now, I specialize in other types of technical areas for paycheck purposes (C++, Git, PM support, computer HW maintenance and procurement, similar overly niche technical tasks, etc).

Re: Ask HN: Getting tired of complexity in web development

#258

I call this the "path to enlightenment." You have discovered that the most popular toolchain is overkill for 95% of the things its used for. The problem is that's true literally across the board. You move to the backend and you have to deal with people who fell in love with microservices and weird databases that they didn't need. You move to ops and you have to deal with k8s when a single container would do. If you t…

> relied on jquery. So if that's the case and we must use some React, what can I do to use it in the simplest and clearest way possible?

The answer to that question has been the same as long as I've been using react. Represent most of your app logic in pure functions. This has been the React team's recommendation, pretty much since the beginning.

Once you get hit to the idea of making everything a function, it pays to learn some functional programming design patterns. This increases your vocabulary for abstracting your application logic into a function.

Once almost everything lives in functions, your react components should really only care about managing the view.

Re: Ask HN: Getting tired of complexity in web development

#259
post #121

Earlier quoted context omitted.

Spot on. Rails just let you get shit done. All we needed was a Rails for Node.js.

Rails for Node.js is Next.js + Prisma

You have never used Rails, have you?

From the top of my head, you'll also need libraries for:

- Background jobs - Validation - Translations/i18n - CSRF and other common security considerations - Testing (and integration testing) tools - Logging - Email sending - File uploads (S3 storage, etc) - Websockets

And then write the glue code to make all of this work seamlessly, document it for others to understand how you made it work together, ensure there are no security holes and battle test it in production.

Saying that Next + Prisma "is Rails for Node" is like saying a moth is an airplane just because both can fly.

Re: Ask HN: Getting tired of complexity in web development

#260
post #14

PHP. Use PHP, it’s so crazy easy for web development. - No compiling, - no middleware, - no state (which also means no memory leaks), - just drop a file on web server and it works (no crazy CI pipeline), - the documentation is fantastic, - it’s extremely fast, and - no surprises because it’s tried and true. PHP is so under appreciated.

I tried out PHP recently for a project because I have fond memories of it, but didn't end up going with it. I want server side rendering for the SEO benefits, but I also want some good 'app like' interactivity on the page. Doing the app like stuff with PHP is possible, but you kind of have to have mirror routines, one to load the data, and other api calls to update the data using whatever binding library you choose.…

You can add any interactivity you want to PHP (or any other server rendered html) using Alpine.js, Unpoly, HTMX, or any other kind of modern approach to frontend JavaScript. It is not anymore a dichotomy between ugly jQuery spaghetti or full SPA Next.js thing.
Post reply on HN