Chapter 1
Chapter 1
7. Web Applications – Mobile-optimized web 21. Flutter – Google’s Powerhouse – Features hot
apps accessed via a browser, developed using reload, a custom rendering engine, and an
HTML, CSS, and JavaScript. extensive widget library for UI components.
8. Advantages of Web Apps – Easy to develop 22. React Native – Meta’s Market Leader –
and maintain, cost-effective, and platform- Popular for its large ecosystem, JavaScript-
independent. based development, and strong community
support.
9. Disadvantages of Web Apps – Depend on
browser compatibility, have lower 23. Xamarin – Microsoft’s Enterprise Solution –
performance, and limited device feature Best for Microsoft-integrated environments,
access. offering native API access and shared
business logic.
10. Hybrid Applications – A mix of native and web
apps, using a single codebase to run across 24. Flutter Architecture – Layered Approach – A
multiple platforms via WebView. structured architecture with three key layers:
framework, rendering, and engine.
11. Advantages of Hybrid Apps – Cost-effective,
easy to develop, and have some access to
device features.
25. Framework Layer – The top layer where 37. Build.gradle & Podfile – Platform-specific files
developers interact, consisting of widgets for for configuring build settings in Android
UI design. (Gradle) and iOS (Podfile).
26. Widgets in Flutter – Immutable UI 38. Android Manifest – XML configuration file for
components that define the appearance and Android apps, specifying permissions,
behavior of elements. activities, and hardware requirements.
27. Rendering Layer – Converts widgets into 39. Flutter Development Design Patterns – Clean
persistent render objects, acting as a bridge architecture principles separate UI state from
between UI elements and the display. business logic for maintainability.
28. Flutter Engine – Core components written in 40. Repository Pattern – A software pattern that
C/C++, responsible for graphics, text layout, abstracts data handling, separating business
file, and network I/O. logic from data access.
29. Dart Language – Flutter uses Dart, which 41. Benefits of Repository Pattern – Improves
offers strong type checks, async-await, and code organization, testability, and flexibility
high-performance execution. by abstracting data sources.
30. Flutter System Requirements (OS) – 42. How Repository Pattern Works – Uses
repositories as intermediaries between
Windows: Windows 7 or later
business logic and data sources.
macOS: macOS 10.14 (Mojave) or later
43. Components of Repository Pattern –
Linux: Supports Ubuntu, Debian, Fedora, etc.
Data Sources – APIs, databases, or external
31. Flutter System Requirements (Hardware) – services
RAM: Minimum 8GB, recommended 16GB Business Logic – Core application logic that
interacts with repositories
Storage: Sufficient disk space for SDK and
tools Data Models – Structured representations of
retrieved data
32. Flutter SDK – The core development toolkit
for Flutter apps, including libraries, 44. Testing with Repository Pattern – Allows the
frameworks, and tools. use of mock repositories to isolate and test
business logic.
33. Android SDK – Required for Android
development, usually installed with Android 45. Repository Pattern in App Development –
Studio. Ensures consistency in data operations and
reduces errors in code.
34. Development Environment – Visual Studio
Code (VS Code) is a widely used, lightweight,
and customizable code editor.
35. Flutter Configuration Files – Important files in
Flutter development, managing dependencies
and project settings.
36. pubspec.yaml – Defines dependencies, assets,
SDK versions, and metadata for a Flutter
project.
CHAPTER 2 o Only works for local state.
State Management in Flutter o Can be inefficient for large UI updates.
1. Understanding State in Flutter – State o Runs asynchronously.
represents the current data in an app. It
changes due to user interactions, data UI Design Principles & Widgets
updates, or animations. 10. Adaptive UI Design – UI should adjust based
2. Local vs Global State – on screen size (mobile, tablet, foldable
devices).
o Local State – Managed within a single
widget using setState(). 11. Importance of Adaptive UI – Ensures
consistency across multiple devices and
o Global State – Shared across multiple screen sizes.
widgets, managed by tools like
Provider, Riverpod, or Redux. 12. Adaptive vs. Responsive Apps –
3. Managing State Using Stateful Widgets – Responsive Apps – Dynamically adjust using
relative units (percentages, media queries).
o Stateless Widgets – Static UI
Adaptive Apps – Use predefined layouts for
elements that do not change.
specific device categories.
o Stateful Widgets – UI components
13. Characteristics of Responsive Apps –
that can update and change
dynamically. Use relative sizing.
4. How Stateless Widgets Work – Implement media queries.
o Extend StatelessWidget and Have fluid layouts that resize dynamically.
implement a build() method to define
the UI. 14. Characteristics of Adaptive Apps –