0% found this document useful (0 votes)
20 views

Flutter Reviewer

The document discusses various types of mobile applications, including native, web, hybrid, and progressive web apps, highlighting their advantages and disadvantages. It also covers cross-platform development tools like Flutter, React Native, and Xamarin, as well as state management in Flutter, UI design principles, and best practices for performance optimization. Additionally, it provides case scenarios for choosing development frameworks, managing state, and ensuring security in app development.

Uploaded by

annemoises283
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Flutter Reviewer

The document discusses various types of mobile applications, including native, web, hybrid, and progressive web apps, highlighting their advantages and disadvantages. It also covers cross-platform development tools like Flutter, React Native, and Xamarin, as well as state management in Flutter, UI design principles, and best practices for performance optimization. Additionally, it provides case scenarios for choosing development frameworks, managing state, and ensuring security in app development.

Uploaded by

annemoises283
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

CHAPTER 1 12.

Disadvantages of Hybrid Apps – Slower than


native apps and less interactive.
1. Cross-Platform Applications – A single
codebase that works on multiple platforms, 13. Progressive Web Apps (PWA) – Web apps
primarily Android and iOS, reducing with a native app experience, installable on
complexity and development costs while app stores and capable of offline functionality.
maintaining performance.
14. Advantages of PWAs – Fast, responsive, easy
2. Cross-Platform Tools – SDKs, frameworks, to maintain, works offline, and is cheaper
and developer tools abstract away the than native/hybrid apps.
complexity of app development, making it
15. Disadvantages of PWAs – Limited hardware
easier to create cross-platform apps.
and software support, lack of Bluetooth/NFC
3. Types of Mobile Applications – Mobile functionality.
applications are software that runs on
16. Cross-Platform Development – Traditional
smartphones, categorized into four types:
native development is complex, but newer
o Native apps cross-platform tools (Flutter, React Native,
Xamarin) are improving app quality.
o Web apps
17. React Native – JavaScript and React-based,
o Hybrid apps making it easy for web developers to
o Progressive Web Apps (PWA) transition to mobile development.

4. Native Applications – Built specifically for an 18. Xamarin – A well-established cross-platform


operating system like Android (Java) IOS tool backed by Microsoft with a strong
(Swift/Objective C) or Windows. They provide developer community.
the best performance and security but are 19. Flutter – Google's Dart-based framework,
expensive and platform-specific. known for compiling to native mobile code,
5. Advantages of Native Apps – Best ensuring high performance.
performance, security, interactivity, and 20. Modern Development Frameworks – Cross-
access to full device features. platform frameworks have matured, each
6. Disadvantages of Native Apps – Limited to offering unique benefits for different business
one platform and expensive to maintain. needs.

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 35. Flutter Configuration Files – Important files in
developers interact, consisting of widgets for Flutter development, managing dependencies
UI design. can create custom widgets by and project settings.
combining simpler ones.
36. pubspec.yaml – Defines dependencies, assets,
26. Widgets – building blocks of your app's UI. SDK versions, and metadata for a Flutter
Immutable UI components that define the project.
appearance and behavior of elements. Contain
37. Build.gradle & Podfile – Platform-specific files
elements such as columns and rows
for configuring build settings in Android
27. Rendering Layer – Converts widgets into (Gradle) and iOS (Podfile).
persistent render objects, acting as a bridge
38. Android Manifest – XML configuration file for
between UI elements and the display.
Android apps, specifying permissions,
converts widget into visual elements on
activities, and hardware requirements.
screen
provides essential information about the app
28. Engine – core Flutter's architecture written in to the Android operating system,
C/C++, provides the lower-level
39. Flutter Development Design Patterns – Clean
implementation of Flutter's core API,
architecture principles separate UI state from
including graphics (through Skia). responsible
business logic for maintainability.
for rasterizing composited scene
40. Repository Pattern – A software pattern that
29. Dart – Flutter uses Dart language, offers
abstracts data handling, separating business
support for modern multi-threading, async-
logic from data access.
await, and strong type checks, among other
features. Uses Ahead-of-Time (AOT) 41. Benefits of Repository Pattern – Improves
Compilation - Converts code into native code organization, testability, and flexibility
machine code before running the app. 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

 Processor: Modern multi-core CPU  Repository – Centralized data-handling layer

 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.
