DEV Community

Thomas Schlage
Thomas Schlage

Posted on

10 Teams, How many Frameworks?

In my company 80% of the teams are using React and I would bet, a lot of their apps doesn't really differ from create-react-app + redux. I still don't understand the hype of React and hipster "innovations" like CSS in JavaScript (what the hell!? o.O). React itself was a good thing as it arrived but during time it blew up to much. But that's just my personal opinion which probably came up by liking other frameworks more^^. In my past 3 years I mostly developed with Aurelia and still like it's concepts. Anyways, we all know the discussion about the holy Framework which defeats all the others and will be the glorious King of Frameworks at the end of the war.

Even though I can't understand things like CSS in JS I'm super fine seeing others using it. Same applies for the framework decision and now it comes to my problem. Finally eh :D

As said most of the teams in my company are using React and in my department it applies as well. We try to create a design system with components which can be shared across the applications. As it seem to be very tricky to get multiple frontend developers on the same page it probably will remain a try^^. Never mind they use now Material-UI which requires React even though we aligned at some point that the components should be framework agnostic XD. Because the design system is now based on React as well, the question raised to me if it is now better for all teams to move to React? In my eyes we should not all have the same framework but it's hard to ague against obvious points.

What comes after React and do we all have to migrate the applications in 3 years when web components are finally supported in all browsers? (HAHA 3 Years... All Browsers... HAHAHA). At this point I want to state that it's not an option to move all to vanilla JS or another framework. The decision is only if we are going to use one or multiple frameworks in our department / company.
Building shared components based on a framework the app uses, forces the app (or the components) to be compatible with these version unless you are not including the components in your bundle and rendering it with these framework. So components based on React 16.5 would probably not work in an application using React 14. On the other side it's way easier to change teams as the setup will be the almost same for all applications or? What happens when the setup changes? Do all have to change the setup as well to be consistent?

Long story, short question: Would you recommend us to all use one framework? Or would you recommend to vary and let every team be autonomous and decide which tech stack they use?

I really would appreciate your opinion and the reasons for your opinion!

Top comments (1)

rhymes profile image

It seems to me this decision has already been made, maybe not officially but if 80% is using React, yeah, you're using React. If you're meant to share code you don't want to be the person that uses something totally different. Other people will just work their way around your code or re-implement it in React so that everybody can just plug it in.

Or would you recommend to vary and let every team be autonomous and decide which tech stack they use?

This decision doesn't really have much to do with tech per se but it's an organizational concern. Are teams isolated and self sufficient? If either is a no, then it's not possible to have 10 different stacks. It would be hell pretty quick.