Mobile Applications

Cross-Platform and Cost-Effective Mobile Development

Mobile Applications

What we build

Mobile phones have become an important part of our daily life. Almost everyone owns a mobile phone, and nowadays most people use their smartphones to navigate the webs. Thus, responsive websites are a must, and of course all our web projects are responsive and adaptive to any device. In some cases, you need a mobile application that can reach your customers and give them the best mobile experience possible, using all their phone’s possibilities.

At Outsourcify, we have been building mobile applications for both the iOS and Android platforms as both share around half of the market. The complexity of creating mobile apps for both lies in the fact that the technologies involved are quite different, which is why lately we’ve been focusing on a cross-platform technology named React Native, which we consider the best to develop cross-platform mobile apps. The programming language involved is JavaScript as it is based on React.js a front-end framework which was created in 2015 by a team from Facebook.

Web technologies are the future of mobile

Native vs Hybrid

Mobile development used to be complicated and much more expensive than web development. iPhones, Android, and Windows phones all use different technologies; as a result, mobile apps had to be developed several times once they were in the specific programming language of each platform: iOS (Objective C and now Swift), Android (Java), and Windows Phone (C++, C#). Later on, in order to solve this problem, developers were allowed to code mobile applications from web technologies, which resulted in encapsulating a website in HTML5 inside a mobile app. These solutions are known as “hybrid mobile apps”; they appeared a few years ago (Apache Cordova, also known as Phonegap, was created in 2009). Nevertheless, the apps created are easily recognizable since they don’t match the smartphone’s own design (especially on iPhones) and have performance issues.

React Native

In our search for the best web technology to develop cross-platform applications, we quickly got interested in React Native when it was created in 2015 by a team from Facebook, following the release of the front-end JavaScript framework React.js which also originates from developers working at Facebook. React Native enables us to develop cross-platform mobile applications with the JavaScript programming language that is then transformed into mobile apps that render natively on smartphones and tablets. There is a single code base to develop and maintain for an application deployed simultaneously on iOS, Android and potentially also on Windows phones.

Hand and mockup iphone trimco

A different approach to software development

As opposed to web apps that can be installed on any server worldwide and can be accessed from any browser on any device where a browser is installed, mobile apps are destined to be installed on a specific operating system (OS) of a smartphone. Today, the market of smartphone operating systems is shared between iOS (installed on Apple’s iPhone) and Android (and open source Linux from Google). Some smartphones still use Blackberry and Microsoft operating systems, though.

The complexity of mobile development is due to the fact the technologies used on iOS and Android are completely different and each of them requires distinct programming skills. Moreover, since both platforms share the present day market of mobile phones, 2 different mobile apps must be developed for the 99% of potential users, that is, one for iOS and one for Android. Both will be available on different “mobile app stores”: the Play Store for Android and Apple’s App Store for iOS.

Market shares held by smartphone platforms/operating systems actually differ depending on the geographical zones. In the United States, Google Android and Apple iOS are pretty much equal while in South-East Asia, Android triumphs over iOS, with the exception of Singapore.

Trimco all mockup New

Mobile apps need a backend

Mobile apps that only have simple client-end processing and can work efficiently are rare. Hence, a backend is needed to save your clients and their data, authenticate them, process their actions, communicate with them and between them, as well as to perform analytics and in general for the product administrator to follow up with the mobile app usage. This is one of the reasons why the development of mobile applications cost much more than web applications.

On top of the mobile development, a complete web app will most likely have to be built also. That brings several questions, and among them are which technology should be used to build the backend, how to host it, as well as how to handle notifications and analytics. At Outsourcify, we have an extended experience in building web applications; we have the knowledge of web server infrastructure, server-side programming and database management to create the backend that will suit your mobile app.

ChiangRai all mockup

A new comer: Google's Flutter

React Native was created in Facebook offices as it’s derived from React.JS,  Flutter is Google’s reaction in the cross-platform app development technologiy world that’s been creating a buzz lately. When React Native uses JavaScript as programming language, Flutter uses Dart, which was introduced by Google in 2011. Where Flutter shines is that it comes with a lot of pre-built components inbuilt, the framework is bundled with UI rendering components, widgets for Material Design for example, which means you don’t really need any third-party library, Flutter comes packaged with everything needed to build a mobile app.

The Flutter community is growing rapidly these days, and it might be the future of development of mobile apps. We will tell you soon our conclusions on this technology.

Flutter