We have touched on catering to mobile development in the past. By default, all of the websites we create here feature responsive design. Simply put, responsive design is a jack of all trades approach where a website will use different styles that are best suited for whichever device you are viewing from. This allows a clean and consistent experience whether viewing from a computer, tablet, or phone. While this is a great solution for a majority of projects, certain scenarios creep up every so often that require greater considerations. Maybe a feature is requested for mobile users that a web browser can’t handle. Or maybe a website just doesn’t suit the mobile experience – think social media mobile websites vs. the mobile application counter parts. Sometimes a native mobile application is necessary to provide the best experience for the users.

The first thing to consider when beginning the journey of creating a mobile application is compatibility. Apple is really good in this regard. Their devices are all relatively similar, from tablets to phones the most trouble is compensating for resolution differences. The big issue here is Android which just happens to have the largest share of users globally. There are many different devices based on the Android OS and unlike Apple, many of these devices run all kinds of different and obscure screen sizes as well as different versions of the operating system itself, and also all sorts of hardware. There’s also Windows based phones and tablets, fortunately for us developers Windows is also a fairly easy platform to develop on for compatibility thanks to the similarities of a desktop windows environment.

With the compatibility issues in mind now you have to think about how you are going to develop. Of course right off the bat you will need different resolution icons and assets (assets are things like banners and images). You will also need to consider your development environment. There are tools available (such as LibGDX) that allow you to code in a single language and run on all devices. These tools are great for most cases but unfortunately they don’t cater to the strengths of each platform. When going mobile, responsiveness is key. People don’t like laggy applications and most people will uninstall as soon as an application unexpectedly crashes. Sometimes it is best to develop an application in each platforms native environment or an environment specifically tailored to that platform. These are things such as Android Studio for Android, Visual Studio for Windows, and Xcode for IOS. Developing in the native environments takes longer to begin with, but in the end you will end up with a more polished final product that really takes advantage of the way each OS’s features and capabilities. This includes how the OS handles interaction with the hardware which translates to a smoother experience. The tradeoff here would be the time and resources it takes to actually get the application to market.

Due to the time and resources constraint, an application with multiple versions to cover each platform may not be for everyone. This may not even be necessary in the first place as in most cases a responsive website will suit the project just fine. At Palm Beach Software we take the time to help you and make sure you are getting exactly what is needed for you and your business.