No one can avoid the big wave of mobile that we’ve seen in recent years. Some readers of this blog post might be enterprise application developers who are now facing a need for mobile application development. In this post, I will show you the differences between enterprise applications and mobile applications, and I’ll introduce some tips to overcome development barriers using an award-winning integrated development environment (IDE) for enterprise application development. I hope this will make it easier for you to learn as you become a mobile developer.
The paradigm shift from server side to client side in UI development
Java Platform Enterprise Edition (Java EE) technology, such as JavaServer Pages (JSP) and Java Servlets, or frameworks like JavaServer Faces (JSF) and Struts, might be familiar to all enterprise application developers. These technologies are processed on the server side. To be specific, when receiving a request from a client, the server creates the corresponding page on the server side and returns it as a response. In this way, user interface (UI) generations and transitions are handled on the server side in enterprise applications.
However, mobile users in recent years do not have the patience to wait for slow request and response times. You also probably don’t want to wait.
These server-side technologies are therefore not applicable for mobile application development. For mobile, it is necessary to load the page all at once (for example, during initial startup), and you must reduce unnecessary communication at run time. Only the required data is retrieved asynchronously when needed, and then a part of a page is replaced dynamically. To meet these needs, the server-side technology REST and client-side technology AJAX are used, especially in recent rich Internet applications, including hybrid mobile web applications.
Mobile applications are quite different from traditional applications. It is not simple to migrate traditional applications to mobile. Traditional enterprise applications were designed to be used with a big screen, mouse and keyboard. Meanwhile, mobile devices have much smaller screens, and the data displayed might be quite limited. The user interface is becoming more and more important.
Mobile devices employ not only touch operation but a variety of inputs such as microphone, geo-location sensor, motion sensor, near field communications (NFC), fingerprint sensor and attached devices like barcode readers.
For mobile applications, developers must be familiar with these technologies, which are quite different from traditional ones. How can you familiarize yourself with them efficiently? Award-winning IDEs like IBM Rational Application Developer (RAD) for WebSphere Software and its superset IBM Rational Software Architect (RSA) for WebSphere Software can make mobile development easier. Let’s look at some of their features.
Four IDE support features
- 1. Remote Procedure Call (RPC) Adapter Services: This feature will convert existing services made by Enterprise JavaBeans or Plain Old Java Objects (POJO) to RESTful services, which communicate using JSON, XML or other languages asynchronously. This leads to reuse of your existing assets to services for mobile.
- 2.Model-driven REST service development: You may not have any experience with REST development, but you may have a lot of experience with design using Unified Modeling Language (UML). By applying the REST profiles and stereotype offered by Rational Software Architect to UML models, and then running UML-to-Java transformation, you will get the Java API for RESTful Web Services (JAX-RS) template code quickly.
These features can help you to lower the threshold to become a mobile developer. However, the more you understand mobile applications, the more concerns you may have about mobile. For example, you may worry about secure data storage, secure data transfer, backend connectivity and so forth. In that case, IBM MobileFirst Platform Foundation, which specializes in mobile, will help you. As the applications made by IBM MobileFirst Platform are based on Cordova too, you will easily migrate your codes from Rational Application Developer or Rational Software Architect to IBM MobileFirst Platform.
If you have used this award-winning IDE, you should try these features. I’m sure it will help you to take your first steps forward as a mobile developer. Please share your thoughts with me on Twitter @yusukek829.