Introduction to Mobile Development PDF
Document Details

Uploaded by MeticulousRealism3801
Lourdes College
Tags
Related
Summary
These lecture notes give an introduction to mobile application development, covering topics such as native and hybrid mobile apps, web applications, and mobile application frameworks aiming to provide an overview of the field.
Full Transcript
Introduction to Mobile Development IT Elect 1 - Mobile Application Development What is a Mobile Application(Mobile App)? Most commonly referred to as an app A type of application software designed to run on a mobile device, such as a smartphone or tablet computer. F...
Introduction to Mobile Development IT Elect 1 - Mobile Application Development What is a Mobile Application(Mobile App)? Most commonly referred to as an app A type of application software designed to run on a mobile device, such as a smartphone or tablet computer. Frequently serve to provide users with similar services to those accessed on PCs. (technopedia.com) Web Apps(Web Applications) Accessed via the internet browser and will adapt to whichever device you’re viewing them on. They are not native to a particular system, and don’t need to be downloaded or installed. Due to their responsive nature, they do indeed look and function a lot like mobile apps(careerfoundry.com) Web Apps(Web Applications) Web Apps Pros and Cons Pros: Do not need to be downloaded or installed — web apps function in- browser Easy to maintain — they have a common codebase regardless of mobile platform Will update themselves Quicker and easier to build than mobile apps Do not require app store approval, so can be launched quickly Web Apps Pros and Cons Cons: Do not work offline Slower than mobile apps, and less advanced in terms of features May not be as discoverable as mobile apps as they are not listed in a specific database, such as the app store Quality and security is not always guaranteed — web apps don’t need to be approved by the app store (careerfoundry.com) Progressive Web Apps Progressive Web Apps are web apps that use emerging web browser APIs and features along with traditional progressive enhancement strategy to bring a native app-like user experience to cross-platform web applications. In order to call a Web App a PWA, technically speaking it should have the following features: Secure contexts (HTTPS), one or more Service Workers, and a manifest file. The Decision to Create a Mobile App McWherter and Gowell(2012) a. “The decision to create a mobile application can be difficult. It’s not a decision to rush into, and it requires a great deal of thought. A mobile application can be an opportunity to improve interaction with customers, create brand awareness, and even create additional revenue. But if the objectives of the app are unclear, customers can be upset, and money can be lost.” b. “Mobile apps can offer a way for customers to connect with a brand, if done correctly. ” c. “A pretty UI that offers no value will be rated poorly in the market or iTunes (or, even worse, Apple will reject the app).” d. Must provide a value Benefits of a Mobile App McWherter and Gowell(2012) 1. Make Use of the Native Devices Features 2. Offline Content 3. Richer User Experience 4. Ease of Discovery 5. Push Notifications 6. Increased Customer Feedback Types of Mobile Apps Gaming Apps -The equivalent of computer video games, they are among the most popular types of apps Productivity Apps -These focus on improving business efficiency by easing various tasks such as sending emails, tracking work progress, booking hotels, and much more. Lifestyle and entertainment apps - dating, communicating on social media, as well as sharing (and watching) videos. Some of the most widely known apps such as Netflix, Facebook or TikTok fall into this category. Mobile Commerce(M-Commerce),Utility apps(health apps,barcode scanners) (technopedia.com) Native and Hybrid Mobile Apps Native mobile application A native mobile app is a smartphone application that is coded in a specific programming language, such as Objective C for iOS or Java for Android operating systems. Native mobile apps provide fast performance and a high degree of reliability. Users can use some apps without an internet connection. This type of app is expensive to develop because it is tied to one type of operating system, forcing the company that creates the app to make duplicate versions that work on other platforms(technopedia.com). Android Studio XCode Native and Hybrid Mobile Apps Benefits of Native Development a. Performance - This matters when developers are looking to build demanding graphical applications such as games and other intensive animation applications. b. Rich Native Library - Using native SDKs allows the developer to access the latest features specifically designed for those platforms, without the complexity of dealing with native plugins. c. No third-party dependencies - By building exclusively with a native SDKs, developers aren’t bound to any third-party to keep up with support, and there’s not as much of a dependency on open source communities like Cordova to keep up with the latest feature (ionicframework) Native and Hybrid Mobile Apps Challenges of Native Development a. Longer development Cycles - Especially when building for multiple platforms. b. High development costs - Developing mobile applications natively can be expensive and time-consuming, mostly driven by the time it takes to build for each platform, along with the cost of hiring and retaining highly specialized native talent. c. Limited Customization - Creating custom UI components to match your company’s design system or pattern library can be more challenging with native components, because you’re limited to the design patterns supported by each platform d. Native talent hard to find - Finding and hiring iOS and Android developers is difficult, given that less than 7% of all developers are versed in the necessary programming languages. It’s also difficult to repurpose those developers for other projects outside of mobile(ionicframework) Native and Hybrid Mobile Apps Hybrid Mobile Apps are built using open web technologies like HTML, CSS, and JavaScript, rather than the proprietary or specialized languages used by iOS, Android, and others. Hybrid apps run in a full-screen browser, called a webview, that is invisible to the user. Through customizable native plugins, they can access the native features of specific mobile devices (such as the camera or touch ID), without the core code being tied to that device. (ionicframework) Hybrid Mobile Application Frameworks Ionic Framework Cordova Phonegap Native and Hybrid Mobile Apps Why Hybrid? a. Write Once , Run Anywhere b. Use the talent you already have c. Deliver a greater experience across platforms d. Build for the future Native and Hybrid Mobile Apps Drawbacks of hybrid a. System Overhead b. Plugin management c. Third-party dependence Other Frameworks/Tools Flutter is Google’s UI React Native is like NativeScript is how toolkit for building React, but it uses you build cross- beautiful, natively native components platform, native iOS compiled applications instead of web and Android apps for mobile, web, and components as building without web views. desktop from a single blocks(reactnative.dev). (nativescript.org) codebase(flutter.dev). Android Architecture See : https://developer.android.com/guide/platform/ IOS Architecture See : https://intellipaat.com/blog/tutorial/ios-tutorial/ios- architecture/ Sources and Files Professional Mobile Application Development(2012) Jeff McWherter,Scott Gowell https://www.techopedia.com/definition/2953/mobile-application-mobile-app https://careerfoundry.com/en/blog/web-development/what-is-the-difference-between- a -mobile-app-and-a-web-app/ https://d33wubrfki0l68.cloudfront.net/7109475fed9063a0c90e800595ad3adb29c55e 1 0/60f22/en/blog/uploads/web-app.jpg https://cdn2.hubspot.net/hubfs/3776657/Ionic%20eBook%20- %20Hybrid%20vs%20N ative.pdf https://www.techopedia.com/definition/27568/native-mobile-app https://moduscreate.com/wp-content/uploads/2015/07/ReactNativelogo-620x350.png Sources and Files https://www.trionds.com/wp-content/uploads/2017/11/Kotlin-to-overtake-Java-for- Andr oid-apps.jpg https://www.miraclenext.com/blog/wp-content/uploads/2016/06/Objective-C-Logo.png https://s3.amazonaws.com/infinum.web.production/repository_items/files/000/000/1 6 8/original/android-studio-3.png?1393599622 https://miro.medium.com/max/4000/0*b4bgL-NR2GorAQw2 https://platform-user- uploads.s3.amazonaws.com/blog/category/logo/90483/ionic.cat- db5bc4af5be427e84e941f833197c0eb.jpg https://platform-user- uploads.s3.amazonaws.com/blog/category/logo/385/cordova.pn g logonoid.com/images/phonegap-logo.png Sources and Files https://docs.nativescript.org/start/introduction https://flutter.dev/ https://reactnative.dev/docs/tutorial https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps https://www.simicart.com/blog/wp-content/webp-express/webp-images/doc- root/blog/ wp-content/uploads/starbucks.jpg.webp https://developer.android.com/guide/platform/images/android-stack_2x.png https://intellipaat.com/wp-content/uploads/2015/12/ios-architecture- 460x265.png