Frameworks, libraries and components are great. They can greatly simplify the process of writing applications. There is no need to reinvent the wheel. However what happens when the landscape changes? Your favorite library is no longer supported. The framework you've build your application on is no longer receiving updates. How you react to this news greatly depends on how you've built your application.