Our Experience With Native Android Application Development

teamwork coding

Photo by Mimi Thian on Unsplash

Recently we had a project to be developed in Android to mimic an IOS app. As we had expertise in both native and hybrid application development, it was a big question of the approach suitable for the current project. We first decided to go with the hybrid approach. But later we decided to go with the native approach considering its benefits. Native app development has the significant advantage of being able to easily access and utilize the built-in capabilities of the device like Camera, Addressbook, and GPS. So the user experience with the app will be superior along with faster performance.

 

A Native Android app development requires good knowledge in Java coding.

Objective

The purpose of the app was to make the Doctor-Patient consultation easy. There were two apps to develop, one app for the doctors and one app for the patients. We were provided with API to get the data shared between Android and iOS apps.

Challenges

For getting data from the API, we decided to use a REST client which is better than writing our own code. Using such a library reduces the coding time and improves the performance of the app. We evaluated Volley and Retrofit for that purpose. After considering various factors we decided to use retrofit REST Client.

One problem we faced was getting push notification delivered to the app. The doctor should get a notification when a patient requests a consultation. We found firebase is the best option to use. Integration was easy by adding the library reference to gradle and coding was easy as expected.

For video chat feature we used OpenTok platform which iOS app was using. Chat with the single user was easy but adding multiple users to the chat was an issue. We resolved it quickly by contacting the OpenTok support team.

Another issue we faced was regarding the image size. The profile image was taking more time to render. We used the Picasso library to improve performance. Picasso handled images, while also taking care of caching and keeping a low memory impact when doing image manipulations.

Smartphone Application Development Using Phonegap

If you are looking for a full fledged framework to create Smartphone Apps in a very short time, Phonegap is the answer. This intuitive framework that could turn a seasoned web developer to an app developer by harnessing their existing web development knowledge. It makes development effort a lot easier  by drastically reducing the development time and cost. It’s the best development approach as far as developing an app that compliments a web site or web application.

 

Recently Phonegap emerged as a powerful framework that brings lot of power to the hands of developers to build powerful apps in a comparatively less time than building device native apps.

 

How does it work?

The Phonegap framework will act as a wrapper that translates the device native commands into a single Javascript file that can be easily linked to a HTML5 file to invoke from your app. Yes, the phonegap features a number of APIs that makes it really easy for one to implement device features into an app.  To cite a basic example, the contacts stored in your device can be managed from your app using the corresponding API. Likewise, the geo-location feature enables you to integrate a full fledged map into your app.

Multi-Platform Deployment

Not yet convinced about using Phonegap for your next smartphone app? Let’s consider the biggest advantage of using Phonegap. It lets you to deploy your app simultaneously targeting multiple platforms that includes Apple, Android,Windows, Blackberry devices. Since the core remains web, it is easy to manage and release future versions.

Building User Interface

You can use Jquery mobile, which is a web framework to create pages in conformance with the smartphone app specification. Jquery mobile can handle different transition effects that are demanded by the app using CSS3 transitions. A Jquery mobile page can be a single page for the whole application or multiple pages loaded into the main interface. This framework lets the app to load HTML5 loaded faster inside the app applying different transition effects as chosen by the programmer.

To conclude, the strategy is to go for Phonegap if you are developing an app for a web site or web application. But if you are looking at a more dynamic development such as required for games, I recommend using the native coding that offers greater performance. There are large number of applications built with this amazing framework. You can browse these apps here.