This document provides information on mobile computing platforms and application development. It discusses native, web, and hybrid mobile apps and the tradeoffs of each approach. Key factors to consider when choosing a development approach include device features, discoverability, speed, installation process, maintenance requirements, and development costs. The document also outlines some popular cross-platform development tools.
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
924 views
Learning Guide 1.2 CrossPlatform 2
This document provides information on mobile computing platforms and application development. It discusses native, web, and hybrid mobile apps and the tradeoffs of each approach. Key factors to consider when choosing a development approach include device features, discoverability, speed, installation process, maintenance requirements, and development costs. The document also outlines some popular cross-platform development tools.
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 33
Federal TVET Institute
Department of Information Communication Technology
Master of ICT Teachers Education
Learning Guide 1: Fundamental of
Mobile Communication Network and Mobile Computing
Information Sheet 1.2: Mobile
Computing Platform and Technologies Objectives • At the end of the chapter the students will be able to:
• Know mobile computing platform
• Distinguish mobile, hybrid and native mobile application • Understand the concepts on develop, deploying and compiling mobile web application 1.6 Mobile Computing Platform and Application The original term is ubiquitous computing, an environment that enhances the environment by making many computers available throughout the physical realm, while making them effectively invisible to the user. The aim of ubiquitous computing is to create a new relationship between people and computers in which the computers are kept out of the way of users as they go about their lives. 1.7 What is a mobile app? • A mobile app is a computer program designed to run on smartphones, tablet computers and other mobile devices • Typically operated by the owner of the mobile operating system, such as the Apple App Store, Google Play,Windows Phone Store, and BlackBerry App World. Some apps are free, while others must be bought • Mobile apps were originally offered for general productivity and information retrieval, including email, calendar, contacts, stock • market and weather information. However, public demand and the availability of developer tools drove rapid expansion into other categories, such as those handled by desktop application software packages. 1.8 Mobile Apps Development
• Developing apps for mobile devices requires
considering the constraints and features of these devices. • Developers also have to consider a wide array of screen sizes, hardware specifications and configurations because of intense competition in mobile software and changes within each of the platforms. 1.8 Mobile Apps Development
• Mobile user interface (UI) Design is also an
essential in the creation of mobile apps. Mobile UI considers constraints and contexts, screen, input and mobility as outlines for design. • Mobile UI design constraints include limited attention and form factors, such as a mobile device's screen size for a user's hand. 1.8 Mobile Apps Development
• Mobile UIs, or front-ends, rely on mobile back-
ends to support access to enterprise systems • This functionality is supported by a mix of middleware components including mobile app servers, Mobile Backend as a service (MBaaS), and Service-Oriented Architecture (SOA) (example REST) infrastructure. Type of Mobile Apps: Native Apps, Web Apps, and Hybrid Apps There are three types of mobile app: 1. Native Apps 2. Web Apps, 3. Hybrid Apps The native app • It must be installed on the device; they either arrive pre-installed on the phone – these might include address book, calendar, calculator, games, maps and Web browser. • They are developed specifically for one platform, and can take full advantage of all the device features — they can use the camera, the GPS, the accelerometer, the compass, the list of contacts, and so on. Web app • The Web app resides on server and is accessed via the Internet. It performs specified tasks – potentially all the same ones as a native application – for the mobile user, usually by downloading part of the application to the device for local processing each time it is used. • .The software is written as Web pages in Jquery, HTML5 and CSS, with the interactive parts in Java. Web app • Web apps are not real applications; they are really websites that, in many ways, look and feel like native applications, but are not implemented as such. They are run by a browser and typically written in HTML5. • Today, as more and more sites use HTML5, the distinction between web apps and regular web pages has become blurry. Its web app is, in many ways, hard to distinguish from a native app Hybrid apps • Hybrid apps are part native apps, part web apps • Like web apps, they rely on HTML being rendered in a browser, with the caveat that the browser is embedded within the app. • Hybrid apps are also popular because they allow cross-platform development and thus significantly reduce development costs 1.10 Architecture of Mobile Devices • The architecture of a mobile device is similar to that of a computer system. It has custom built hardware, firmware, and operating systems. 1.10 Architecture of Mobile Devices • These three items are mostly proprietary and are engineered, developed, and assembled under one flagship organization Most widely used mobile operating systems are: • Android • IOS • BlackBerry • Windows Chart 1.1: Mobile Operating System Dominance Chart Native, Web App, or Hybrid: Which Should You Choose? • A. Device features. Although web apps can take advantage of some features, native apps (and the native components of the hybrid apps) have access to the full paraphernalia of device-specific features, including GPS, camera, gestures, and notifications Native, Web App, or Hybrid: Which Should You Choose? • B. Discoverability. Web apps win the prize on discoverability. Content is a lot more discoverable on the web than in an app: When people have a question or an information need, they go to a search engine, type in their query, and choose a page from the search results. They do not go to the app store, search for an app, download it, and then try to find their answer within the app Native, Web App, or Hybrid: Which Should You Choose? • C. Speed. Native apps win the speed competition. In 2012 Mark Zuckerberg declared that Facebook’s biggest mistake had been betting on the mobile web and not going native. Up to that point, the Facebook app had been a hybrid app with an HTML core; in 2012 it was replaced with a truly native app. Native, Web App, or Hybrid: Which Should You Choose? • D. Installation. Installing a native or hybrid app is a hassle for users: They need to be really motivated to justify the effort. “Installing” a web app involves creating a bookmark on the home screen; this process, while arguably simpler than downloading a new app from an app store, is less familiar to users, as people don’t use bookmarks that much on mobile. Native, Web App, or Hybrid: Which Should You Choose? • E. Maintenance. Maintaining a native app can be complicated not only for users, but also for developers (especially if they have to deal with multiple versions of the same information on different platforms): Changes have to be packaged in a new version and placed in the app • store. On the other hand, maintaining a web app or a hybrid app is as simple as maintaining a web page, and it can be done as often or as frequently as needed. Native, Web App, or Hybrid: Which Should You Choose? • F. Platform independence. While different browsers may support different versions of HTML5, if platform independence is important, you definitely have a better chance of achieving it with web apps and hybrid apps than with native apps. Native, Web App, or Hybrid: Which Should You Choose? • F. Platform independence. While different browsers may support different versions of HTML5, if platform independence is important, you definitely have a better chance of achieving it with web apps and hybrid apps than with native apps. As discussed before, at least parts of the code can be reused when creating hybrid or web apps. Native, Web App, or Hybrid: Which Should You Choose? • G. Content restrictions, approval process, and fees. Dealing with a third party that imposes rules on your content and design can be taxing both in terms of time and money. Native and hybrid apps must pass approval processes and content restrictions imposed by app stores, whereas the web is free for all. Native, Web App, or Hybrid: Which Should You Choose? • H. Development cost. It’s arguably cheaper to develop hybrid and web apps, as these require skills that build up on previous experience with the web. native is a lot more expensive, as it requires more specialized talent. But, on the other hand, HTML5 is fairly new, and good knowledge of it, as well as a good understanding of developing for the mobile web and hybrid apps are also fairly advanced skills. Native, Web App, or Hybrid: Which Should You Choose? • I. User Interface. Last but not least, if one of your priorities is providing a user experience that is consistent with the operating system and with the majority of the other apps available on that platform, then native apps are the way to go. That doesn’t mean that you cannot provide a good user experience with a web app or a hybrid app–it just means that the graphics and the visuals will not be exactly the same as those with which users may be already accustomed. 1.12 Cross-Platform Mobile Web Development Tools • Below are some tools and technologies for developing cross-platform mobile web application (native, web and hybrid) 1. HTML5, CSS, java script and Jquery Mobile • If you’re no stranger to HTML5, CSS3 and JavaScript, then Sencha Touch 2 and Adobe Dreamweaer may be a great choice for creating mobile apps on iPhone, Android and Blackberry. • Now, with the PhoneGap plugin and basic knowledge of HTML, CSS, and JavaScript, you can create apps for iOS and Android devices. Both Platform support: iOS, Android, Windows Phone 2. Cloud Based: Appery.io • The platfrom is described as a “cloud-based HTML5, jQuery Mobile and Hybrid Mobile App Builder.” It’s very easy to use and builds real cross platform HTML5 applications using jQuery Mobile. You can add standard buttons, menus, video, maps and other elements to your mobile app and then bind events and corresponding actions to them. It is a DIY app-creation platform for building robust, native apps for iOS and Android — no coding required. 3. PhoneGap • It is a free, open source software that serves as a bridge between individual mobile OS SDKs, which have their own programming languages and standard development practices.Using PhoneGap, you can support multiple mobile device operating systems easier. You can create a mobile app using HTML5, CSS3 and JavaScript, and then use PhoneGap to package your work for specific mobile operating systems. 4. Java • Java is a popular programming for embedded devices, web systems and mobile apps. It is the primary programming languages for android mobile apps development. Common IDE are Eclipse and Android Studio in conjunction with android SDK. 5. Objective-C (XCODE) • –This is primary programming language in developing an ios mobile apps. It only runs and implements on apple computer and mac os x. References: • [1] Valentino Lee, Heather Schneider, and Robbie Schell, Mobile Applications: Architecture, Design, and Development, Prentice Hall, 2004. • [2] Bill Phillips, Chris Stewart, Brian Hardy, and Kristin Marsicano, Android Programming: The Big Nerd Ranch Guide, Big Nerd Ranch LLC, 3rd edition, 2017. • [3] Murphy, Mark (2013). Android Programming Tutorials. Commonware Books • [4] Ghatol R. and Patel Y. (2012). Beginning PhoneGap: Mobile Web Framework for JavaScript and HTML5. Apress • [5] Cerna, Patrick (2017). Teachers Training Learning Materials: Mobile Communication Network and Technology.