Mobile Computing and App Development Overview
48 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which of the following frameworks is NOT a cross-platform solution?

  • Flutter
  • React Native
  • Swift (correct)
  • Xamarin
  • Which company created the cross-platform framework React Native?

  • Apple
  • Google
  • Microsoft
  • Facebook (correct)
  • What is the primary advantage of a native app compared to a Progressive Web App?

  • Native apps are generally faster and have better access to device features. (correct)
  • Native apps require less development time and cost.
  • Native apps are more secure and less vulnerable to security threats.
  • Native apps are more easily accessible across different devices.
  • What is the main programming language used in Flutter?

    <p>Dart (C)</p> Signup and view all the answers

    Which of the following technologies is NOT commonly used for developing Progressive Web Apps?

    <p>Xamarin (A)</p> Signup and view all the answers

    Which of the following statements correctly describes the difference between Progressive Web Apps and Cross-Platform Apps?

    <p>Progressive Web Apps are web-based while Cross-Platform Apps are downloaded and installed. (D)</p> Signup and view all the answers

    Which of the following is NOT a preferred IDE for Flutter development?

    <p>WebStorm (B)</p> Signup and view all the answers

    Which of these frameworks is a Microsoft cross-platform solution for app development?

    <p>Xamarin (A)</p> Signup and view all the answers

    Which of the following options accurately describes the type of UI/UX provided by React Native?

    <p>Completely native UI/UX (D)</p> Signup and view all the answers

    What is a key feature of a Progressive Web App that improves offline usability?

    <p>Caching of frequently accessed content for offline access. (B)</p> Signup and view all the answers

    Which of the following statements is TRUE about the update release cycle of React Native?

    <p>React Native updates are released simultaneously with Android and iOS updates. (B)</p> Signup and view all the answers

    Which of the following is a potential disadvantage of using a Cross-Platform app development framework?

    <p>Cross-Platform apps are often slower than native apps due to performance limitations. (B)</p> Signup and view all the answers

    Which of the following accurately describes the approach used by Flutter to create UI/UX that aligns with native platform updates?

    <p>Flutter develops and releases new libraries to mimic native UI/UX updates. (D)</p> Signup and view all the answers

    What is the primary benefit of using a Cross-Platform app development framework?

    <p>Reduced development time and cost due to code reusability across platforms. (C)</p> Signup and view all the answers

    What is the main advantage of using a cross-platform mobile development framework?

    <p>Developing for multiple platforms with a shared codebase saves both time and resources. (D)</p> Signup and view all the answers

    Which of the following statements is true about the use of a Native app for a retail company?

    <p>Native apps are ideal for retail companies because they offer a seamless and personalized user experience. (A)</p> Signup and view all the answers

    Which of the following is a benefit of using React Native for mobile development?

    <p>It offers code re-usability and cost-effectiveness. (B)</p> Signup and view all the answers

    What is the primary purpose of a Mobile App Development Framework?

    <p>To provide a structured foundation for building mobile apps for various platforms. (A)</p> Signup and view all the answers

    Which category of mobile applications is developed for a specific platform or device?

    <p>Native Apps (C)</p> Signup and view all the answers

    Which framework, created by Google, utilizes a UI toolkit to build native applications for diverse platforms?

    <p>Flutter (A)</p> Signup and view all the answers

    What is a primary distinction between React Native and Flutter?

    <p>Flutter uses JavaScript as the primary language, while React Native uses Dart. (C)</p> Signup and view all the answers

    What technology does Flutter use for its 2D rendering engine?

    <p>Skia (C)</p> Signup and view all the answers

    What is the purpose of a Content Provider?

    <p>To manage and persist application data, potentially interacting with a SQL database. (B)</p> Signup and view all the answers

    What is a major advantage of using a cross-platform mobile development framework like React Native or Flutter?

    <p>The need to write separate codebases for different platforms is eliminated. (D)</p> Signup and view all the answers

    Which of the following is NOT a core component of an Android application?

    <p>Notification (D)</p> Signup and view all the answers

    What does the term "hot deployment" refer to in the context of mobile development frameworks?

    <p>Quickly deploying application updates without needing to rebuild and re-install the entire app. (B)</p> Signup and view all the answers

    What is the primary function of a Service?

    <p>To run background processes that are not directly user-facing. (A)</p> Signup and view all the answers

    Which of the following components is best suited for creating an event-driven application?

    <p>Broadcast Receiver (A)</p> Signup and view all the answers

    Intents are used for all of the following EXCEPT:

    <p>Drawing user interface elements on the screen. (B)</p> Signup and view all the answers

    What is the primary difference between a Widget and a Broadcast Receiver?

    <p>Widgets can be embedded on the Home Screen, while Broadcast Receivers cannot. (B)</p> Signup and view all the answers

    When would Notifications be most commonly used?

    <p>To alert the user about an important event even when the application is not active. (B)</p> Signup and view all the answers

    Which of these components is responsible for creating the user interface of an Android application?

    <p>Activity (D)</p> Signup and view all the answers

    What is the purpose of the uses-permission element within the manifest element?

    <p>To outline a system permission that must be granted by the user for the app to function properly. (B)</p> Signup and view all the answers

    Which attribute within the application element is used to enable debugging during development?

    <p>android:debuggable (B)</p> Signup and view all the answers

    What is the purpose of the uses-library element within the manifest element?

    <p>To define a shared library against which the application must be linked. (C)</p> Signup and view all the answers

    What is the role of the intent-filter element within the manifest element?

    <p>To specify the type of intent to which the activity, service, or broadcast receiver can respond. (A)</p> Signup and view all the answers

    Which element within the intent-filter element is used to add an action for the intent filter?

    <p>action (D)</p> Signup and view all the answers

    What is the purpose of the uses-configuration element within the manifest element?

    <p>To specify the combination of input mechanisms supported by the application. (B)</p> Signup and view all the answers

    Which element within the manifest element is used to specify the metadata for the application, including its title, icon, and theme?

    <p>application (A)</p> Signup and view all the answers

    What is the purpose of the uses-features element within the manifest element?

    <p>To specify the hardware features required by the application. (C)</p> Signup and view all the answers

    What type of permission is automatically granted to an app during installation?

    <p>Install-time permissions (C)</p> Signup and view all the answers

    Which type of permission is also known as dangerous permissions?

    <p>Runtime permissions (C)</p> Signup and view all the answers

    What is a common scenario where an application would require runtime permissions?

    <p>Accessing the user's location (A)</p> Signup and view all the answers

    What is the primary purpose of signature permissions?

    <p>Ensuring app security by verifying the app's origin (C)</p> Signup and view all the answers

    Which type of permission is typically used by services like VPN or autofill?

    <p>Signature Permissions (B)</p> Signup and view all the answers

    If an app needs access to features like the camera or microphone, what type of permissions are required?

    <p>Runtime Permissions (D)</p> Signup and view all the answers

    How is the user notified about install-time permissions?

    <p>The app's description page may include details about required permissions. (B)</p> Signup and view all the answers

    What differentiates normal permissions from runtime permissions in terms of risk to user privacy?

    <p>Runtime permissions are designed for high-level access and pose a greater risk to user privacy compared to normal permissions. (B)</p> Signup and view all the answers

    Flashcards

    Native App

    An app developed specifically for a platform like iOS or Android that utilizes the device's capabilities.

    Progressive Web App (PWA)

    A web application that can be accessed through a browser but also resembles a native app with offline capabilities.

    Offline Access

    The ability of an app to store content on a device for use without an internet connection.

    Push Notifications

    Alerts sent to a device from an app to inform users about updates or news.

    Signup and view all the flashcards

    Cross-Platform Application

    Apps that run on both iOS and Android using the same codebase, allowing for faster development.

    Signup and view all the flashcards

    Xamarin

    A Microsoft framework for building cross-platform applications using C# and .NET.

    Signup and view all the flashcards

    UI/UX in Cross-Platform Apps

    User Interface and User Experience that mimic native applications while using a shared codebase.

    Signup and view all the flashcards

    Responsive Design

    A design that adapts the layout and content to different screen sizes for optimal viewing.

    Signup and view all the flashcards

    Mobile App Development Framework

    A library providing structure for building mobile apps in specific environments.

    Signup and view all the flashcards

    Categories of Mobile Apps

    Mobile apps are classified into Native, Web, and Hybrid types.

    Signup and view all the flashcards

    Web Apps

    Applications that run on web platforms, accessible via browsers on any device.

    Signup and view all the flashcards

    Hybrid Apps

    Apps that combine elements of both native and web applications.

    Signup and view all the flashcards

    React Native

    An open-source framework for developing cross-platform mobile apps using React and JavaScript.

    Signup and view all the flashcards

    Flutter

    A UI toolkit by Google for developing native apps for mobile, desktop, and web from one codebase.

    Signup and view all the flashcards

    Skia Engine

    A 2D rendering engine used by Flutter for developing visuals efficiently.

    Signup and view all the flashcards

    Mobile Development Framework

    A software framework that provides structure for mobile app development.

    Signup and view all the flashcards

    Native Frameworks

    Frameworks designed for platform-specific app development, optimizing performance for the OS.

    Signup and view all the flashcards

    WebStorm

    An Integrated Development Environment (IDE) preferred for developing React Native applications.

    Signup and view all the flashcards

    Bespoke UI/UX

    Custom user interface and experience tailored to specific app requirements.

    Signup and view all the flashcards

    Services

    Components that run in the background, updating data and triggering notifications.

    Signup and view all the flashcards

    Content Providers

    Manage and persist application data, allowing interaction with SQL databases and data sharing.

    Signup and view all the flashcards

    Broadcast Receivers

    Components that listen for intents and respond when conditions are met, enabling event-driven apps.

    Signup and view all the flashcards

    Intents

    Inter-application messaging framework used to start activities, services, and broadcast messages.

    Signup and view all the flashcards

    Widgets

    Small interactive components on home screens that allow user interaction.

    Signup and view all the flashcards

    Notifications

    Alerts that inform users about app events without interrupting current activities.

    Signup and view all the flashcards

    Service subclass

    Custom implementation of a Service in Android, defined through a subclass.

    Signup and view all the flashcards

    ContentProvider subclass

    Custom implementation for sharing data across applications in Android.

    Signup and view all the flashcards

    uses-permission

    A declaration for user permission required by the app to function.

    Signup and view all the flashcards

    application node

    The main container in the manifest for app metadata and components.

    Signup and view all the flashcards

    uses-library

    Specifies shared libraries needed for the application.

    Signup and view all the flashcards

    activity

    Represents a single screen in your app, must be declared in the manifest.

    Signup and view all the flashcards

    intent-filter

    Defines how an activity responds to intents by specifying types and actions.

    Signup and view all the flashcards

    action

    Defines a specific action to be taken within an intent-filter.

    Signup and view all the flashcards

    category

    Defines the category of an intent-filter to classify the component.

    Signup and view all the flashcards

    uses-features

    Specifies hardware features required for the application to run.

    Signup and view all the flashcards

    Permission in Android

    Mechanism to restrict access to app components.

    Signup and view all the flashcards

    Install-time Permissions

    Permissions automatically granted at app installation.

    Signup and view all the flashcards

    Normal Permissions

    Permissions with low risk, allowing safe access.

    Signup and view all the flashcards

    Signature Permissions

    Permissions granted only to apps with matching signatures.

    Signup and view all the flashcards

    Runtime Permissions

    Permissions that require user approval at runtime.

    Signup and view all the flashcards

    Restricted Data

    Data that requires permissions to access.

    Signup and view all the flashcards

    App Manifest

    File where permissions are declared in Android apps.

    Signup and view all the flashcards

    Privileged Services

    Services in apps requiring special signing permissions.

    Signup and view all the flashcards

    Study Notes

    Mobile Computing and App Development

    • Mobile applications are commonly used in daily life, like WhatsApp and Instagram
    • Mobile apps are typically developed for three operating systems: Android, iOS, and Windows
    • There are three primary ways to develop mobile apps:
      • 1st Party Native Apps: These apps are designed for a specific OS (Android or iOS) and run on that OS only. Android apps are typically coded in Java or Kotlin, while iOS apps are often coded in Swift or Objective-C. Android Studio and Xcode are common IDEs for these types of apps.
      • Progressive Web Applications (PWAs): PWAs are essentially websites that run on the device. Technologies like Microsoft Blazor, React, AngularJS, and Native Script are used. The user interface (UI) is developed similar to websites. They allow users to access the content offline and have a faster and smoother browsing experience
      • Cross-Platform Applications: These frameworks enable the creation of apps for different platforms (e.g. iOS and Android), using the same codebase. Xamarin (with .NET, C#, and F# ) and React Native (with JavaScript) are examples. Flutter (with Dart) is another option.
    • Retail companies often develop native apps to provide customers with a better in-store experience (e.g. browsing inventory, creating shopping lists). These apps integrate with existing store systems to improve customer experience and gain insights from customer behavior

    Mobile Development Frameworks

    • Mobile development frameworks are software libraries that provide a fundamental structure for mobile application development.
    • Frameworks commonly fall into three categories:
      • Native frameworks target specific platforms (iOS or Android) for optimal performance and access to device features.
      • Mobile web app frameworks use web technologies (HTML, CSS, JavaScript) to create apps that run in a webview. Usually, not as performant but quicker to develop.
      • Hybrid frameworks combine features of both native and mobile web frameworks.

    Key Framework Examples

    • React Native: An open-source framework created by Facebook. It uses React and JavaScript to build native apps for both Android and iOS with a single codebase.
    • Flutter: A UI toolkit developed by Google, that allows building native apps (Android and iOS) and other applications (desktop and web) with a single codebase using the Dart programming language. Notable features include a fast rendering engine called Skia and full native performance.
    • Ionic: An open-source framework using web technologies like HTML, CSS, and JavaScript that can be used to build cross-platform mobile applications for iOS, Android, and Windows.

    Android Components

    • Activities: The presentation layer of the application, controlling the user interface (UI).
    • Services: Background processes (e.g., data updates, location tracking) that run even when the app is not active.
    • Content Providers: Manage and persist the application's data, offering access to data from other apps.
    • Broadcast Receivers: Intent listeners, responding to system-wide events or intents from other apps.
    • Intents: Inter-application messaging framework to pass data or request actions.
    • Widgets: Components that can be placed on the device's home screen.
    • Notifications: App alerts to draw user attention.

    Android Manifest

    • AndroidManifest.xml: describes the application's components, requirements (permissions, hardware features), and metadata.
    • This file is mandatory, defines the application's structure and components, and specifies how different parts of the application interact with various functionalities.
    • It contains several components like uses-sdk, uses-permission, activity, intent-filter, application, etc.

    Android Permission Model

    • Install-time permissions: Granted at app installation.
    • Normal permissions: Moderate access, little risk to user privacy.
    • Signature permissions: Reserved for apps with special system functions.
    • Runtime permissions: Needed when your app requires more extensive access to the device's resources or user data (like location, contacts). These permissions are usually requested at run-time after the app has been installed.

    Android SDK

    • The Android SDK includes tools and APIs for developing Android applications. These include an Emulator (an emulated Android device) and tools for building and testing Android apps. Downloading the relevant SDK packages is necessary for development work.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    MCAD Notes - Unit 1 PDF

    Description

    Explore the essentials of mobile computing and app development, focusing on the three main methodologies: native apps, progressive web applications, and cross-platform applications. Learn about popular programming languages and tools used for developing apps on different operating systems such as Android and iOS.

    More Like This

    React Native vs Flutter
    3 questions

    React Native vs Flutter

    GuiltlessPrairieDog avatar
    GuiltlessPrairieDog
    Web Apps vs Native Mobile Apps
    10 questions
    Use Quizgecko on...
    Browser
    Browser