4 ms·
You should NOT use nuxt, react, gatsby in bussiness environment for anything but internal employee-facing applications. Reasons being, that nextjs&friends(hydr
by toinbis 6y ago
You should NOT use nuxt, react, gatsby in bussiness environment for anything but internal employee-facing applications.
Reasons being, that nextjs&friends(hydrated site alongside js-based navigation) make it:
a)impossible to do decent a/b testing;
b)impossible to do decent personalizations;
c)impossible to have decent page load times;
d)impossible to have any decent web analytics;
e) team is unable to understand what's going on with a page after looking into source code - devs get more control in expense of ppc teams, ux teams, cro teams, analytics teams, data teams, sysadmins, monitoring teams. This is the biggest killer argument even though a)-d) arguments might seem fancier at first. Sooo many devs just can't ever relate to this, because yes - reactgasm is a strong emotion. But you have to think about others. Devs can survive jquery. Marketer can not survive react.
So You just stick to css+html+vanilla js+web components(svelte or stencils or whatever). That is based on my 8+ years working as a marketer/product owner building billion-grade ecommerce projects.
As you have not spent too much time on elaborating your points but throwing out strong opinion to the wild, I will do more or less the same.
Happy to discuss in comments though :)
- sandGorgon 6y agowould love to hear from you about this. Doesnt react have like a massive ecosystem of integrations around this ? for example Optimizely - https://docs.developers.optimizely.com/full-stack/docs/javascript-react https://docs.developers.optimizely.com/full-stack/docs/javas... what do you think ? i mean i dont like kubernetes...but the ecosystem is already there right ?
- toinbis 6y agoClient-side a/b testing/personalizations(default option for google optimize, visual website optimizer, optimizely) mean you have to use page hiding snippet - https://support.google.com/optimize/answer/7100284?hl=en https://support.google.com/optimize/answer/7100284?hl=en. Which, if you look at it closer - "'dataLayer',4000," 4000 ms mean that you basicly make your website white blank for up to 4s while all the ab testing loading stuff is happening behind the scenes. And this makes your initial load UX a very very awkward experience. If personalization / ab testing is happining on load-time parameters (i.e. country), well, you are in a situation where I have mentioned hydrated site is out of options to be considered for the stack selection.
- toinbis 6y agoAs for other points, let me elaborate on web analytics. Google Analytics default seup collect around 70-80% of transactions/events/pageviews data. If you want to fix this, you revert to server-side stuff, and that's where you meet js-based navigations. That's when you either try to go this way with gatsby: https://www.gatsbyjs.com/plugins/gatsby-plugin-no-javascript/ https://www.gatsbyjs.com/plugins/gatsby-plugin-no-javascript... . That's when you are stuck with sapper: https://stackoverflow.com/questions/64507516/how-to-disable-spa-like-navigation-in-sapper https://stackoverflow.com/questions/64507516/how-to-disable-... . That's when you end up in tickets like this with Nextjs: https://github.com/vercel/next.js/issues/4381 https://github.com/vercel/next.js/issues/4381 . And never look back.
- toinbis 6y agoAs for pageload, next.js is 30% slower than vanilla website. No ecommerce bussiness should ever alow this(my personal opinion). Take a look at my top comment of https://news.ycombinator.com/item?id=25342767 https://news.ycombinator.com/item?id=25342767 for more details.
- biddit 6y agoAbsolutely agreed. One thing that really concerns me is that the newest generation of web developers really has no idea that web development doesn’t need to be so bloody complex. I’m working on a simple internal enterprise app for managing document workflow right now. It should just be a basic CRUD application maintained by 2-3 devs at most. Because of how it’s architected (extreme normalization on the backend, Vue used for every single simple component on the front end), we have a team of 15 devs on the project. I had to update the options in a simple select drop-down menu last week. It took me a full day and modifying six files to get it right. 10 years ago it would have been a 20 minute task and two files. It’s sickening because the entire team thinks this is normal.
- WD-42 6y agoThere was a story on HN recently about a security breach on some website because of a hand written auth scheme. I was surprised with how many people just thought it was normal to hand roll auth stuff. I think it comes mostly from the server side JS crew but it is definitely disturbing the amount of wheels being reinvented out there
- arcturus17 6y agoa) Haven't done much A/B testing in a while, but Optimizely has what seems like a huge library for React, which suggests this is false. c) I can attest that this is complete bollocks, I have React apps in production that are blazing fast, and I have seen many others in the wild. I've also built a few prototypes in Next.js and got near-perfect speed scores without optimizing anything. I can only imagine it's gotten better in the last year or so. d) I guess depends on definitions of "decent" analytics, but I've seen a few analytics solutions working with React in production and they worked more than decently. As a closing thought, Facebook uses React all over the place. They are massive on personalization, analytics and A/B testing, for better and for worse, at hyperscale. I guess you think it's just the exception that confirms the rule?
- toinbis 6y agoReply to a) No, it is not false at all. Let's skip the brands out of discussion. Client side a-b testing is impossible to be decent. Period. The fact that optimizely built something for react is not a valid argument. Reply to c) Your react app is 30% slower that anything decent. Why would any bussiness owner would ever sign this off to happen in their acquisition funnel(i.e. where user experience is especially crucial)? Reply to d) Decent is ~100% correctness and completeness versus ~70%. Reply to "I guess you think it's just the exception that confirms the rule?" -> You keep mentioning companies and brands instead of implementations which suggest you have no experience on the implementation part. That is the thing - facebook does a/b testing server-side. And i'll just mention that facebook also used react to create their, arguably, second most important project - facebook ads manager. And it's a complete 'bollocks'(using your words) architectural decision to build such tool for react - it's a UX as terrible as it can get and i've used it for 5 years and I know at least 100 advertising agency employees who would sign this statement with their sweat and they are one of two. Just to give a counter-argument of the same origin as Yours one. So am very thankful for constructive discussion - all your arguments are fair and well elaborated. Just you can't buy any of them. Really hope am not insulting with my strong opinions, always happy to discuss further!
- arcturus17 6y ago