Are Native Mobile Phone Applications Ready for that Enterprise?

The Apple Application Store has arrived at 25 billion downloads, and a lot of us have purchased and revel in a number of them. Really, the apps for iPad, iPhone and Android astound us many occasions. Unhealthy part comes whenever we return to our pc to make use of the enterprise software and feel like we travel within the time some time back.

It might be nice, excellent, so that you can use our mobile phone to gain access to to the enterprise software. Now you ask ,: are native mobile apps ready for enterprise software?

The handicaps

Obviously, we are able to write native mobile phone applications to operate all of our business, however there are several limitations natural in mobile software making it not optimum for developing enterprise software. I cite a couple of them below.

Instant update

Inside a typical enterprise web application designed in Java that’s being operated by a credit card applicatoin server, a big change towards the application has immediate effect out of all users. You don’t need any special procedure to update, they simply make use of the browser of course and also the application has already been updated. However, a mobile application should be printed for an application store, and also the user must update the application clearly. Furthermore, many occasions we must depend on exterior providers for example Apple (using the iOS Developer Enterprise Program) or Appaloosa to distribute increase our apps.

In a nutshell, traditional enterprise web application are simpler to update than native mobile phone applications. It is really an important reason for a company atmosphere where sometimes we have to begin with a version on some specific date, sometimes there exists a critical bug to repair immediately, etc.

Multiplatform

With native mobile phone applications we must write our application 3 occasions, one with Objective-C for iPhone, one with Java for Android and the other one with C# for Home windows Phone. We are able to ignore Home windows Phone, but we can’t ignore iPhone or Android, so a minimum of we must write the apps two occasions. Though some multiplatform solutions exist, for example HTML5 JavaScript with PhoneGap, this really is still a significant problem.

Because of its part, a normal Java Enterprise application could be performed from the computer having a browser, and also the application itself can run in almost any possible server configuration. Exactly the same code runs anywhere.

An internet alternative

The apparent alternative would be to run the present web enterprise application while using browser from the mobile phone. It really works, but it doesn’t create a good consumer experience, since the current applications are equipped for the large screens from the pc and for use with mouse. The visual elements posess zero good layout within the small mobile screen and also the links and buttons are extremely small , within the wrong place, so that they take time and effort to the touch. Furthermore, some aspects of a normal web application just fail to work inside a mobile browser, for example resizable elements or wealthy text editors. And you want to feel a genuine mobile experience using gestures to handle the application in order to begin to see the usual visual results of a local applications.

Obviously, using the current web technology (A.K.A. HTML5) we are able to create web applications that behave and appear like native mobile phone applications. So a pure web application cannot apply certain device features such as the accelerometer, your camera or even the compass, but many enterprise applications don’t need them along with the time these functions is going to be readily available for pure web applications too (actually a number of them happen to be available). Also so the native mobile application could work offline, but many enterprise applications have to be linked to live data within the servers, so they aren’t very helpful offline anyway. In addition, we are able to create HTML5 offline applications as needed.

Creating web mobile apps enables us to make use of our current infrastructure and our current developers. However, it isn’t very easy, because we must rewrite the consumer interface in our application completely, and later on we must maintain both interfaces, the desktop one and also the mobile one. How will you avoid this issue?

Automatic Interface generation

Don’t write the consumer interface, just generate it instantly. This can be a method to have your company applications within the desktop as well as in the cellular devices with hardly any cost. Maybe you believe automatic interface generation doesn’t work, but frameworks with automatic UI generation are in our midst for some time with great satisfaction for that developers and customers.

For instance, while using OpenXava framework you are able to write an item.java domain class, a category just with data structure and business logic but with no interface logic, and from this you will get the next application inside a desktop browser:

And subsequently inside a smartphone (within this situation while using XavaPhone add-on for OpenXava):

And all sorts of this writing merely a single Java class.

Conclusion Move your applications towards the mobile world using web applications and think about using automatic UI generation tools, like OpenXava, like a practical way of getting multiple user interfaces.’