Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 20

SUMMER TRAINING

ON
Flutter Development
SUBMITTED TO:- SUBMITTED BY:-
DR. IMRAN KHAN SNEHIL GUPTA
DR AMIT GUPTA MCA (3RD SEM)
PARUL PANDEY 210231071
POOJA AGNIHOTRI
Certificate
Acknowledgement

I offer sincere thanks and humble regards to Piety Innovation Labs, based in Singapore, for imparting me very
valuable professional training in MCA.
I pay my gratitude and sincere thanks to Mr. Mukul Nimker, my subject matter expert for giving me the cream
of his knowledge, I am grateful to him as he has been a constant source of advice, motivation and inspiration.
I am also thankful to him for giving his suggestions and encouragement throughout the project work.
I take the opportunity to express gratitude and thanks to our computer labs staff for providing me opportunity to
utilize the available resources for the completion of the project.
Finally, my thanks and appreciation go to all my college’s Professors, who irrespective of the situation, always
encouraged and supported me to prepare this project report.
What is Flutter !

Flutter is a free and open-source UI framework for creating native mobile applications from
Google. Released in 2017, Flutter allows developers to build mobile applications with a single
codebase and programming language. This capability makes building both iOS and Android apps
simpler and faster. 
 
The Flutter framework consists of both a software development kit (SDK) and their widget-based
UI library. This library consists of various reusable UI elements, such as sliders, buttons, and text
inputs. 
Developers building mobile applications with the Flutter framework will do so using a
programming language called Dart. With a syntax like JavaScript, Dart is a typed object
programming language that focuses on front-end development.
Flutter Architecture

Framework. This is the more “visible” part of Flutter’s technology. As already mentioned, this layer
of Flutter’s architecture in based on Dart. The rich set of libraries in this layer can be divided into
multiple layers, such as the basic foundational classes, the widget layer, and the rendering layer.
Engine. This layer is written in C/C++. The engine provides a low-level implementation of the
Flutter framework, as well as other core APIs, e.g. graphics, accessibility support, text layout, and
plugin architecture.
Embedder. The embedded is a platform-specific layer that allows the Flutter app to run on any OS. 
Architecture
Flutter App Development Pros

 Development goes faster when the same code is used for both iOS and Android
applications. Flutter’s singular codebase speeds up time-to-market while cutting mobile
app development costs significantly. 
 Flutter app performance is equivalent to that of native real-time applications. Unlike other
frameworks, Flutter apps do not need a bridge to interact with native components. Since
these bridges typically cause performance issues, this gives Flutter a decided advantage.
 Flutter’s “hot reload” feature allows developers to change the code on emulators,
simulators, or real devices, and see results in real-time. The changed code is then reloaded
immediately while the app is running. No restart required. Hot reloads make building UIs,
adding features, and bug fixing simpler than ever.  
What is Dart

 Dart is a high-level, interpreted programming language that lets you build mobile, server,
desktop and web applications. Some people even consider it to be an alternative solution
to Javascript. Though the first version of Dart was available by mid-autumn, its popularity
grew when Flutter (ideal choice for many for cross-platform development) was released
in 2017.   
 A major difference that Dart has from other programming languages is that it comes with
its own package manager known as Pub; developers can use these packages to build Dart
and Flutter apps.
Why Firebase ?

The Firebase is a Backend-as-a-Service (BaaS) that offers the developers a wide spectrum of tools and services
to develop high-quality apps at a much faster pace.

Now, if we were to define the BaaS, it is a cloud computing service model using which the web app and mobile
app developers can connect their applications with backend cloud storage and APIs rendered by the backend
applications.

In fact, it allows the developers to develop feature for apps on different platforms like Remote Configs,
Notifications and Real-time Databases.

In addition, it also helps you to develop storage for the app including authentication functionality.

Moreover, Firebase can also be used effectively for app marketing, enhancing the user experience and user
engagement
The chatting App
Screens
Installing Plugins

 Following these instructions to add firebase_auth, google_sign_in, cloud_firestore, firebase_storage to your project.


These plugins help login app by Google account, get user info, real-time database for chatting and upload image.
 firebase_auth
 google_sign_in
 cloud_firestore
 firebase_storage
And the others will help us show toast, cache data local, pick images from gallery, cache network image and parse date time.
 fluttertoast
 shared_preferences
 image_picker
 cached_network_image
 intl
Sign Up
Login Screen
User List
Demonstration

For this I made two accounts:-

Snehil (with the mobile app in emulator)

Snehil2 (with the web version)


Snehil account
Messages sent from Snehil account !
Snehil2 account
Chats (Side by side)
Bibliography

pub.dev

https://api.flutter.dev/index.html

https://docs.flutter.dev/development/ui/widgets

Medium.com

You tube tutorials


Conclusion

The project "Chatting App(with flutter)" which was assigned to me to help


understand various real life problems which you have to go through to develop any
project.

During this period i Leamed basics of Dart and State Management and also applied
it to my projects. Alot of new learnings which I got through this includes Learning
new technologies within a limited time.

Organizing a large code base, Making responsive app so that it works for nearly all
mobile phones as well as Desktop & Web.

New task was assigned before completion of previous one, Worked on real life
projects in the organization

You might also like