A Means to an End…
It’s no secret that the device/brand/OS class wars have been going on since the dawn of the personal computer, but nowadays the landscape is even more diverse. Users browse the Internet on Android phones, iPhones, tablets of varying OS, Windows PCs, Macs, even the occasional Linux system or game console. With all of these devices, how do we write code that works well on every device, but still provides that native application look and feel? How do we make something that looks just as good on a 5″ phone screen as it does on a 40″ ultra-wide monitor?
It seems that the industry has two answers to this problem. The first answer is to hire more developers and port your applications to multiple different languages. For obvious reasons, this is probably the more performant answer, however it adds to the amount of boilerplate code that must be written. You might have the best Java user interface ever in your Android application, but now you need to completely rewrite that interface, most likely in an entirely different language (Swift, maybe?) with an entirely different UI framework, so that you can create an iOS app, that functionally, does the exact same thing as the one you already wrote.
As with the first methodology this second methodology is not without its drawbacks. When coding an application for a singular device type and using that devices natively supported language(s) you usually have a larger set of native tools to work with, that aid in the design of your application. When working with responsive web technologies, you rely on standards, some of which aren’t implemented by various manufacturers, browsers, operating systems, etc. In addition to that, it can be very frustrating to write code that will adapt perfectly to the environment where it is being run, because the sheer number of variables can become overwhelming.
One of my favorite things to sit around pontificating about is how to make the universal application. I want my code to look good everywhere. I want my code to function well, everywhere. I want my code to run on anything. As we get deeper into this blog, I hope to provide some useful tips and tricks for how to build the best responsive applications.
Until next time!