Overview
This lecture introduces the concept of "apps" and examines different types of applications—desktop, mobile, and web—with a focus on the web platform as the primary context for modern application development.
What Is an App?
- An app is computer software, usually a small and specific program, often used on mobile devices.
- The term "app" originally applied to both desktop and mobile software, but has become more associated with small, downloadable programs.
- Apps are typically designed to solve a specific problem or serve a particular function.
Types of Applications
- Apps can be categorized by function (e.g., browsers, editors, word processors, social media).
- Platforms for apps include desktops, mobiles (phones/tablets), and the web.
Desktop Applications
- Desktop apps are typically standalone programs that may work without a network connection.
- Examples: Microsoft Word, Visual Studio Code, Notepad, Gedit.
- Many desktop apps use OS-specific Software Development Kits (SDKs).
- Desktop apps often use local data storage and can work offline, with optional network use for specific tasks (e.g., email).
Mobile Applications
- Mobile apps primarily target phones, with tablets as a secondary focus.
- Mobile devices have limited memory, processing power, and rely on battery life.
- Interaction differs: touch, audio, and camera-based interfaces replace keyboard and mouse.
- Mobile apps may be OS-specific (e.g., iOS with Swift, Android), or cross-platform via special frameworks.
- Most mobile apps are network-oriented, needing constant connectivity for full functionality.
Web Applications
- Web apps are built to run within browsers, which are available across operating systems and devices.
- The web offers a unified, OS-neutral platform for app development.
- Web apps depend on network connectivity and leverage dynamic websites through technologies like JavaScript.
- Web development is the course's primary focus due to its cross-platform potential and foundational principles.
Key Terms & Definitions
- App — A small, specific software program, often for mobile devices.
- SDK (Software Development Kit) — Tools and libraries for building applications on a specific OS or platform.
- Browser — Software for accessing web content; a core platform for web apps.
- Web App — An application that runs in a browser and often requires network connectivity.
- Standalone — Software that operates independently, without needing external connectivity.
- Cross-platform — Software that works on multiple operating systems with minimal changes.
Action Items / Next Steps
- Develop familiarity with browsers, text editors, and terminals for upcoming coursework.
- Prepare to explore web application development principles in depth.