MAD 1 WEEK 1
Lecture Notes: Apps and Web Development
What is an "App"?
● Definition: An app is computer software, typically small and specific, designed
for mobile devices. Originally, it referred to any mobile or desktop application.
Today, it primarily denotes small programs that can be downloaded and installed
on mobile devices.
Types of Apps
Desktop Apps
● Characteristics:
○ Standalone programs (e.g., editors, word processors, web browsers, mail
clients).
○ Often functional offline with local data storage.
○ May include network connectivity for updates or features.
● Development:
○ Utilize Software Development Kits (SDKs).
○ Often OS-specific frameworks.
Mobile Apps
● Characteristics:
○ Targeted for phones or tablets with platform-specific constraints.
○ Constraints:
■ Limited screen space.
■ Touch/audio/camera interactions.
■ Restricted memory/processing power.
■ Battery consumption considerations.
○ Often network-dependent.
● Development Frameworks:
○ OS-specific.
○ Cross-platform tools (e.g., React Native, Flutter).
Web Apps
, ● Characteristics:
○ Platform-independent, works across devices and operating systems.
○ Strongly reliant on network connectivity.
○ Offline workarounds can be implemented.
Focus of the Course
● Core Components:
○ Storage: Data handling and formats.
○ Computation: Indexing, processing, and calculations.
○ Presentation: User interfaces and rendering.
● Example: Email Client
○ Storage: Server-side email storage, file formats.
○ Compute: Email indexing, search functions.
○ Presentation: Display email list, rendering individual messages.
Platforms
● Desktop:
○ Input: Keyboard, mouse, video.
○ Paradigm: Folders, files, documents.
● Mobile:
○ Interfaces: Touchscreen, voice, tilt sensors, camera.
○ Self-contained apps for specific functionalities.
● Web-based:
○ Datacenter storage with persistent cloud-based access.
○ Multi-device usage and synchronization.
● Embedded:
○ Focused on single functions, e.g., IoT devices.
Architectures
Client-Server Model
● Server:
○ Stores and processes data.
○ Provides data upon request.
● Client:
○ Requests data and displays it to the user.
○ Handles user interaction.
● Network:
○ Connects clients and servers.
Lecture Notes: Apps and Web Development
What is an "App"?
● Definition: An app is computer software, typically small and specific, designed
for mobile devices. Originally, it referred to any mobile or desktop application.
Today, it primarily denotes small programs that can be downloaded and installed
on mobile devices.
Types of Apps
Desktop Apps
● Characteristics:
○ Standalone programs (e.g., editors, word processors, web browsers, mail
clients).
○ Often functional offline with local data storage.
○ May include network connectivity for updates or features.
● Development:
○ Utilize Software Development Kits (SDKs).
○ Often OS-specific frameworks.
Mobile Apps
● Characteristics:
○ Targeted for phones or tablets with platform-specific constraints.
○ Constraints:
■ Limited screen space.
■ Touch/audio/camera interactions.
■ Restricted memory/processing power.
■ Battery consumption considerations.
○ Often network-dependent.
● Development Frameworks:
○ OS-specific.
○ Cross-platform tools (e.g., React Native, Flutter).
Web Apps
, ● Characteristics:
○ Platform-independent, works across devices and operating systems.
○ Strongly reliant on network connectivity.
○ Offline workarounds can be implemented.
Focus of the Course
● Core Components:
○ Storage: Data handling and formats.
○ Computation: Indexing, processing, and calculations.
○ Presentation: User interfaces and rendering.
● Example: Email Client
○ Storage: Server-side email storage, file formats.
○ Compute: Email indexing, search functions.
○ Presentation: Display email list, rendering individual messages.
Platforms
● Desktop:
○ Input: Keyboard, mouse, video.
○ Paradigm: Folders, files, documents.
● Mobile:
○ Interfaces: Touchscreen, voice, tilt sensors, camera.
○ Self-contained apps for specific functionalities.
● Web-based:
○ Datacenter storage with persistent cloud-based access.
○ Multi-device usage and synchronization.
● Embedded:
○ Focused on single functions, e.g., IoT devices.
Architectures
Client-Server Model
● Server:
○ Stores and processes data.
○ Provides data upon request.
● Client:
○ Requests data and displays it to the user.
○ Handles user interaction.
● Network:
○ Connects clients and servers.