CHAPTER 2 o dispose() – Cleans up resources when
the widget is removed from the
State Management in Flutter
widget tree permanently.
1. Understanding State in Flutter – State
7. setState Method – Used to update the state of
represents the current data in an app. It
a StatefulWidget, causing a rebuild of the UI.
changes due to user interactions, data
Modify state variables.
updates, or animations.
8. Limitations of setState –
2. Local vs Global State –
o Only works for local state.
o Local State – Managed within a single
widget using setState(). o Can be inefficient for large UI updates.
o Global State – Shared across multiple o Runs asynchronously. means that a
widgets, lives outside individual task does not complete immediately
widgets managed by tools like and can take some time to finish while
Provider, Riverpod, or Redux. the rest of the program continues
running.
3. Managing State Using Stateful Widgets –
UI Design Principles & Widgets
o Stateless Widgets – Static UI
elements that do not change. Doesn’t 10. Adaptive UI Design – UI should adjust based
have internal state that can change on screen size (mobile, tablet, foldable
after built. devices).
o Stateful Widgets – UI components 11. Importance of Adaptive UI – Ensures
that can update and change consistency across multiple devices and
dynamically. screen sizes.
4. How Stateless Widgets Work – 12. Adaptive vs. Responsive Apps –
o Extend StatelessWidget and  Responsive Apps – Dynamically adjust using
implement a build() method to define relative units
the UI.
 Adaptive Apps – Use predefined layouts for
5. How Stateful Widgets Work – specific device categories./ customized for
platform, devices.
o Extend StatefulWidget and create a
State class to manage changes. Trigger 13. Characteristics of Responsive Apps –
the rebuild of widget subtree.
 relative sizing. Use percentages
6. Stateful Widget Lifecycle Methods –
 media queries. Like css
o createState() – first method called
 fluid layout that resize dynamically.
that Creates the new State object.
14. Characteristics of Adaptive Apps –
o initState() – call when state object is
created Initializes the widget.  predefined layouts.
o didUpdateWidget() – Handles updates  Custom styling customize UI elements for
when the parent widget changes. different devices.
Widget to widget communication.
 Device detection Detect devices and serve an
o build() – Redraws the UI when state appropriate UI.
changes. setState is
15. When to Use Adaptive vs. Responsive Apps
invoked(called/executed).

 Adaptive Apps – When different user  Theming and styling – consistent appreance
experiences are required for different devices. across app to adapt screen sizes (Theme,
MediaQuery).
 Responsive Apps – When broad
compatibility and cost-effectiveness are Best Practices & Common Pitfalls
needed.
21. Performance Optimization –
Flutter Widgets & Layouts
 Use const constructors where possible.
16. What Are Flutter Widgets? – The core
 Limit nesting Avoid excessive widget nesting.
building blocks of Flutter apps, defining UI
Lead to bottlenecks
elements and layouts.
 Leverage Spacer and divider Use Spacer and
17. Two Main Types of Widgets –
Divider for better layout control.
 Stateless Widgets – Fixed UI elements that
22. Common Pitfalls –
do not change. Immutable. Static elements
like labels, images don’t interact with user  Infinite Height/Width – Ensure widgets
actions have proper constraints in scrollable views.
 Stateful Widgets – UI elements that can  Alignment Issues – Be cautious when mixing
update dynamically. Mutable state object. different alignments inside rows and
User inputs or data changes over time columns.
18. Structural Widgets – Define layout and  Here are five possible case scenario essay
positioning: provide scaffolding questions based on the provided files:

 Column – Arranges children vertically.
 Row – Arranges children horizontally.  1. Case Scenario: Choosing the Right
 Stack – Overlays widgets on top of each other. Mobile Development Framework
 You are a software developer tasked with
 Scaffold – Provides a base layout for Material creating a mobile application for a startup
Design apps. Include top app bar, drawer, that wants to launch on both Android and
bottom navigation bar, body iOS as quickly as possible. The client is
unsure whether to develop a native, hybrid,
19. Material & Cupertino Widgets –
or cross-platform app.
 Material Widgets – Android-style  Question:
