Cross Platform Mobile Development
Cross Platform Mobile Development With growing number of mobile platforms and devices, the process of developing apps that best fit each of the platforms becomes a tedious and time consuming activity. When developing a mobile app the most important activity is the attention to detail on making the app usage experience a great one for the user. Get it right and you have a loyal user and advocate for the app. Get it wrong and the app will slowly find its way to the mobile app purgatory. The best way make sure that a mobile provides the best user experience on a mobile platform is to develop it in the native language and SDKs supported by the platform. This would mean having one or more developers addressing a single platform. Any changes needed to the app would need to be reworked in each of the code bases for all of the platforms. Given a customer's budget and the type of application needed, this would the most suitable route. Games, etc. fall into this category. Native apps provide the best performance, greatest access to available features of the smartphones and faster acceptability on app stores. The primary platforms that new mobile developers focus on are ios, Android, Blackberry 10 and Windows Phone 8. The requirement to address these multiple platforms and get an application into the market faster has shown growing acceptance and research of cross-platform development solutions. Cross-platforms applications are usually scripted in HTML5, CSS and Javascript and run through a web browser or web view on the smartphone, run through interpreters or VMs or are compiled into native code. Page 02
Mobile Platforms Develop Native mobile apps a. Native apps are developed in the language native to the platforms i. Best performance ii. Maximum access device features iii. Applications can be distributed via app stores i. Costly to develop ii. Requires code to be written for each platform separately Develop a Mobile web app and run it via the smartphones web browser or an embedded web view a. This is a website accessible from the web browser with the UI tailored to be more favourable to the mobile device accessing the website i. Existing skills can be used ii. Learning curve is shorter iii. Addresses most popular platforms web browsers i. Requires the web browser to run the app ii. The app is run remotely on a server with the browser only providing rendering iii. Some slowness will be experienced due to network delays iv. Performance is dependent on network latency v. Cannot be directly sold or distributed via an app store vi. Access to smartphone sensors will be limited Develop a browser based platform specific web app using HTML5, CSS and Javascript a. A platform specific web app runs some code and is developed to make the app look at good as possible on the smartphone i. Development is fast and relatively simple ii. A single codebase which can be accessed by any browser-enabled mobile device iii. Tools and frameworks are readily available (jquery Mobile, Sencha) iv. Runs the app in an embedded web view v. Application can be updated immediately when needed vi. Local access to data, style sheets and script i. Basic access to smartphone sensors ii. Performance is dependent on web browser capability to interpret code iii. UI may vary based on smartphone platforms and additional time is needed to make UI suited to platform needs and performance Page 03
Mobile Development Develop Hybrid Apps a. A platform specific web app runs some code and is developed to make the app look at good as possible on the smartphone i. Development is relatively simple but requires time to understand native SDKs and their usage ii. Tools and frameworks are readily available (PhoneGap, Appcelerator, RhoMobile, Icenium) iii. Single code base can be used with multiple platforms with some modifications iv. Application can be compiled into native code and provided via app stores v. Local access to data, style sheets and script i. Understanding SDKs provided by platforms ii. New application UI transitions may not be readily available iii. Some slowness compared to native apps iv. Harder to debug v. Requires approval to be distributed via the app store The choice of development approach will determine the quality, performance and the reachability of the application. A good budget and the necessity to use smartphone sensors, device specific features and transitions makes it important to go with native mobile development. If the application is to be used more for data presentation and submission then going with a web app would be suitable given network access is not expensive or an issue for target audience. A Hybrid approach seems most suitable given current smartphone capabilities and ease of learning HTML5, CSS and Javascript to develop cross platform applications quickly by providing close access to native features and faster development for cross-platform rollout. Page 04
About Unique Computer Systems FZE Unique Computer Systems (UCS), is an ISO 9001:2008 certified company, headquartered in the United Arab Emirates. UCS offers world-class e-transformation solution to the GCC market being a complete Internet and wireless business solutions provider & Microsoft Certified Partner based in the United Arab Emirates. Since its inception in 1993, the company has matured into a software developer, application integrator and solutions provider for corporate, customer-centric web and wireless solutions for specific business requirements. The portfolio of clients includes local and international companies such as KLM Royal Dutch Airlines, Sony Ericsson, Air Arabia, Alphamed, Ebn Sina Qatar, Del Monte Foods FZE (UAE), Del Monte Saudi Arabia, Al Seer Trading Agencies, Planet Pharmacy, Terraco, Dubai Industrial City, Abdul Lateef Jameel KSA, Dubai World Trade Centre, Commercial Bank of Dubai, MashreqBank, Abu Dhabi Tourism Authority, Motivate Publishing, Eros Group, Qatar Airways, Pinctada Pearls, Sharjah Airport Authority, Sharaf Foundations, Johnson Controls, Emaar Malls Group, Samsung Electronics and others. Unique Computer Systems, over the years, has accumulated a wide array of expertise in the area of wireless software development and business processes. With its certified professionals specialized in various areas of information technologies, Unique Computer Systems has implemented numerous solutions that catered to its clients varied needs, from strategic consulting and system analysis and design, to development and deployment. Unique Computer Systems staff experience is strongly witnessed in providing technology wireless solutions correlated with business analysis and project management experience, we offer knowledge and experience that is truly unique in the technology market. Our company is known for its outstanding customer service and our financial stability. Our management team is committed to the philosophy that customer satisfaction is the key to growing and maintaining our business. We further supplement our years of experience with a commitment to on-going training. Unique Computer Systems has maintained a reputation for excellence in the field and we re confident that you ll join our group of satisfied customers who have come to enjoy an unbeatable combination of outstanding service, quality products and competitive prices. Unique Computer Systems FZE P.O. Box: 42645 Sharjah - UAE Tel: 971 6 5254491 Fax: 971 6 5254343 Email: info@ucssolutions.com www.ucssolutions.com Page 05