Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
4 views

flutter_research

Uploaded by

tarobop271
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

flutter_research

Uploaded by

tarobop271
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Exploring Flutter for Mobile App Development

Raj Joshi
[Parul University]
Submitted in March 2024

Abstract: This abstract presents a smartphones and tablets, businesses and


brief summary of Flutter, an open- individuals alike are increasingly leveraging
mobile platforms to engage their audiences
source UI toolkit developed by Google
and deliver services efficiently. In this
for mobile app development. It context, mobile application development has
discusses Flutter's strategy of emerged as a crucial endeavor, fueling
utilizing a single codebase, its innovation and shaping user interactions.
architecture based on widgets, and its
seamless integration with popular Amidst the array of frameworks and
platforms available for mobile app
development environments such as
development, Flutter has garnered
Android Studio and Visual Studio considerable attention for its flexibility,
Code. Furthermore, it underscores performance, and user-friendly nature.
Flutter's advantages in terms of Flutter, an open-source UI software
speed, productivity, and code development kit developed by Google,
maintainability, while also empowers developers to create natively
compiled applications for mobile, web, and
acknowledging the challenges
desktop platforms from a unified codebase.
associated with platform-specific With its extensive collection of widgets,
variations. In conclusion, it robust tooling, and cross-platform support,
underscores the transformative Flutter presents an appealing solution for
impact of Flutter in facilitating the crafting high-quality, visually captivating
efficient creation of high-quality, applications that resonate with users across
diverse devices and operating systems.
cross-platform applications.
This introduction serves as an entry point
Key Words: Application, into the realm of mobile app development
Application store, Flutter, Dart, using Flutter. Throughout this exploration,
Android Studio, Android Operating we will delve into the intricacies of Flutter
System, Google, Material UI. development, uncover its distinctive features,
and explore how it transforms the way
developers craft immersive mobile
Chapter 1: Introduction
experiences. From grasping the basics of
Flutter to mastering advanced techniques,
In today's rapidly evolving technological this journey will equip you with the
landscape, mobile applications have become knowledge and skills necessary to embark on
essential tools that streamline daily tasks, your own mobile app development ventures
facilitate communication, and entertain users confidently.
worldwide. With the widespread adoption of
1
Whether you're an experienced developer
looking to broaden your toolkit or a
newcomer eager to venture into the dynamic
realm of mobile app creation, this guide will
CHAPTER 3: Flutter
act as your guide, steering you through the
nuances of Flutter development and
This chapter serves as an introduction to the
empowering you to breathe life into your app
Flutter cross-platform framework, aiming to
concepts with finesse and efficiency. Join us
provide guidance for a better understanding
as we embark on this journey into the realm
of coding practices.
of mobile app development using Flutter,
where innovation knows no bounds, and
Flutter, developed by Google, is a high-
creativity flourishes.
performance cross-platform framework built
on the Dart programming language. It offers
Limitations of the Study
easy-to-learn and highly customizable
widgets that facilitate the creation of visually
At present, this Flutter application is
appealing applications. In Flutter, everything
compatible only with Apple devices running
revolves around widgets, which are
iOS 10.0 and above. The application
responsible for constructing the user
necessitates an internet connection as well as
interface. Flutter's composability feature
a memory capacity of more than 50MB.
enables developers to create sleek interfaces
Additionally, users must possess an email
efficiently, a detailed exploration of Flutter's
address to register themselves as application
advantages will be presented later in this
users.
chapter.

CHAPTER 2: RESEARCH GOAL 3.1 Dart Coding Language

