Our faith in AngularJS is challenged so we start looking for a new flavor of the day to solve our problems and make our development lives easier. Enter React, the current flavor of the day. Like AngularJS, it promises to make our development lives easier. In React’s case, it promises to make it painless to create interactive UIs and efficiently update and render just the right components when your data changes. Like AngularJS, React also comes from a very well-known and successful web company, namely Facebook. Perfect! I don’t have to do this AngularJS thing anymore. I can use React and my development life will be grand. And I can trust React because it has the backing of a big, successful web company. So, we plunge head first into React development.
So, what happens when Facebook decides to radically change React or worse, remove it all together or change its license agreement making its use within our client or company prohibited? We are again stuck with a lot of code that is either obsolete, won’t work or must be thrown away. It’s the AngularJS story all over again. We are victims once again of buying into the flavor of the day.
What can we do to mitigate this, get real work done and prevent dependencies upon stale/obsolete flavors of the day? When choosing frameworks:
- Avoid version 1.0 and the hype behind them. At a minimum, wait for version 2.0. Let others be the guinea pigs to flush out the flaws in the initial version. Limit 1.0 usage to proof of concept work.
- Look for real, production level case studies from trusted companies using the frameworks you are considering. If other trusted companies are not using a framework, you should not either. Links to popular tech websites that simply mention a framework are not case studies.
- Ask recruits about which frameworks they used and why, focusing more on why and what alternatives were considered. Be wary of answers that imply “because it is the flavor of the day”.
Most importantly, remember this. Code we develop and the frameworks upon which they depend will most likely last years, well beyond the typical flavor of the day timeframe. Make choices that will ensure that the code and the frameworks are maintainable and supportable.
What do you think? Feel free to reach out to me using the contact links below. I would like to hear from you.