Today I was reading about Angular JS and came across a new term "Opinionated Software". Out of curiosity, I explored more and tried to put my understanding in this blog.
What is opinionated Software?
Opinionated Software has restrictive features and well defined approach. It guides the developers to perform task in specific manner with only given set of features.
It has a vision and holds an opinion, that if used in prescribed manner it makes the task simple and easier but any deviations from actual approach is going to result in complexities.
Examples of opinionated Software:
Angular JS is opinionated as it forces the MV* structure.
Examples of un-opinionated Software:
PHP comes under this category. It offers developer with flexibility choose its own code structure and design that fits its requirements and adheres to best development practices.
.NET Framework also comes under this category.
Opinionated Software: Good or Bad?
It is debatable topic, If we go by majority, their vote goes for "Opinionated Software" and in their support they say it has both vision and approach which are integral part of good software.
But there also exists a group of people who don't consider it as a good option as it imposes its fixed approach and is not flexible. Also it offers only limited set of features and ignores new features request.
References:
https://gettingreal.37signals.com/ch04_Make_Opinionated_Software.php
What is opinionated Software?
Opinionated Software has restrictive features and well defined approach. It guides the developers to perform task in specific manner with only given set of features.
It has a vision and holds an opinion, that if used in prescribed manner it makes the task simple and easier but any deviations from actual approach is going to result in complexities.
Examples of opinionated Software:
Angular JS is opinionated as it forces the MV* structure.
Examples of un-opinionated Software:
PHP comes under this category. It offers developer with flexibility choose its own code structure and design that fits its requirements and adheres to best development practices.
.NET Framework also comes under this category.
Opinionated Software: Good or Bad?
It is debatable topic, If we go by majority, their vote goes for "Opinionated Software" and in their support they say it has both vision and approach which are integral part of good software.
But there also exists a group of people who don't consider it as a good option as it imposes its fixed approach and is not flexible. Also it offers only limited set of features and ignores new features request.
References:
https://gettingreal.37signals.com/ch04_Make_Opinionated_Software.php
No comments:
Post a Comment