It’s impossible to predict with any certainty what lies ahead in 2018, but there are probably a few things that I can predict with at least a modicum of certainty.
- Migrate the mobile apps to a new development platform. Unfortunately the platform we currently use for building, testing and deploying our apps to the app stores will be retiring in 2018. This means that we will need to migrate our apps to a new platform, and (depending on what technology we opt for) possibly have to rebuild them from scratch.
That said, we will only need to rebuild the UI for the apps, as all the business intelligence is delivered to our apps in the form of RESTful APIs. It is the RESTful APIs that provide all the business logic and services to the apps. The apps themselves are nothing more than simple front-ends that make calls to these RESTful APIs. Good design is a great thing.
So investigating alternative development platforms will almost certainly need to happen in 2018. What we won’t be doing however, is making the mistake of going native. As I’ve made the point in another article, unless you have the resources, skills and a need for native development, then cross-platform is (usually) the sensible way to go.
Currently NativeScript is looking like a good option. It provides a truly native app, requires skills that are the same or similar to those needed for web development and has a great development ecosystem and workflow for development, testing and deployment. It also has the ability to do web builds and testing in the cloud, thus alleviating the need to keep your local development environment up-to-date.
- Building the replacement to our enterprise web application. This is the core fleet management system used both internally and externally by our clients. It provides a helicopter view of your fleet as well as the abiliy to drill down to any level of detail as required. It also provides all the reports which provide information to make business critical decisions. This is now getting a bit long in the tooth. With so many modern tools and frameworks around, it’s time this was updated. We’re looking at going for a rich client-side architecture (for example Angular), rather than a heavy server-side architecture (for example MVC).
Although we haven’t made any concrete commitments, it’s looking likely that Angular will be used for the next generation of development. This will be coupled with a suite of supporting RESTful APIs that will provide the business intelligence. This is a very similar architecture to the one we already use within our mobile apps, so we know it works. The front-end (Angular) will provide a rich user-experience to the user, but all the intelligence will be provided from the supporting RESTful APIs.
- Migrating ever more development related infrastructure to Azure. Much of the development of the mobile apps was heavily reliant on Azure services. This included an Azure service bus, web hosting, web jobs, functions, SQL and blob storage. More recently I’ve been making use of Azure’s SendGrid service for providing email functionality to the apps. I am quite sure that during the course of 2018 I will continue to make use of Azure’s excellent development platform. Have I mentioned how much I love Azure? I absolutely love Azure. I can honestly say that Azure is one of the best development technologies I have used in a very long time, and it makes me genuinely excited every time I use it.
I am sure there will be many more projects and work that has not been mentioned here, including many surprises throughout 2018. Some things will no doubt go wrong, but (hopefully) many more will go right. Such is the nature of software development.
Until the next time, have a wonderful Christmas and a very prosperous New Year.