TECHNOLOGY 

Published on
KembaraXtra- Computer Science - Apps
1. App Definition & Characteristics
  • Traditional Definition: Software programs used directly by users (interchangeable with "application").
  • Modern Meaning: Gained prominence with Apple's App Store (2008).
  • Common Characteristics:
    • Designed for end users.
    • Often target mobile devices (smartphones, tablets).
    • Distributed via internet-based digital storefronts (App Store, Google Play Store, Microsoft Store).
    • Limited system access; declare required capabilities.
    • Primarily use touchscreens for user input.
  • Native App: Software installed on a device that directly utilizes the operating system's API.
  • Web App: Designed with web technologies (HTML, CSS, JavaScript) and not tied to a specific OS.
2. Native Apps
  • Definition: Built for a specific operating system (iOS, Android).
  • Benefits of App Stores:
    • New platforms for developers.
    • New methods of distribution.
    • New ways to monetize software.
  • Development Challenges:
    • iOS and Android differ in programming languages and APIs.
    • Requires separate codebases or cross-platform frameworks (Xamarin, React Native, Flutter, Unity) for multi-platform support.
    • Many apps rely on web services.
  • Cross-Platform Frameworks: Abstract underlying OS API details, enabling code to run on multiple platforms.
  • Historical Context:
    • Steve Jobs initially envisioned web apps as the primary means for third-party development on the iPhone.
    • Apple later reversed course, allowing native app development and opening the App Store.
  • Benefits of Native Apps & App Stores:
    • Revenue source for platform holders (Apple, Google, Microsoft).
    • Exclusive content.
    • Curated list of apps with ratings.
    • Consumer trust (quality guidelines).
    • Centralized payment service.
    • Automatic updates.
  • Drawbacks:
    • Complex environment for developers (multiple stores, platforms, technologies).
    • Each marketplace has specific requirements and takes a percentage of revenue.
3. Web Apps
  • Definition: Websites that function like apps, built using web technologies (HTML, CSS, JavaScript).
  • Advantages:
    • Run on any device with a modern web browser.
    • Code only needs to be written once.
  • Disadvantages:
    • Don't have full access to device capabilities.
    • Tend to be slower than native apps.
    • Require an internet connection.
    • Generally not listed in app stores.
  • Responsive Web Design: Ensures web content renders well on various screen sizes, allowing for a single website across devices.
  • Web Development Frameworks: Angular, React, Vue.js simplify web app development and maintenance.
4. Progressive Web Apps (PWAs)
  • Definition: Websites with extra features that bridge the gap between native apps and web apps.
  • Requirements:
    • Served over HTTPS.
    • Render appropriately on mobile devices.
    • Load offline once downloaded.
    • Provide a manifest describing the app.
    • Transition quickly between pages.
  • User Experience: Feel responsive and natural, like a native app.
  • Benefits:
    • Use web technologies for apps without building multiple platform-specific apps.
    • Users can add a PWA icon to their home screen or desktop, launching it like a native app in its own window.
  • Drawbacks:
    • Don't appear in app stores (except Microsoft Store).
    • Users aren't used to installing apps from websites.
    • May not look exactly like native apps (look similar across platforms).
    • May not have the same performance or full access to platform capabilities as native apps.
Picture
0 Comments