The document provides an overview of application development paradigms, including web, mobile, desktop, cloud-native, IoT, AI, blockchain, AR/VR, and platform-specific focuses, each with its own tools and examples. It discusses the importance of integrating software and hardware, current technology trends, and the role of technology in achieving sustainability goals (SDG 9 and SDG 12). Additionally, it highlights the significance of user-centered design, scalability, and the emergence of new paradigms in the evolving tech landscape.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
3 views
Overview
The document provides an overview of application development paradigms, including web, mobile, desktop, cloud-native, IoT, AI, blockchain, AR/VR, and platform-specific focuses, each with its own tools and examples. It discusses the importance of integrating software and hardware, current technology trends, and the role of technology in achieving sustainability goals (SDG 9 and SDG 12). Additionally, it highlights the significance of user-centered design, scalability, and the emergence of new paradigms in the evolving tech landscape.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25
• Introduction to Application Development Paradigms
• Overview of Hardware Components in Application
Development • Current Trends & Innovations in Technology • Integration of Software and Hardware for Application Development • SDG 9 and SDG 12: Role of Technology in Sustainability • Identify key trends in web, mobile, and emerging technologies • Describe the relationship between software and hardware in application development • Relate technologies to SDG 9 and SDG 12 What is Application Development? • process of creating a computer program or a set of programs to perform the different tasks that a business requires. From calculating monthly expenses to scheduling sales reports, applications help businesses automate processes and increase efficiency • Every app-building process follows the same steps ⚬ gathering requirements ⚬ designing prototypes ⚬ testing ⚬ implementation & integration What are Emerging Technologies? • new innovations that are still developing or being explored, with their full uses and potential not yet realized. • They are gaining attention as they move from ideas or experiments into tools that could change industries and everyday life. • Examples include AI, blockchain, and quantum computing. • from massive machines like the ENIAC computer to smartphones and other mobile devices, computing has seen incredibly rapid technological change • from operating systems and spreadsheets to mobile apps and games, you interact with software every time you use a computer • overarching approaches, methods, or frameworks used to design, develop, and deploy software applications • these paradigms dictate how applications are built, their architecture, and the technologies employed to meet user and business needs • Web Development Paradigm ⚬ focuses on creating applications that run on web browsers and are accessible from any device with internet access ■ An e-commerce website like Amazon or Shopee allows customers to browse products, make purchases, and track orders online ■ Tools used: HTML, CSS, JavaScript, React, Angular • Mobile Development Paradigm ⚬ centers on building apps specifically designed for mobile devices like smartphones and tablets ■ A ride-sharing app like Uber or Grab enables users to book rides and track drivers in real-time on their mobile phones ■ Tools used: Swift, Kotlin, Flutter • Desktop Development Paradigm ⚬ focuses on creating applications that run on personal computers and laptops, typically installed directly on the device ■ Productivity software like Microsoft Office (Word, Excell, PowerPoint) is used for office tasks on desktops ■ Tools used: C#, Java, Electron • Cloud-Native Development Paradigm ⚬ Builds applications optimized for cloud platforms, emphasizing scalability, flexibility, and distributed systems ■ Dropbox or Google Drive allows users to store, share, and access files from any device, powered by cloud infrastructure ■ Tools used: Kubernetes, Docker, AWS, Azure • Internet of Things (IoT) Paradigm ⚬ Develops applications that connect physical devices (e.g. sensors, cameras) to the internet for data collection and automation ■ A smart home system like Amazon Alexa or Google Nest manages lights, thermostats, and applications using voice commands or mobile apps ■ Tools used: Arduino, Raspberry Pi, MQTT & Node.js • Artificial Intelligence (AI) Paradigm ⚬ builds applications that incorporate machine learning, natural language processing, or computer vision to make intelligent decisions ■ virtual assistants like Siri or ChatGPT analyze user inputs to provide tailored responses or perform tasks ■ Tools used: TensorFlow, PyTorch, OpenAI API • Blockchain Development Paradigm ⚬ Focuses on decentralized applications (dApps) and systems that ensure transparency, security, and trust ■ Cryptocurrency platforms like Bitcoin or Ethereum enable secure and transparent financial transactions ■ Tools used: Solidity, Hyperledger, Truffle • Augmented Reality (AR) and Virtual Reality (VR) Paradigm ⚬ Designs immersive applications for gaming, training, or interactive experiences ■ AR apps like Pokemon GO allow users to interact with virtual objects in real-world environments, while VR training simulations are used in industries like healthcare and aviation ■ Tools used: Unity, Unreal Engine, ARKit • Platform-Specific Focus ⚬ paradigms are tailored to specific platforms, such as web, mobile, desktop, or emerging technologies (e.g. IoT, AR/VR) ⚬ Example: Web development focuses on browsers, while mobile development targets iOS or Android platforms • Design & Architecture ⚬ emphasis on specific design patterns and architectural styles, such as Model-View-Controller (MVC), microservices, or serverless computing ⚬ MVC: Instagram uses the MVC pattern to separate the user interface from the data logic, ensuring scalability and maintainability ⚬ Microservices: Netflix uses microservices to break down its system into smaller services, enabling faster updates & reliability • Scalability & Performance ⚬ Paradigms consider the need for scalable applications that maintain performance under increased load ⚬ Example: ■ Cloud-native paradigms prioritize elasticity and distributed architecture ■ Amazon Web Services (AWS) auto-scales resources for applications like Zoom during high demand, ensuring seamless performance • User-Centered Approach ⚬ paradigms prioritize user experience (UX) and accessibility to engage users effectively ⚬ Example ■ accessibility - Microsoft’s Office 365 includes features like screen readers and voice dictation, ensuring accessibility for users with disabilities • Technology Stack Alignment ⚬ Paradigms leverage specific tools, frameworks and languages suited to the application type (e.g. React for web, Swift for iOS) ⚬ Example ■ Spotify’s web player uses React for the frontend and Node.js for the backend to ensure responsive design and seamless streaming ■ TikTok uses Kotlin for Android and Swift for iOS to optimize app performance • Emergence of New paradigms ⚬ With evolving technologies, new paradigms like edge computing or AI-driven development are emerging, addressing unique challenges and opportunities ⚬ Example ■ ChatGPT uses machine learning to adapt responses to user queries ■ Tesla’s self-driving cars process data locally on edge devices to ensure real-time responses • Flexibility and Adaptability ⚬ paradigms offer flexibility to accommodate changes in requirements, technologies, and user expectations ■ Jira, a project management tool, supports Agile methodology, allowing iterative development to accommodate feedback and new features ADVANTAGES & LIMITATIONS of each PARADIGM