- Published on
KembaraXtra- Computer Science - Apps
1. App Definition & Characteristics
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.
- 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.
- 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.
- 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.
0 Comments