8 ms·
Does anyone else feel that the complexity of the full-stack frameworks is getting untenable? 1. There is a significant gap between dev and production environme
by nvln 4y ago
Does anyone else feel that the complexity of the full-stack frameworks is getting untenable?
1. There is a significant gap between dev and production environments. (See #2 why this is critical)
2. The production build times are super high
3. ES modules are great, but the JS ecosystem being a bundle of small libraries, getting them all to play nice is hard.
4. I occasionally get X is included twice errors that are painful to track and debug
5. There are frequent instances where I find out that the very problem I had has been solved by someone, but they don't know how or why. They remove a, b, c then it works. They add it back, it still continues to work.
What happened to KISS?
- danlugo92 4y agoI develop in react and follow KISS and I don't have any problems whatsoever. Some libraries can be a pain in React Native however, but React web has been smooth sailling for me (following KISS and MVVC).
- mythrwy 4y agoYa but for many cases there is a simpler way with less moving pieces. React just isn't KISS by nature, or maybe it is KISS for a certain style of problems but not others. It takes too long and has too many steps to do simple things. If all you are doing is simple things using React isn't KISS. Here's a tinfoil hat crazy conspiracy theory: Facebook released React and promoted it's uptake to slow down any possible competition's development cycle. (I don't _actually_ believe this of course, but sometimes I do kind wonder).
- nvln 4y agoYes, using just the FE part is still joyful (Svelte, React etc). It's the move towards full-stack (Next, SvelteKit etc) that I'm slightly complaining about. My complaint is also limited to how complex the build process is in combination with other aspects of the fast moving TS/JS ecosystem.
- MonaroVXR 4y agoAny suggestions for a CMS? Sanity isn't doing it.
- duncan-donuts 4y agoLate last year I listened to talk on nextjs and I was floored by its design. I still can’t get over that the JS community has embraced file system routing and server rendered stuff. I honestly think I’m taking crazy pills because I could have replaced “nextjs” with “PHP” in most places and it would still make sense. I have been in software for about a decade and I think I’m experiencing my first complete cycle of “what’s new is old”.
- leerob 4y agoThere are similarities to PHP – and I think that's a great thing! I like to think of Next.js as the best parts of PHP / Rails with the powerful UI engine of React. Especially with the new App Router, where you can fetch code inside components like `await db.query()` and soon easily insert/update/delete from the same file as well. https://beta.nextjs.org/docs/data-fetching/fundamentals https://beta.nextjs.org/docs/data-fetching/fundamentals
- matijash 4y agothat's one thing I've been thinking about a lot lately and I think it is confusing for many - that both Next/Nuxt/Remix and Rails have a title of a "full stack" framework while they are pretty different in reality. Next/Nuxt are coming from the frontend origins and are strongest there, while Rails/Django are coming from the backend and focus on db ORM / data model story via ActiveRecord etc. I understand the etymology of terminology, but I think we'll probably come up with better names in the future. E.g. Remix briefly called themselves "center-stack" which I found interesting and think makes sense. I'll keep investigating and probably whip up a blog post about it.
- robertlagrant 4y agoI enjoy interviewing people who have full-stack engineer on their resume, as it means I can ask them about anything from HTML tags to CPU microcode, or from relational algebra to networking stacks, and they'll be able to give a good answer.
- 4y ago
- matijash 4y agothat's what our goal with wasp[0] is - to abstract the common patterns that keep reappearing and condense them to a configuration choice, while still leaving hatches to write your own code. Still have a way to go (in Beta atm) but I think we managed to demonstrate the basic principle in some instances. [0]https://wasp-lang.dev/ https://wasp-lang.dev/
- poyu 4y agoMakes you really wonder why they’re doing this to themselves. Use whatever is most suitable. I try to use as less JS as possible.
- gepardi 4y agoWhat do you typically use?
- kypro 4y ago> What happened to KISS? Engineers have to over-engineer to look smart. Back when I first started working as a software engineer no one gave a crap about good code or best practises. Back then it wasn't uncommon for there to be a few dudes maintaining the website of a large household name business with almost no oversight. I remember it being common for someone entirely untechnical to come over to dev desk and ask for some feature, then you'd find the easiest and quickest way to get that thing live. Skip to today and we have entire engineering teams with hierarchies, specialities, and accountability – and this is true even in smaller companies. So imagine you're the lead frontend guy at some company... Are you honestly going to say, "well the site's requirements are kinda simple, so we can probably just build it in HTML and vanilla JS"? There was a period several years ago where frontend guys writing HTML/CSS and some JQuery were lesser regarded than Java and C# devs. It's why I always pitched myself as a backend guy who knew HTML & JS. But then we got Node, React and TypeScript... Now frontends are so complicated that if you want someone with enough experience to understand how any of it works you need to pay them a decent salary for their knowledge.
- root_axis 4y agoHave you considered the possibility that people aren't as stupid as you think and that these tools actually solve real problems?
- deleted 4y ago[deleted]
- nvln 4y agoWhat part of my comment suggests that I think people are stupid? --- Tools can solve important problems "and" increase the complexity to point where they create other problems which makes the trade-off untenable.
- RunSet 4y agoIt seems to me that they may have inadvertently answered your question. Q: "What happened to KISS?" A: "It fell by the wayside when it began to be interpreted as a personal attack."
- root_axis 4y ago> What part of my comment suggests that I think people are stupid? This part: > What happened to KISS?
- neon_electro 4y agohttps://en.wikipedia.org/wiki/KISS_principle https://en.wikipedia.org/wiki/KISS_principle Right on that page is an example of "Keep it Simple" without the "Stupid". A charitable reading of parent's comment wouldn't have thought the commenter was labeling anyone stupid with the appeal to keep things simple.
- root_axis 4y agoYou can deliberately exclude the word "Stupid" from the expression, but that doesn't change what is being said. > Whatever happened to KIS(S)? Interesting question, I wonder how the entire ecosystem forgot this one simple trick? What is it about their brains that causes them to create all these solutions that are apparently worse than the problem?
- cxr 4y ago> ES modules are great, but the JS ecosystem being a bundle of small libraries, getting them all to play nice is hard. Please say "NPM" (and not "JS") when that's what you're talking about.
- fendy3002 4y agoIf we're talking about react framework (NextJs), then it's the KISS part. Everything is kept simple as react components. Single way to define styles / class, and single way to maintain components: react components. Using MPA with htmx and only use react on occasional necessity seems better or optimized, but it comes with one limitation: sometimes it's hard to replicate the non-react component / styles in react. Using NextJs removes that limitation.
- MonaroVXR 4y agoWhat about CMS? Which CMS can you use with it?