Introduction
The mobile technology industry is rapidly changing due to increasing competition from manufacturers and diverse client demands. Computers have also found their way to pockets and hands of users due to enhanced mobile applications built for iOS and Android platforms. The development of mobile business applications faces a challenge in the design, development and implementation. These challenges seek to address three primary concerns. The first is the type of devices to target with certain mobile applications. The second is how to create simple yet effective applications and the third challenge is how to ensure the security of data that is downloaded or uploaded on the developed applications.
The Development of Mobile Applications
The development of mobile applications considers the applications and how they can appeal to both the two commonest platforms; Android and iOS. Developers of mobile applications are usually required to design applications that can perform across different platforms. Mobile phone users want to have applications that can work in a similar way regardless of the platform dissimilarities. This poses a huge challenge to software developers for android and iOS platforms since both are built using two different kinds of tools, practices and technologies. The developers have mobile applications platform frameworks such as Adobe PhoneGap, participant and Appaccelelerator and titanium participant that can help in the development of decent applications for both android and iOS (Wigley, Daniel & Peter, 12). However, these technologies cannot be an ultimate choice for the development of cross-platform mobile applications. These applications take less time to develop and they also require less investment.
Development of mobile applications
The development of operating systems is changing rapidly and so are the mobile applications to match up to those changes. Cross-platform framework includes the short training time. In order to develop some applications, software developers need to clearly understand the client demands and the actual purpose of the application to avoid ambiguity and redundancy. The development of applications to functions across different platforms began in the mid-90s and has progressed rapidly to date. The development of mobile cross-platform framework is advantageous as the developer does not have to deal with the specific system architecture. Moreover, across platforms, applications seem sustainable. As soon as new Operating Systems (OS) are developed it is supported by the Cross-Platform Framework used, so the application can be compiled for the new OS. However, there are a few disadvantages in the use of cross-platform applications. These are the lower performance and the “unnatural” feeling with the user interface (Geary). The cross-platform development allows the end user to deploy software to multiple environments and hardware architectures which offer the ability to perform several tasks.
The emergence and success of tablets and smart phones in the mobile devices market has brought about a heated debate on the OS best suited for different mobile devices. The development of OS that can perform effectively across different platforms is a controversial issue. The development of an OS to perform across diverse platforms has to consider the different users and accommodate the usage of numerous applications.
The development also has to consider the requirements by large companies. In such, employees have to deal with a heterogeneous Operating System environment in which each employee must be able to use specific applications to perform some given tasks. The application may require the employee to simply perform data entry-for example the provision of news feeds about companies after which the information may be used to provide a web interface. There are more complex tasks such as data mining in which case java-based solutions with advanced input options are used. Special duties are performed by a small group of people. These duties can include security surveillance by use if imaging techniques which is not unusual if only one OS is supported (Trice).
The number of iphone users is increasing around the world. The use of these devices means that other OS platforms such as Windows phone 7 and Blackberry are also increasing. The development of mobile devices or service targets to suit some needs by individuals and both small and large businesses. The primary objective is to make communication and the access to information cheaper and more effective. The presence of numerous mobile devices presents a challenge to developers of mobile applications as they develop applications that can be used on major operating systems. Working on a single or a limited number of Operating System platforms reduces the chances of a company with the total base to connect with its entire clientele. The development of cross-platform mobile applications is therefore necessary but has shown to slow because it is time-consuming to implement and results in higher costs to the developing company.
Android and iOS powered devices can run automatically. When developers use cross-platform technology, the project runs faster and therefore takes lesser time. The use of these technologies generated codes can be reused in other projects at the primary level. Access to plug-in that can be used in other projects can be used in other tools and services. They also provide other links to the camera, accelerometers and location sensors. This provides the need to write a separate code as a single set of codes that can run automatically on both iOS and android powered devices.
iOS is the platform used on iphones and ipads. The applications for these mobile devices are commonly written in Objective-C and later compiled to Acorn RIS Machine (ARM) code. Developers of applications meant for iphones and ipads can run the applications in a local emulator. Developers can also pay the requisite $99USF/year and enrol for the iOS Developer Program and deploy the applications to their phones by use of Universal Serial Bus (USB) cables. In case of actual production application installation (meant for all non-jailbroken phones) the applications can be downloaded from the iTunes store on Apple’s website.
Android applications are written in java. The java source code is compiled to binaries of Dalvik Executable (DEX) which can run on a Dalvik Virtual machine. Developers can also run the applications in a local emulator. Alternatively, they can install the applications on mobile devices and later debug them through a USB connection. The process of debugging requires the USB debugging to be enabled on the device while the palliations itself must be declared as being debuggable in the Androidmanifest.xml file. In case of production applications, they can be loaded onto mobile phones that run on Android platform. The applications can be loaded via a Secure Digital (SD) card or a USB connection. The storage device (SD card or USB device) is inserted into the computer and the applications are then downloaded from Google’s Applications’ store.
The security features of iOS and Android platforms are also different. Apple provides a Secure Coding guide that bears iOS-specific recommendations on both the security features of the platform (keyring, HTTPS) as well as to develop secure features (avoiding buffer overflows and input validation). In case of Androda platforms Google runs a Google group for Android security discussions and there are other resources available on the internet.
Web developers can easily use the web code developers can easily use these frameworks as they are designed for scripting languages. Javascript, Cascading Style Sheets (CSS) and HyperText Markup Language (HTML) make the basic structure in majority of mobile applications that are used in cross-platforms (Boswell). The desired support cloud services if customers want to the integration of cloud services that these frameworks allow their users. There is also no need for a method of multiple security applications work similarly on both platforms.
One of the leading mobile devices manufacturer, Apple and google- which develops applications for mobile devices keep adding new features to their platforms to support usage of the applications across multiple functions. This can create problems for developers as they strive to make applications that are compatible with the major applications by apple and google. Sometimes it may not allow all the information through communication, Aubridge, AU that the framework forms. The developer’s executives are trying to find an answer to this issue. Tools cannot quite restrict frameworks freedom for applications such as Adobe PhoneGap and Appcelerator participant and participant titanium to allow diverse tools to be enacted (Trice).
In order to defeat platform restrictions, there are different strategies in iOS and Android platforms. Initially, mobile devices are transported in a state that the root-level accesses to the platforms are not immediately available to the device owners. Developers and researchers and have devised ways to circumvent the restrictions for most platforms. This allows for malicious attackers and power users to obtain greater access to the device. The access allows users to either install arbitrary applications or even to inspect and modify system level attributes (Denim Group). In case of the iOS (ipad and iphone) the iOS devices can be “jailbroken” in which case access is allowed to root users and third party applications to be installed. Android devices can be “rooted”. In this case, access to the device as the root user is allowed and also the modification of the core android system (Denim Group). Additionally, rooting a device can allow a given developer to install custom kernels on most devices. Android devices do not need to be “rooted”. This is unlike the iOS devices which allow the installation of 3rd party applications that are not downloaded from Android store.
The use of inefficient codes increases the resultant time of application usage. Using these limited mobile application developers implement different features tools that can be different from the current mode. It may require users to learn several things all over again. Slow codes increases the time to make the resulting technology applications cross-platform mobile development may be slower than normal versions. The code can be very time consuming to do as he has made to multiply for each platform. Developers need to consider native speakers when they develop cross-platform applications. In this condition, the effectiveness of an application is determined by the efficiency of the translation engine that the tool has. This useful information is given to experts in the development of web and mobile applications.
The implementation of developments across platforms also needs to be consided when one is developing of mobile applications. The implementation of this development could consider the mobile device and future applications. It is also important to consider native speakers and develop the application as a hybrid or develop it on the web. According to Geary, cross-platform development allows the end user to deploy software to multiple environments.
There is the issue of the consumerization of Information Technology (IT) which weighs heavily on the enterprise mobile application development. In this case, several aspects are involved. Corporate users can access enterprise data using mobile devices which may be for their own purposes or they may be acting on behalf of the IT department (Denim Group). This could mean that the developers end up not knowing what target platform is required; whether a multi-platform or a cross-platform in the development of the given application.
It is also important developers understand the threat model for the system that they seek to build. They also need to understand the mobile application is only one part of the system that attackers and hackers may attempt to compromise. Inputs that cross trust boundaries should be validated positively and should never be used to make critical security decisions. Moreover, the developers must be wary of the data that is stored on the mobile devices because the devices may be stolen or land into unauthorised hands.
The applications developed for mobile applications need to have access permissions to local files and databases. The device owners might unknowingly install or download other applications that are malicious. Moreover, the network communications in which users of different mobile devices choose to share their applications and files may be sniffed and modified while in transit and so extreme caution should be taken when users of mobile applications exchange sensitive data.
Conclusion
Cross-platform development of applications will in future prove to be very beneficial to the end-users since this solution gives the possibility to use software that is fully compatible on many platforms. This allows them to save more time for coding for each target platform, according to the different methods chosen and simultaneously reduces costs in production and maintenance. The fewer the number of softwares, the lower the maintenance costs. In spite of these advantages, cross-platform developments can cause adverse adjustments. For instance, when a specific button does not exist in Apple devices the developer is required to deal separately with each respective device thereby spending more time that expected to reproduce the same coding process. In other cases, some old mobile applications can malfunction in the updating process. The consumerization of Information Technology (IT) which weighs heavily on the enterprise mobile application development. It could mean that developers end up not knowing what target platform is required; whether a multi-platform or a cross-platform in the development of the given application. This increases the challenges that developers have to overcome and come up with appropriate applications that are securely and effectively applicable on variety of settings. Security is paramount in the development of mobile applications and in this regard, the applications developed for mobile applications need to have access permissions to local files and databases.
Works Cited
Admin. "Advantages and Disadvantages of Cross Platform Mobile Development." Umbraco Development Software Associates India. Software Associate, 4 Apr. 2012. Web. 19 Apr. 2013.
Boswell, Wendy. "Cross-Platform Development: What The Stats Say." Cross-Platform Development: What The Stats Say. Inet, 7 Mar. 2013. Web. 19 Apr. 2013.
Denim Group. Secure Mobile Application Development Reference. Retrieved 7th May 2013 from http://www.denimgroup.com/media/pdfs/MobileDevReference.pdf
Geary, Brian. "Mobile Application Development – AndPlus, LLC – MassachusettsThe Benefits Of Mobile Apps For Businesses - AndPlus, LLC."Mobile Application Development AndPlus LLC Massachusetts. AndPlus, 24 July 2012. Web. 18 Apr. 2013.
Trice, Andrew. "Why Cross Platform Mobile Development?" ANDREW TRICE. Andrew Trice, 11Oct. 2011. Web. 18 Apr. 2013.
Wigley, Andy, Daniel Moth, and Peter Foot. Microsoft® Mobile Development Handbook. Sebastopol: Microsoft Press, 2010. Internet resource.