7 ms·
Sure for hello world app works fine. The same for Java or C, but when you have a real world project you always have to understand all the abstractions otherwis
by simion314 7y ago
Sure for hello world app works fine. The same for Java or C, but when you have a real world project you always have to understand all the abstractions otherwise you see a "link error" and you will say "What the hell is a link?" or "something error classpath" and you think "I have no class named path".
The project I work on uses gulp(probably is ancient already and I have to use soemthing cooler). With gulp sometimes when I switch branches of my project it will crash , I understand how it works and why it happens so I restart it , but someone that does not understand the "magic under the hood" will not know what to search for, what to google for etc. Same for react or angular, if you do not know what is happening under the hood you will eventually cause performance issues(similar if you don't understand how CPU/memory works)
My point is that if the abstractions are not perfect you will sooner or later (probably sooner) have to understand them , read the code etc.
- deleted 7y ago[deleted]
- reilly3000 7y agoThe next.js PI is beautifully simple. I completely agree with what you’re saying with regard to tradeoffs, but I’ve been remarkably impressed with the simplicity of the NextJS api and it’s clear, concise documentation.
- Vinnl 7y agoWorking through their docs recently my first thought was: huh, I was under the impression that it would do more for me. But then I realised that it actually does do a lot for me, but they really managed to package it all up in a relatively (and deceptively) simple API that so far still does not seem leaky at all.
- simion314 7y agoUsually the leaky abstraction will appear later, I remember years ago I was implementing a react component and for some reason the focus was lost from an input when an update was happening. So eventually you are forced to understand what is happening and to apply workarounds. I have experienced a number of issues where some bug suddenly appears and until I read the source code of the abstraction I could not fix it(not only JS frameworks).
- Vinnl 7y agoSure, all the usual caveats for React and server- vs. client-side rendering still apply - but those aren't abstracted over.
- simion314 7y agoIt was a client side thing, I did not used recent version of React but at that time from my memory the abstraction was not perfect, you had the idea that you have some html then your render function generates some new html and react using magic updates the old with the new. What was missing is the focus is not html (probably the same for selection and other document properties) so you could have problems and you had to understand what is happening under the abstraction. From my experience though are bad abstraction that are not consistent, like we had a web project working untouched in 1 full year and some feature stopped working one day (nobody touched anything) but I could not reproduce it on my machine. I still have no idea what triggered it but the problem was that for some reason the PHP autoloader "searching" found a different file then before (maybe it was some caching/filesystem or other low level update on the VPS that triggered this)... anyway I had to read the code and understand how the magic happens so I can elucidate the bug.
- Vinnl 7y agoRight, my point was that that's a React abstraction, not a Next.js abstraction.