components (e.g., AppBar, Drawer). Based on your knowledge of mobile
application development, which approach
 Cupertino Widgets – iOS-style components would you recommend (native, hybrid, or
(e.g., CupertinoButton, cross-platform)? Explain your choice by
CupertinoNavigationBar). discussing the advantages, limitations, and
20. Specialized Widgets – the best use cases for each approach.

 ListView & GridView – Efficiently display
lists and grids of items.  2. Case Scenario: State Management
 Animations and Transitions– Provide in a Flutter Application
smooth UI transitions (AnimatedContainer,  A team of Flutter developers is working on a
Hero). mobile e-commerce app. They struggle with
managing user sessions and data across
 Interactivity intricate use interactions multiple widgets. They currently rely on
(GestureDetector, Draggable). setState(), but as the app grows,
performance issues arise due to frequent
widget rebuilds.
 Question: offline. The developers are considering
What state management approach should the Firebase and local storage solutions.
team implement to improve efficiency?  Question:
Compare local state and global state and What are the best practices for securing
suggest a suitable state management solution sensitive data in a Flutter application?
(e.g., Provider, Riverpod, Redux). Justify Compare Firebase database storage and
your answer with practical examples. local storage solutions in terms of security,
 accessibility, and scalability. Which would
you recommend for this scenario, and why?
 3. Case Scenario: UI Design 
Challenges in Responsive and
Adaptive Applications  1. Choosing the Right Mobile
 You are developing a business app that must Development Framework
function across various devices, including  Answer:
smartphones, tablets, and foldable screens. For fast deployment on both Android and
The stakeholders are concerned about iOS, a cross-platform approach like Flutter
maintaining a consistent user experience is recommended. It allows a single codebase
across different screen sizes. for multiple platforms, reducing
 Question: development time and costs. Native apps
Explain the difference between adaptive offer the best performance but require
and responsive UI design. Which approach separate codebases, while hybrid apps are
is more suitable for this scenario, and why? easier to develop but may have performance
Provide specific design strategies that can limitations.
ensure a seamless user experience on all 
devices.
  2. State Management in a Flutter
Application
 4. Case Scenario: Optimizing  Answer:
Performance in a Flutter Application For better efficiency, the team should switch
 A logistics company uses a Flutter app to to global state management using
track deliveries, but the app experiences Provider or Riverpod. setState() is best
slow performance when handling large for small local changes but inefficient for
datasets. Users complain about lagging UI complex apps. Provider helps manage
updates and delays in displaying real-time shared data across multiple widgets,
tracking information. improving performance and scalability.
 Question: 
What best practices should be applied to
optimize Flutter app performance?  3. UI Design Challenges in
Discuss the use of efficient state Responsive and Adaptive
management, widget tree optimization, and Applications
proper use of setState(). Include potential  Answer:
pitfalls to avoid. A responsive design dynamically adjusts to
 different screen sizes using flexible layouts
(e.g., MediaQuery). An adaptive design
 5. Case Scenario: Security and Data uses predefined layouts for specific
Storage in a Flutter App devices. For this case, responsive UI is
 A healthcare startup is developing a Flutter- better because it provides flexibility across
based app to store patient records. The app various screen sizes.
needs to securely handle sensitive user data 
while ensuring accessibility even when
 4. Optimizing Performance in a
Flutter Application
 Answer:
To optimize performance, the team should:
✔ Use lazy loading with
ListView.builder() for large datasets.
✔ Minimize unnecessary setState() calls.
✔ Use const widgets to reduce rebuilds.
✔ Implement efficient state management
like Provider.
 Avoid deep widget nesting and excessive
real-time updates to improve app speed.

 5. Security and Data Storage in a


Flutter App
 Answer:
For secure patient records, Firebase
Firestore is better for cloud storage with
authentication, while local storage (e.g.,
SharedPreferences) is good for offline
access but less secure. To enhance security:
✔ Use Firebase Authentication for user
access.
✔ Encrypt sensitive local data.
✔ Enable offline sync for accessibility.
 For healthcare apps, Firebase is
recommended due to its scalability and
built-in security.

You might also like