5 ms·
Fullstack dev here with more experience in front-end. I struggle too. I'll tried a lot of different things (ex : puppeteer vs cypress, react vs angular2), and
by Heyso 4y ago
Fullstack dev here with more experience in front-end.
I struggle too. I'll tried a lot of different things (ex : puppeteer vs cypress, react vs angular2), and I end up having my own preference.
I'll try to answer some of your questions :
- Should I use SPA ? Slower initial page loading time, but faster to load more pages. Good if typical user stay long on website and navigate multiple pages.
- Es6 import ? Use them when you can, better IDE support than require.
- Build tool ? Start with webpack, oldest tool, with more chance to find answer to your questions on stackoverflow. Although I have little experience on the others (Rollup, etc), so maybe there is one that is simpler to start with.
- React or Vue ? Idk, haven't used view, both are popular and similar, take one you prefer the syntax ?
- Something simpler ? Well, there is too much choice... Vanilla js, another cool library, low code or no code like wordpress...
- SSR ? Less API to build. Faster initial page loading. Roughly. There is quite a lot of library out there with SSR, and it is elvolving quite fast. The future is probably a mix of server and client side rendering.
- npm vs yarn ? I recently played with npm workspaces, and yarn had a feature I needed, otherwise I think sticking to npm is fine. Historically yarn became popular because it introduced .lock file before npm. Npm has since catch up.
- Css compiler ? Minifying, or compiling sass ? You can start without it. Also starter like "create react app" already do these optimizations for you.
- Typescript ? Use it ! Only exception would be your code is too simple to take advantage of typing.
- nlnn 4y agoThanks, that's super helpful. Would have loved to have found something like this as a high level flowchart or similar somewhere. Sometimes a lot of the tradeoffs or design choices behind a tech aren't obvious from the outset.