The primary objective of this thesis is to Dart, also developed by Google, is an object-
establish a comprehensive understanding of oriented programming language that supports
the application development process. This concepts such as classes and interfaces. The
research investigates the efficacy of an following code snippet illustrates a class in
application designed to address a Dart, which resembles the structure of
longstanding issue. Additionally, it offers a classes in many other object-oriented
documented application that can serve as a languages.
reference for individuals embarking on their
own Flutter application development ```dart
journey. The underlying hypothesis is that class Employee {
Fostlings will prove effective in mitigating String name;
the persistent issue of misinformation
regarding car parts online, thereby saving // Getter method
time typically wasted on navigating through String get emp_name {
numerous unreliable sources and facilitating return name;
more informed decision-making during }
significant purchases. The aim of this thesis
is to provide solutions to the aforementioned // Setter method
challenges and pave the way for a less void set emp_name(String name) {
stressful experience in the car-building this.name = name;
process. }
2
encompasses ephemeral state, which pertains
// Function definition to the current state visible to the user and is
void result() { managed by stateful widgets, and app state,
print(name); which persists throughout the application's
} runtime and stores user data and session
} details.

void main() { 3.4 Advantages of Using Flutter


// Object creation
Employee emp = new Employee(); Flutter offers several advantages, including
emp.name = "employee1"; high-performance applications, extensive
emp.result(); // Function call customization options, and strong support
} from Google. Features such as hot reload
facilitate rapid development by instantly
3.2 Widgets reflecting code changes. Additionally, Dart's
extensive library of software packages
As previously mentioned, Flutter revolves enables developers to implement creative
around widgets. The key widgets responsible ideas efficiently. Moreover, Flutter's single
for building the visual representation of a codebase minimizes development time,
Flutter application include state maintenance leading to faster time-to-market compared to
widgets, platform-specific widgets (for native solutions for Android and iOS
Android or Apple), layout widgets, and basic applications.
widgets.
CHAPTER 4: DEPLOYMENT
State maintenance widgets are crucial
components that manage the lifecycle of a This chapter is intended for individuals
Flutter application by tracking user interested in publishing their applications on
interactions and data changes. the Apple App Store. If this is not relevant to
your goals, feel free to skip this section. It
Platform-specific widgets cater to the serves as a general guide to successfully
requirements of specific platforms, allowing navigate the process of uploading an
developers to tailor the application application to the app store, providing high-
accordingly. level insights rather than a step-by-step
tutorial. The primary aim is to help users
Layout widgets can contain either a single avoid potential obstacles encountered during
child or multiple children. Single child the application publishing process.
widgets, such as Container, Center, and
Align, are used for arranging individual 4.1Deployment
components, while multiple child widgets
like Row, Column, ListView, GridView, and To initiate the application upload process, it
Expanded are employed for organizing is imperative to possess an Apple Developer
multiple components. account. This necessitates a payment of $100
annually. Once the account is set up, users
3.3 State Management can refer to
https://docs.flutter.dev/deployment/ios for
State management plays a pivotal role in comprehensive instructions on preparing the
managing the lifecycle of an application. It application using Xcode. If encountering any
3
issues with Xcode, utilizing Flutter doctor is WIDGET ARCHITECTURE
recommended. This tool provides an
overview of any missing components or This chapter provides an elucidation on how
malfunctioning features. In some cases, Flutter's widgets interact with each other.
resolving issues may involve deleting and The figures presented below illustrate widget
reinstalling CocoaPods. trees, depicting how each page invokes other
widgets. Although the trees exclusively
4.2 Feedback Management feature pages, in the actual application, these
pages are interconnected, pointing to one
It is essential to remain attentive to feedback another. This section serves as a brief guide
from users who leave reviews on the to understanding widget construction in
application. According to William Martin et Flutter, highlighting the distinction between
al.'s article "A Survey of App Store Analysis single and multiple widgets. Additionally, it
for Software Engineering," they found that underscores that all these widgets have the
free apps are more likely to maintain their capability to modify or update the
position in the top charts, with frequent application's state.
feature updates being crucial for their
sustained success, particularly in smaller 5.1Login
categories. This underscores the importance The LoginPage Widget initiates the Scaffold,
of adhering to this principle, as Fostlings which contains two child calls. It invokes
aims to remain relevant over time. AppBar and SingleChildScrollView.
Consistently monitoring feedback and SingleChildScrollView, in turn, invokes
regularly updating the application are key Column, which further calls Padding,
strategies for longevity. FlatButton, and Container. The widget tree
for the login page is depicted in Figure 1.
Quick Note: Before finalizing the publication
process, ensure that all selected devices and
versions are properly configured in Xcode.
Additionally, if the "Debug" red banner
persists in the application, it cannot be
published. To address this, simply
incorporate the following code snippet into
the main.dart page.

4.3Permissions

For those incorporating photo or camera


functionality into their applications,
managing permissions is crucial. Various
solutions exist to address issues related to
accessing photos or cameras within the
application. However, it is essential to ensure
that appropriate permissions are requested
from the user, granting the application access
to view photos or utilize the camera.

CHAPTER 5:
4
Figure 2: Sign Up Widget Build

Discussion

For Discussion Page it calls Scaffold,


Scaffold has two children AppBar and
Figure 1: Login Widget Build Listview.Builder. AppBar calls IconButton
which contains an action that calls a search
Sign Up method. ListView.Builder calls ListTile,
The SignUp widget invokes Scaffold, which ListTile calls container, Container calls row
comprises two children: AppBar and and row calls Container and Column. Figure
Column. Column then invokes Padding and 3 shown below contains the widget tree for
Container. The widget tree for the sign-up the Discussion Page.
page is illustrated in Figure 2 below.

5
Figure 3: Discussion Widget Build

6
Build Page

The Build page calls Scaffold, Scaffold


contains two children AppBar and
ListView.Builder. ListView.Builder calls
ListTile and ListTile calls Image.Network.
The widget tree for Build Page is shown in
Figure 4.

Figure 4: Build Widget Build

Specific Builds page

The specific Builds Page calls Scaffold,


scaffold contains two children AppBar and
SingelChildScrollView.
SingleChildScrollView calls Column and
Column calls Image.network and Padding.
The widget tree for Specific build page is
shown below in Figure 5

7
Figure 5: Specific Build Widget Build

Specific Discussion Page

For Discussion Page it calls Scaffold,


Scaffold has two children AppBar and
Column. Column calls Expanded calls
Container, Container calls Row, Row Calls
Expanded, Expanded calls Container and
container calls BoxDecoration and RichText.
Figure 6below contains the widget tree for
the specific Discussion Page.

8
cause issues for some users. Therefore, it is
imperative to comprehend how to effectively
manage these problems, as users expect
solutions rather than excuses to ensure a
seamless experience on the application.

Flutter has proven to be highly advantageous


in this regard, as it eliminates the need to
develop a separate program for deployment
on different platforms. The simplicity of Dart
has enabled the creation of the envisioned
application from the inception of this thesis.
However, obtaining conclusive results for
this thesis within a short timeframe is not
feasible, as the publication requires a fully
functional application first.

REFRENCES

1. "Flutter Documentation": The official


documentation provided by Google offers
comprehensive guides, tutorials, and API
references for both Flutter and Dart. It's an
invaluable resource for developers of all
levels. [Flutter
Documentation](https://flutter.dev/docs)

2. **"Flutter Succinctly" by Ed Freitas**:


This ebook provides a concise yet thorough
overview of Flutter, covering topics ranging
from installation and setup to building
complex UIs and integrating with backend
services. [Flutter
Figure 6: Specific Discussion Widget Build
Succinctly](https://www.syncfusion.com/ebo
oks/flutter-succinctly)
3. "Dart Programming Language
Specification": Understanding the Dart
CHAPTER 6: FUTURE WORKS language is essential for Flutter development.
AND CONCLUSION This specification outlines the syntax,
semantics, and features of the Dart
This study has provided a comprehensive programming language in detail. [Dart
understanding of the software development Language
life cycle. It is clear that when a program Specification](https://dart.dev/guides/langua
enters production, it necessitates vigilant ge/spec)
monitoring due to the increased traffic on the
application. This surge in traffic leads to 4. "Flutter in Action" by Eric Windmill: This
numerous service calls, which can potentially book offers a hands-on approach to learning
9
Flutter, guiding readers through the process list=PL4cUxeGkcC9jLYyp2Aoh6hcWuxFD
of building real-world mobile applications X6PBJ)
using Flutter and Dart. [Flutter in Action]
(https://www.manning.com/books/flutter-in-
action)

5. "Beginning App Development with


Flutter" by Rap Payne, Seth Ladd, and Eric
Windmill: Suitable for beginners, this book
provides a step-by-step guide to building
mobile applications with Flutter. It covers
topics such as UI design, state management,
navigation, and more. [Beginning App
Development with
Flutter](https://www.apress.com/gp/book/97
81484251808)

6. "Flutter & Dart - The Complete Guide


[2021 Edition]" by Maximilian
Schwarzmüller: This Udemy course offers a
comprehensive introduction to Flutter and
Dart, covering everything from basic
concepts to advanced techniques. It includes
hands-on projects to reinforce learning.
[Flutter & Dart - The Complete Guide]
(https://www.udemy.com/course/learn-
flutter-dart-to-build-ios-android-apps/)

7. "Flutter Explained: How to Build iOS and


Android Apps with Google's Flutter and
Dart" by Andrea Bizzotto: This book
provides a detailed explanation of Flutter's
architecture, widgets, and best practices for
building cross-platform mobile applications.
[Flutter
Explained](https://www.amazon.com/Flutter-
Explained-Android-Apps-Googles/dp/
1838986303)

8. "Flutter Tutorials" by The Net Ninja: This


YouTube playlist offers a series of video
tutorials covering various aspects of Flutter
development, including UI design, state
management, Firebase integration, and more.
[Flutter Tutorials
Playlist](https://www.youtube.com/playlist?

10

You might also like