Welcome to the #3 edition of The Modern Architect newsletter. In my last blog post I shared strategies for keeping up with and staying ahead of mobile industry changes. In this post I am going to focus in on strategies for keeping your codebases up to date. These strategies can apply to any technology stack and not just mobile.
Why keep refreshing your codebases?
Keeping codebases up to date will allow your application to function in an optimal & secure manner and have access to the latest features and improvements.
Many modern applications utilize dependencies and libraries which if kept up to date can help fix bugs, improve performance and keep you in line with latest industry standards.
Many vendors in addition will not provide any support unless your on their latest or later versions of their libraries or dependencies.
For examples if your application utilizes the Salesforce SDK you may need to keep it updated to take advantage of a new features of the SaaS Platform or maintain access your tenant.
Apple’s IOS SDK which has a major releases every year often deprecates APIs and introduces newer API’s the offer performance and security improvements. In addition the only way to support newer Apple iPhones and take advantage of new features is to use the their latest iOS SDK, an example of this would be dynamic Island which was introduce with iPhone 14 Pro & iPhone 14 Pro Max is only available to third party developers in the iOS 16.1 SDK.
What areas of my codebase should I update?
Here is a checklist of things you should consider checking for any updates:
Platform SDK updates to support latest programming languages
Platform SDK updates to support latest frameworks
Platform SDK updates for software compatibility
Platform SDK updates for hardware compatibility
Vendor SDK Libraries or Dependencies i.e. Salesforce SDK, Dropbox SDK, - a dependency manager may help here
Deprecated APIs
New APIs with better performance
New APIs with improved security
When to up date?
The next topic to consider is when you should be updating your codebases, you may not have the luxury of being able to do it all the time.
Major operating system announcements - when new versions are announced there are usually beta/preview versions to try out.
New hardware releases - may trigger new platform SDKs that offer support for the new hardware such as Apple iOS SDK or iPadOS SDK.
Your application releases - when developing a new version of your application you could make the update task a part of the release.
Code reviews - during a code one of the mandatory checks you can make is if the libraries, dependencies & SDK’s are up to date.
Continuous Integration Step - you could automate the checks during automated deployment pipelines and provide alerts & reporting.
That’s all for today, I hope you enjoyed reading this post.
Please leave a comment if you have any feedback or suggestions. If you liked my post and feel it was of value, please share it.