Back in the days, or five years ago, developers were faced with a tricky proposition: build software applications tailored to individual operating systems, or develop applications that would work across several of them. For many years before the rise of mobile computing, this wasn’t as much of a problem – there were generally only two major operating systems on the market, and the exclusivity of their respective applications was often seen as a selling point. Fast-forward to the present day, and desktop computing has been hugely surpassed by mobile hardware.
One of the fundamental reasons for the rise of smartphones and other mobile devices is the functionality they provide. Software development houses often no longer lead the way with application development, but rather provide a solution to businesses with a service they wish to sell – and that means reaching as many people as possible, no matter what platform they use. In practical terms, that means working on as many operating systems as possible, and there are several ways to do that. This is known as cross platform mobile development.
While developing for just one operating system can mean a much more tailored – and stable – application, many programming languages are now able to be applied by different operating systems with only a few tweaks. This is called hybrid mobile app development and involves building the bones of the application in, for example, JavaScript, and then adding an extra layer that allows it to operate in a particular OS.
This approach tends to lean heavily on the continued support of the OS developers for the development language you choose – but certainly , the trend is towards making operating systems as accessible as possible. After all, a must-have app can do wonders for hardware sales.
Another approach makes use of progressive web apps. This way of tackling the problem uses another recent development – in browser applications. Because browsers are now capable of running quite advanced scripts as part of web content, they can also be used as a shell to run web apps themselves. This can cut out the middle man – meaning that developers don’t necessarily have to customize their core code to run on different operating systems – but it also has a few downsides.
Most browsers aren’t as capable of running applications as complicated as those that stand alone; they also tend to be more dependent on the hardware they run on with their technical back-end, with restrictions on things like cache size sometimes becoming an issue.
All in all, cross platform development is one of the best ways to reach as wide an audience as possible. While applications developed for a broad range of operating systems might not be able to make full use of the device and platform-specific features, and perhaps won’t run as fast as natively developed applications might, for simple and service-providing solutions, market reach is king. Having a good idea of who you want to see your product is the first step to deciding if cross-platform development is for you.