The document discusses mobile operating systems and provides details about Android and iOS. It describes the basics, architecture, advantages and disadvantages of both Android and iOS operating systems.
The document discusses mobile operating systems and provides details about Android and iOS. It describes the basics, architecture, advantages and disadvantages of both Android and iOS operating systems.
Original Description:
Mobile Application Development - PowerPoint presentation
The document discusses mobile operating systems and provides details about Android and iOS. It describes the basics, architecture, advantages and disadvantages of both Android and iOS operating systems.
The document discusses mobile operating systems and provides details about Android and iOS. It describes the basics, architecture, advantages and disadvantages of both Android and iOS operating systems.
Download as PPTX, PDF, TXT or read online from Scribd
Download as pptx, pdf, or txt
You are on page 1of 65
Introduction to mobile operating system
What is an operating system ?
• An Operating system (OS) handles all hardware & software resources of the Computer. • It works as a communication medium between various components of Computer. Functions of an OS • Peripheral Device Management. • Data File Management. • Memory Management. • Process Management. Peripheral Device Management • Operating system handles communication between various devices with the help of its associated devices and keeps track of every connected devices in the system • The unit which keeps tracks of systems is known as I/O Controller • I/O controller identifies which assigns processes to devices for specific duration and allocates and de-allocates processes to devices in an effective way Data File Management • File management is defined as the process of manipulating files in computer system, its management includes the process of creating, modifying and deleting the files. • • The following are some of the tasks performed by file management of operating system of any computer system: • It helps to create new files in computer system and placing them at the specific locations. • It helps in easily and quickly locating these files in computer system. • It makes the process of sharing of the files among different users very easy and user friendly. • It helps to stores the files in separate folders known as directories. Memory Management The task of subdividing the memory of multiprogramming computer among different processes is called as memory management • Memory management is a method of operating system to manage operations between main memory and disk during process execution Why Memory Management is required: • Allocate and de-allocate memory before and after process execution. • To keep track of used memory space by processes. • To minimize fragmentation issues. • To proper utilization of main memory. • To maintain data integrity while executing of process. Process Management • Process management involves various tasks like creation, scheduling, termination of processes, and a dead lock. • It is the job of OS to manage all the running processes of the system. It handles operations by performing tasks like process scheduling and such as resource allocation. Mobile operating systems • For mobile phones, OSs have been developed to enable users to use phones in much the same way as personal computers were used • It allows the devices to run applications and other programs • Mobile OS usually including most of the following considered essentials ; a touch screen, Bluetooth, video camera, wifi, music player, voice recorder etc • A mobile OS typically starts up when a device powers on, presenting a screen with icons or tiles that present information and provide application access. • These OS are managing the resources of the devices and memory when they are being used for multi tasking • The name and the version of the mobile OS should be detailed under setting in every devices • The most well-known mobile OSs are Android, iOS, Windows phone OS, and Symbian. • And there are some less used mobile OS such as blackberry , Samsung etc Types of mobile OS
• Opensource Mobile OS • Closed source Mobile OS
-Tizen – iOSBlack -Plasma Mobile – Berry OS -Firefox OS – Symbian -Sailfish OS – Bada -Ubuntu Touch – Palm OS Popular platforms of the mobile OS • Android OS: The Android operating system is the most popular operating system today. It is a mobile OS based on the Linux Kernel and open-source software. The android operating system was developed by Google. The first Android device was launched in 2008. • iPhone OS / iOS: The iOS was developed by the Apple inc for the use on its device. The iOS operating system is the most popular operating system today. It is a very secure operating system. The iOS operating system is not available for any other mobiles. • BlackBerry OS: The BlackBerry operating system is a mobile operating system developed by Research In Motion (RIM). This operating system was designed specifically for BlackBerry handheld devices. This operating system is beneficial for the corporate users because it provides synchronization with Microsoft Exchange, Novell GroupWise email, Lotus Domino, and other business software when used with the BlackBerry Enterprise Server. • Symbian OS: Symbian operating system is a mobile operating system that provides a high-level of integration with communication. The Symbian operating system is based on the java language. It combines middleware of wireless communications and personal information management (PIM) functionality. The Symbian operating system was developed by Symbian Ltd in 1998 for the use of mobile phones. Nokia was the first company to release Symbian OS on its mobile phone at that time. • Windows Mobile OS: The window mobile OS is a mobile operating system that was developed by Microsoft. It was designed for the pocket PCs and smart mobiles. • Bada (Samsung Electronics): Bada is a Samsung mobile operating system that was launched in 2010. The Samsung wave was the first mobile to use the bada operating system. The bada operating system offers many mobile features, such as 3-D graphics, application installation, and multipoint-touch. Basics of Android Android Operating System • Android is an open-source mobile OS developed by Google and launched in 2008 • It is a Linux-based OS that uses Linux 2.6 to provide core services such as security, memory management, process management, network stack, and a driver model. • It offers a unified approach to application development for mobile devices which means developers need only develop for Android, and their applications should be able to run on different devices powered by Android. • It offers a wide range of libraries that enable the app developers to build different applications. Android Operating System Architecture Advantages of Android • Open source • Larger developer and community reach • Increased marketing • Inter app integration • Reduced cost of development • Higher success ratio • Rich development environment Disadvantages of Android • Usually, you need more code on Java and Kotlin than ObjectiveC and swift. • Complex layouts and animations are harder to code in Android. • Applications contains virus also present in Android Market • A lot of “process” in the background that lead to the battery quickly drains. • Advertise , will always be ads on display, either the top or bottom of the application. • Low security and fake apps can be installed to steal your info from unknown resources • High device fragmentation Android Memory Management • Android Memory Android is derived from a Linux based OS with 2.6.x kernel which is capable enough to handle most tasks in very well- mannered as it is deployed on native open-source C libraries that have powered Linux machines for years. Basic operations of OS like process management, I/O management, memory management, and so on, are managed by the native stripped-down Linux kernel. • Using memory for each application Memory for each application in android is managed by its own run time and virtual machine which is little unusual. Android run time also manages the process lifetimes and ensures application responsiveness by stopping and killing processes as necessary to free resources for higher-priority applications. Application Priorities and Process States Basics of iOS iOS • iOS is Apple’s mobile operating system that runs on iPhone, iPad, and iPod touch. Historically, Apple releases a new iOS version once a year • In 2007, Steve Jobs introduced the iPhone and iPhone OS. During the event, Jobs referred to the operating system as OS X because it shared a similar Unix core compared to the Mac • When Apple launched the iPhone SDK a year later, they officially changed the name to iPhone OS. iOS System Architecture Advantages of iOS • Excellent UI and fluid responsive • Developers can design apps because less number of models • Metal and shiny coating are ultimate for Apple devices • Jailbreaking for customization • Generates less heat when compared to Android • Excellent for media entertainment • Suits for business and gaming • iOS Is More “Intuitive” Disadvantages of iOS • It has a review process, when developers want to publish an app, they need to send it to Apple for review that takes maximum 2 days, and it takes even more in some cases. • Applications are very large when compared to other mobile platforms • Using iOS are costly Apps when it comes to paid app • Battery performance is very poor on 3G • Repair costs are very piracy • Not flexible only supports iOS devices Security features of iOS • Secure boot • Passcode • Touch ID • Non executable memory • Encryption • App Security • Network Security • Two-Factor Authentication • Android and iOS platforms are most important platforms in mobile application world. Compare and write the differences between both OS. Mobile Application Development • Building a mobile app is not a simple task that you can • create within some hours. • For implement application, you need several things. • One of them is a mobile application development tool. Mobile Application Development Tools Why are the tools needed for App development? • Tools help to make the application development process easier • Provide various IDEs • Provide code-free developments • Templates • API • Data synchronization • Analytics • Faster app development • Simplifies the integration process with backend services (push notifications) • Ensures a visual development environment and features Main Types of Mobile Development Tools? • Native development tools and its native programming languages Native development tools for Android (Java or Kotlin) Native development tools for iOS (Objective-C or Swift)
• Cross-platform development tools
Coding Platforms Low-Coding Platforms No-Coding Platforms Native development tools for Android Native development tools for iOS Cross-platform development tools Coding Platforms • Provide you with full control over your entire mobile application development process. • Mobile application developer requires knowledge about the relevant coding language. • Ex: Xamarin, PhoneGap, Ionic, React Native Coding Platforms pros and cons Pros • App perfection and have perfect control of development. • Performance • App safe and secure • User experience is high Cons • Budget/ Maintenance cost is high • Lack of resources Low-Coding Platforms • These platforms are able to efficiently streamline your development process, by limiting the amount of coding that is required.
• Provides the Graphical User Interface for programming.
• Ex: OutSystems, Fliplet, TrackVIA, Appy Pie
Low Coding Platforms pros and cons Pros • Minimal hand coding. • Don’t need a vast knowledge of programming languages. • Fast delivery • Rapid Development Time • Cloud-Hosting Cons • Vendor Lock-In • Customization • Out-Of-The-Box Functionality is low No-Coding Platforms Provide you with services, such as, a drag-and-drop interface, allowing you to create an application without typing a line of code. Ex: Backendless, AppSheet, Quick Base No Coding Platforms pros and cons Pros • User-friendliness • Reduce your cost efforts • Deliver features quickly Cons • Need a deep understanding -Fixed templates -security issues and lack of control Framework • A framework is a software-only app skeleton that includes preset tools, libraries, software development kits, and other components. • Frameworks are intended to be more like app templates. Their ready-made components provide some guidance to developers throughout the development process • Frameworks are software-only systems that include tools, standard components, libraries, classes, and SDKs (software development kits) to produce an application Examples: Onsen UI/ PhoneGap Popular Cross-platform development tools/frameworks and features Stages of the mobile app development process 1. Choosing a partner 2. Product Discovery 3. UX / UI app design 4. Project kick-off & setup 5. App development with Quality Assurance 6. Preparation and publishing of the app on Google Play and Apple Store 7. Post-development phase Preparation and publishing of the app on Google Play and Apple Store Google Play Store • Google Play is an online store where people go to find their favorite apps, games, movies, TV shows, books, and more. • It provides 2 million apps & games to billions of people around the world, generating over $120 billion in earn nonce the Android app is developed, tested and ready to be published, we need to publish it to the Google play store so that users can download and use it.gs for developers to date. Apple App Store • App Store is the official app distribution platform developed by Apple. • The Apple App Store is a digital distribution platform where individuals can buy and download digital software and applications. • The App Store is Apple's one-stop-shop for content for the iPhone, iPad, Apple Watch, and iPod touch • Apps purchased from the Apple App Store are stored in the iCloud —a cloud storage and cloud computing service from Apple— for easy access from any signed-in device. • Since its inception, this digital storefront has seen over two million apps available for download, and Apple customers have downloaded more than 100 billion apps collectively. What is Mobile Advertising? • Mobile-friendly ads or websites are a type of ads and web pages that can be easily viewed on the smallest of mobile devices and tablets • Present-day marketers and advertisers make use of a wide range of sophisticated designs accompanied by rich media interactivity to create mobile-friendly ads and websites that help boost brand awareness and generate higher revenue. Mobile Application Security Mobile Application Security • Mobile application security focuses on the software security posture of mobile apps on various platforms like Android, iOS, and Windows Phone. This covers applications that run both on mobile phones as well as tablets. • It involves assessing applications for security issues in the contexts of the platforms that they are designed to run on, the frameworks that they are developed with, and the anticipated set of users (e.g., employees vs. end users) • A lack of vetting can lead to security feature implementation that can be easily circumvented by attackers. Common issues that affect mobile apps include ● Storing or unintentionally leaking sensitive data in ways that it could be read by other applications on the user’s phone. ● Implementing poor authentication and authorization checks that could be bypassed by malicious applications or users. ● Using data encryption methods that are known to be vulnerable or can be easily broken. ● Transmitting sensitive data without encryption over the Internet. You must secure your mobile application from the attackers. There are several ways to prevent the apps. 1.Enforce Strong Authentication The three main factors for authentication are ● something that a user knows, such as a password or PIN ● something the user has, such as a mobile device ● or something the user is, such as a fingerprint.
2.Encrypt mobile communication
With threats like snooping and man-in-the-middle attacks over WiFi and cellular networks, IT should make sure that all communications between mobile apps and app servers are encrypted. 3.Patch App and Operating System Vulnerabilities To protect mobile users from attack, IT should check mobile devices and ensure that the latest patches and updates have been applied. 4. Protect Against Device Theft To ensure sensitive data does not end up in the wrong hands, IT should provide a way to remotely wipe sensitive data Or—better yet— make sure data is never stored on mobile devices in the first place. 5. Scan Mobile Apps for Malware Eliminate malware and adware by testing apps for malicious behaviour. Malware can be detected using virtual sandboxing or signature-based scanning tools. For mobile workspace or virtual mobile solutions, perform malware scans on the server. 6. Protect app data on your device Make sure developers are not storing any sensitive data on their devices. If you must store data on device for some reason, first make sure it's encrypted/protected. And then only store it in files, data stores, and databases. 7. Secure the Platform Your platform should be properly secured and controlled. 8. Prevent Data Leaks To avoid data leaks while still allowing users to install personal apps on their mobile devices, IT must separate business apps from personal apps.