SlideShare a Scribd company logo
1 of 23
Download to read offline
Intro to Flutter
Anish Natekar
anish.natekar.20031@iitgoa.ac.in
GDSC IIT Goa chapter
Timeline
2012 2014 2016 2018 2020
February to
March
Intro to u er
and da
App project
Self Practice
Assignment 2
Flu er app with
rebase
Self Practice
Assignment 4
Self Practice
Assignment 1
Building an app
with u er
Intro to rebase
Self Practice
Assignment 3
5 sessions
What Is Flutter … ?
Flutter
About
Flutter is an app development framework that uses the language
Dart developed by Google engineers to support cross-platform
development.
Flutter has a clean look due to the material design library added in
by default and its simple widgets. A widget is a basic UI or structural
component e.g. text, text style, button, row, column, etc.
Why Flutter ??
Benefits
The major reason why Flutter appeals to
developers is the fact that from a single
code base one can create apps for
multiple platforms example android, ios,
web, and desktop too.
So is it worth learning a
new programming
language called Dart?
Dart
About
The Dart programming language is really
simple to learn and has a lot in common
with java, javascript, and python. Google
also provides the best documentation
which contains tutorials, articles, and
more.
• Basic intro to Flutter and Dart ✔
• Learning Dart syntax (https://www.dartpad.dev/?)
• Setting up Android studio for flutter
• Practice Assignment 1 for this First week (ask doubts on the group)
• Learning resources for First week
Session details
For today
// Printing Hello World
void main() {
print(“Hello World”);
}
// Printing variables and expressions
void main() {
var age = 19, deci = 10.5, name = “Anish”;
print(age);
print(deci);
print(name);
print(true);
print(“My name is $name, I am $age years old”);
}
// Printing expressions and loops
void main() {
for(int i = 0; i < 5; i++) {
print(“count = ${i+1}”);
}
}
Console
Hello World
Console
19
10.5
Anish
true
My name is Anish, I am 19 years old
Console
count = 1
count = 2
count = 3
count = 4
count = 5
// using static data types
void main() {
int age = 19;
float deci = 10.5;
String name = ‘Anish’;
print(age);
print(deci);
print(name);
}
// Printing variables and expressions
void main() {
dynamic n = 10;
print(n);
n = ‘Anish’;
print(n);
n = 10.56;
print(n);
}
// dynamic is not preferred as we get more
//benefits from static variables
Console
19
10.5
Anish
Console
10
Anish
10.56
void main() {
int a = 10, b = 20;
print(addition(a, b));
print(sum(a, b));
}
// normal function
int addition(int a, int b) {
return a + b;
}
// single statement function notation
int sum(int a, int b) => a + b;
void main() {
List l = [7, 'up', 'dream', 11];
print(l);
List<int> k = [1, 2, 3]; // int only list
print(k);
l.add('a');
k.add(4); // can only add integers
print("$l, $k");
}
Console
30
30
Console
[7, up, dream, 11]
[1, 2, 3]
[7, up, dream, 11, a], [1, 2, 3,4]
// loops
for (final object in flybyObjects) {
print(object);
}
for (int month = 1; month <= 12;
month++) {
print(month);
}
while (year < 2016) {
year += 1;
}
// if-else & ternary
if (year >= 2001) {
print('21st century');
} else if (year >= 1901) {
print('20th century');
}
// ternary statement
(year >= 2001) ? print("21st century") :
print("20th century!");
Console
Anish
Zoro
user logged in
user logged in
void main() {
User userone = User('Anish', 19);
print(userone.username);
User userone = User('Zoro', 21);
print(userone.username);
userone.login();
usertwo.login();
}
class User {
String username = ‘’;
int age = 0;
User (sum(a, b)) {
this.username = username;
this.age = age;
}
void login() {
print('user logged in');
}
}
// null safety
// In null-safe Dart, none of these can
//ever be null.
var i = 42; // Inferred to be an int.
String name = getFileName();
final b = Foo();
int? aNullableInt = null;
_jellyCounts = List<int?>(jellyMax + 1);
// handling execptions
try {
for (final object in flybyObjects) {
var description = await
File('$object.txt').readAsString();
print(description);
}
} on IOException catch (e) {
print('Could not describe object: $e');
} finally {
flybyObjects.clear();
}
UI & Widgets
About
Flutter uses widgets to build the UI of the
application and your whole application is a
tree of widgets. Widgets are simple UI
elements like a TextBox or AppBar. The
widgets have properties which enable us to
customize them further. Widgets can contain
Widgets inside it using the child property.
import 'package:flutter/material.dart';
void main() => runApp(MaterialApp(
home: Text("Hello World"),
),);
import 'package:flutter/material.dart';
void main() => runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('My First Flutter App'),
),
),),);
UI
UI
import 'package:flutter/material.dart';
void main() => runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('My First Flutter App'),
),
body: Center(
child: Text('Hello World!'),
),
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Text('click'),
),
),
),);
UI
import 'package:flutter/material.dart';
void main() => runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('My First Flutter App'),
centerTitle: true,
backgroundColor: Colors.red[600],
),
body: Center(
child: Text('Hello World!',
style: TextStyle(fontSize: 20.0,
fontWeight: FontWeight.bold,
letterSpacing: 2.0,
color: Colors.grey[600],),),),
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Text('click'),
backgroundColor: Colors.red[600],
),
),
),);
Setting up Flutter on
Android Studio Installation
Android studio is the Official IDE for
making Android apps. It even has
emulators for virtually testing your
application on virtual smart phone.
When used with the Flutter SDK we
can use it to build and run Flutter
apps as well. The Flutter SDK has to
be downloaded separately from
their website along with git which is
a popular version control system.
(https://docs.flutter.dev/get-started/
install)
Android Studio?
About
Installation links
Resources
● Flutter Errors Solved
● Git
● Android Studio
● Flutter Installation guide official
● Android Virtual Device setup
Thank you everyone
Ask Doubts if any

More Related Content

What's hot

Flutter talkshow
Flutter talkshowFlutter talkshow
Flutter talkshowNhan Cao
 
Flutter dart assignment help
Flutter dart assignment helpFlutter dart assignment help
Flutter dart assignment helpcalltutors
 
Intro to Flutter SDK
Intro to Flutter SDKIntro to Flutter SDK
Intro to Flutter SDKdigitaljoni
 
Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)Priyanka Tyagi
 
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...DevClub_lv
 
A flight with Flutter
A flight with FlutterA flight with Flutter
A flight with FlutterAhmed Tarek
 
Flutter Development Services
Flutter Development ServicesFlutter Development Services
Flutter Development ServicesThe NineHertz
 
Mobile DevOps pipeline using Google Flutter
Mobile DevOps pipeline using Google FlutterMobile DevOps pipeline using Google Flutter
Mobile DevOps pipeline using Google FlutterAhmed Abu Eldahab
 
Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Anuchit Chalothorn
 
[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutter[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutterAhmed Abu Eldahab
 
Developing Cross platform apps in flutter (Android, iOS, Web)
Developing Cross platform apps in flutter (Android, iOS, Web)Developing Cross platform apps in flutter (Android, iOS, Web)
Developing Cross platform apps in flutter (Android, iOS, Web)Priyanka Tyagi
 

What's hot (20)

Flutter bus 2018
Flutter bus 2018Flutter bus 2018
Flutter bus 2018
 
Flutter
FlutterFlutter
Flutter
 
Flutter talkshow
Flutter talkshowFlutter talkshow
Flutter talkshow
 
Flutter dart assignment help
Flutter dart assignment helpFlutter dart assignment help
Flutter dart assignment help
 
Flutter vs React Native
Flutter vs React NativeFlutter vs React Native
Flutter vs React Native
 
Flutter
FlutterFlutter
Flutter
 
Intro to Flutter SDK
Intro to Flutter SDKIntro to Flutter SDK
Intro to Flutter SDK
 
Flutter
FlutterFlutter
Flutter
 
Flutter
Flutter Flutter
Flutter
 
Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)Developing cross platform apps in Flutter (Android, iOS, and Web)
Developing cross platform apps in Flutter (Android, iOS, and Web)
 
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...
 
A flight with Flutter
A flight with FlutterA flight with Flutter
A flight with Flutter
 
Android Study Jams - Info Session
Android Study Jams - Info SessionAndroid Study Jams - Info Session
Android Study Jams - Info Session
 
Flutter Development Services
Flutter Development ServicesFlutter Development Services
Flutter Development Services
 
Mobile DevOps pipeline using Google Flutter
Mobile DevOps pipeline using Google FlutterMobile DevOps pipeline using Google Flutter
Mobile DevOps pipeline using Google Flutter
 
Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020
 
[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutter[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutter
 
Developing Cross platform apps in flutter (Android, iOS, Web)
Developing Cross platform apps in flutter (Android, iOS, Web)Developing Cross platform apps in flutter (Android, iOS, Web)
Developing Cross platform apps in flutter (Android, iOS, Web)
 
Flutter app
Flutter appFlutter app
Flutter app
 
Introduction to flutter
Introduction to flutterIntroduction to flutter
Introduction to flutter
 

Similar to Flutter Festival IIT Goa: Session 1

Presentaion on Dart and Flutter Development.pptx
Presentaion on Dart and Flutter Development.pptxPresentaion on Dart and Flutter Development.pptx
Presentaion on Dart and Flutter Development.pptxnitesh213757
 
Flutter tutorial for Beginner Step by Step
Flutter tutorial for Beginner Step by StepFlutter tutorial for Beginner Step by Step
Flutter tutorial for Beginner Step by StepChandramouli Biyyala
 
[ABC2018Spring]Flutterアプリ開発入門
[ABC2018Spring]Flutterアプリ開発入門[ABC2018Spring]Flutterアプリ開発入門
[ABC2018Spring]Flutterアプリ開発入門Kenichi Kambara
 
Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010Satish Verma
 
#OOP_D_ITS - 2nd - C++ Getting Started
#OOP_D_ITS - 2nd - C++ Getting Started#OOP_D_ITS - 2nd - C++ Getting Started
#OOP_D_ITS - 2nd - C++ Getting StartedHadziq Fabroyir
 
Introduction to Python Programming | InsideAIML
Introduction to Python Programming | InsideAIMLIntroduction to Python Programming | InsideAIML
Introduction to Python Programming | InsideAIMLVijaySharma802
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python ProgrammingVijaySharma802
 
Cbse question-paper-computer-science-2009
Cbse question-paper-computer-science-2009Cbse question-paper-computer-science-2009
Cbse question-paper-computer-science-2009Deepak Singh
 
Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)Fafadia Tech
 
Flutter vs Java Graphical User Interface Frameworks.pptx
Flutter vs Java Graphical User Interface Frameworks.pptx Flutter vs Java Graphical User Interface Frameworks.pptx
Flutter vs Java Graphical User Interface Frameworks.pptx Toma Velev
 
Membuat Aplikasi Multiplatform Menggunakan Flutter - Widyarso Joko Purnomo
Membuat Aplikasi Multiplatform Menggunakan Flutter - Widyarso Joko PurnomoMembuat Aplikasi Multiplatform Menggunakan Flutter - Widyarso Joko Purnomo
Membuat Aplikasi Multiplatform Menggunakan Flutter - Widyarso Joko PurnomoDicodingEvent
 

Similar to Flutter Festival IIT Goa: Session 1 (20)

Python ppt
Python pptPython ppt
Python ppt
 
Presentaion on Dart and Flutter Development.pptx
Presentaion on Dart and Flutter Development.pptxPresentaion on Dart and Flutter Development.pptx
Presentaion on Dart and Flutter Development.pptx
 
Flutter tutorial for Beginner Step by Step
Flutter tutorial for Beginner Step by StepFlutter tutorial for Beginner Step by Step
Flutter tutorial for Beginner Step by Step
 
[ABC2018Spring]Flutterアプリ開発入門
[ABC2018Spring]Flutterアプリ開発入門[ABC2018Spring]Flutterアプリ開発入門
[ABC2018Spring]Flutterアプリ開発入門
 
Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010
 
Revision Lecture
Revision LectureRevision Lecture
Revision Lecture
 
#OOP_D_ITS - 2nd - C++ Getting Started
#OOP_D_ITS - 2nd - C++ Getting Started#OOP_D_ITS - 2nd - C++ Getting Started
#OOP_D_ITS - 2nd - C++ Getting Started
 
Introduction to Python Programming | InsideAIML
Introduction to Python Programming | InsideAIMLIntroduction to Python Programming | InsideAIML
Introduction to Python Programming | InsideAIML
 
Spsl iv unit final
Spsl iv unit  finalSpsl iv unit  final
Spsl iv unit final
 
Spsl iv unit final
Spsl iv unit  finalSpsl iv unit  final
Spsl iv unit final
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python Programming
 
Cbse question-paper-computer-science-2009
Cbse question-paper-computer-science-2009Cbse question-paper-computer-science-2009
Cbse question-paper-computer-science-2009
 
What are monads?
What are monads?What are monads?
What are monads?
 
Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)
 
C++
C++C++
C++
 
Introduction to F#
Introduction to F#Introduction to F#
Introduction to F#
 
iOS training (basic)
iOS training (basic)iOS training (basic)
iOS training (basic)
 
D programming language
D programming languageD programming language
D programming language
 
Flutter vs Java Graphical User Interface Frameworks.pptx
Flutter vs Java Graphical User Interface Frameworks.pptx Flutter vs Java Graphical User Interface Frameworks.pptx
Flutter vs Java Graphical User Interface Frameworks.pptx
 
Membuat Aplikasi Multiplatform Menggunakan Flutter - Widyarso Joko Purnomo
Membuat Aplikasi Multiplatform Menggunakan Flutter - Widyarso Joko PurnomoMembuat Aplikasi Multiplatform Menggunakan Flutter - Widyarso Joko Purnomo
Membuat Aplikasi Multiplatform Menggunakan Flutter - Widyarso Joko Purnomo
 

More from SEJALGUPTA44

Flutter Festival IIT Goa: Session IV
Flutter Festival IIT Goa: Session IVFlutter Festival IIT Goa: Session IV
Flutter Festival IIT Goa: Session IVSEJALGUPTA44
 
Flutter Festival IIT Goa: Session III
Flutter Festival IIT Goa: Session IIIFlutter Festival IIT Goa: Session III
Flutter Festival IIT Goa: Session IIISEJALGUPTA44
 
Flutter Festivals IIT Goa Session 2
Flutter Festivals IIT Goa Session 2Flutter Festivals IIT Goa Session 2
Flutter Festivals IIT Goa Session 2SEJALGUPTA44
 
GDSC IIT Goa Info Session Slides
GDSC IIT Goa Info Session SlidesGDSC IIT Goa Info Session Slides
GDSC IIT Goa Info Session SlidesSEJALGUPTA44
 
Hacktober Fest Info Session
Hacktober Fest Info SessionHacktober Fest Info Session
Hacktober Fest Info SessionSEJALGUPTA44
 
GDSC IIT Goa Info Session
GDSC IIT Goa Info SessionGDSC IIT Goa Info Session
GDSC IIT Goa Info SessionSEJALGUPTA44
 
Cloud Campaign Intro Session
Cloud Campaign Intro SessionCloud Campaign Intro Session
Cloud Campaign Intro SessionSEJALGUPTA44
 

More from SEJALGUPTA44 (8)

Flutter Festival IIT Goa: Session IV
Flutter Festival IIT Goa: Session IVFlutter Festival IIT Goa: Session IV
Flutter Festival IIT Goa: Session IV
 
Flutter Festival IIT Goa: Session III
Flutter Festival IIT Goa: Session IIIFlutter Festival IIT Goa: Session III
Flutter Festival IIT Goa: Session III
 
Flutter Festivals IIT Goa Session 2
Flutter Festivals IIT Goa Session 2Flutter Festivals IIT Goa Session 2
Flutter Festivals IIT Goa Session 2
 
GDSC IIT Goa Info Session Slides
GDSC IIT Goa Info Session SlidesGDSC IIT Goa Info Session Slides
GDSC IIT Goa Info Session Slides
 
ASJ intro session
ASJ intro sessionASJ intro session
ASJ intro session
 
Hacktober Fest Info Session
Hacktober Fest Info SessionHacktober Fest Info Session
Hacktober Fest Info Session
 
GDSC IIT Goa Info Session
GDSC IIT Goa Info SessionGDSC IIT Goa Info Session
GDSC IIT Goa Info Session
 
Cloud Campaign Intro Session
Cloud Campaign Intro SessionCloud Campaign Intro Session
Cloud Campaign Intro Session
 

Recently uploaded

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 

Recently uploaded (20)

Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 

Flutter Festival IIT Goa: Session 1

  • 1. Intro to Flutter Anish Natekar anish.natekar.20031@iitgoa.ac.in GDSC IIT Goa chapter
  • 2. Timeline 2012 2014 2016 2018 2020 February to March Intro to u er and da App project Self Practice Assignment 2 Flu er app with rebase Self Practice Assignment 4 Self Practice Assignment 1 Building an app with u er Intro to rebase Self Practice Assignment 3 5 sessions
  • 4. Flutter About Flutter is an app development framework that uses the language Dart developed by Google engineers to support cross-platform development. Flutter has a clean look due to the material design library added in by default and its simple widgets. A widget is a basic UI or structural component e.g. text, text style, button, row, column, etc.
  • 5. Why Flutter ?? Benefits The major reason why Flutter appeals to developers is the fact that from a single code base one can create apps for multiple platforms example android, ios, web, and desktop too.
  • 6. So is it worth learning a new programming language called Dart?
  • 7. Dart About The Dart programming language is really simple to learn and has a lot in common with java, javascript, and python. Google also provides the best documentation which contains tutorials, articles, and more.
  • 8. • Basic intro to Flutter and Dart ✔ • Learning Dart syntax (https://www.dartpad.dev/?) • Setting up Android studio for flutter • Practice Assignment 1 for this First week (ask doubts on the group) • Learning resources for First week Session details For today
  • 9. // Printing Hello World void main() { print(“Hello World”); } // Printing variables and expressions void main() { var age = 19, deci = 10.5, name = “Anish”; print(age); print(deci); print(name); print(true); print(“My name is $name, I am $age years old”); } // Printing expressions and loops void main() { for(int i = 0; i < 5; i++) { print(“count = ${i+1}”); } } Console Hello World Console 19 10.5 Anish true My name is Anish, I am 19 years old Console count = 1 count = 2 count = 3 count = 4 count = 5
  • 10. // using static data types void main() { int age = 19; float deci = 10.5; String name = ‘Anish’; print(age); print(deci); print(name); } // Printing variables and expressions void main() { dynamic n = 10; print(n); n = ‘Anish’; print(n); n = 10.56; print(n); } // dynamic is not preferred as we get more //benefits from static variables Console 19 10.5 Anish Console 10 Anish 10.56
  • 11. void main() { int a = 10, b = 20; print(addition(a, b)); print(sum(a, b)); } // normal function int addition(int a, int b) { return a + b; } // single statement function notation int sum(int a, int b) => a + b; void main() { List l = [7, 'up', 'dream', 11]; print(l); List<int> k = [1, 2, 3]; // int only list print(k); l.add('a'); k.add(4); // can only add integers print("$l, $k"); } Console 30 30 Console [7, up, dream, 11] [1, 2, 3] [7, up, dream, 11, a], [1, 2, 3,4]
  • 12. // loops for (final object in flybyObjects) { print(object); } for (int month = 1; month <= 12; month++) { print(month); } while (year < 2016) { year += 1; } // if-else & ternary if (year >= 2001) { print('21st century'); } else if (year >= 1901) { print('20th century'); } // ternary statement (year >= 2001) ? print("21st century") : print("20th century!");
  • 13. Console Anish Zoro user logged in user logged in void main() { User userone = User('Anish', 19); print(userone.username); User userone = User('Zoro', 21); print(userone.username); userone.login(); usertwo.login(); } class User { String username = ‘’; int age = 0; User (sum(a, b)) { this.username = username; this.age = age; } void login() { print('user logged in'); } }
  • 14. // null safety // In null-safe Dart, none of these can //ever be null. var i = 42; // Inferred to be an int. String name = getFileName(); final b = Foo(); int? aNullableInt = null; _jellyCounts = List<int?>(jellyMax + 1); // handling execptions try { for (final object in flybyObjects) { var description = await File('$object.txt').readAsString(); print(description); } } on IOException catch (e) { print('Could not describe object: $e'); } finally { flybyObjects.clear(); }
  • 15. UI & Widgets About Flutter uses widgets to build the UI of the application and your whole application is a tree of widgets. Widgets are simple UI elements like a TextBox or AppBar. The widgets have properties which enable us to customize them further. Widgets can contain Widgets inside it using the child property.
  • 16.
  • 17. import 'package:flutter/material.dart'; void main() => runApp(MaterialApp( home: Text("Hello World"), ),); import 'package:flutter/material.dart'; void main() => runApp(MaterialApp( home: Scaffold( appBar: AppBar( title: Text('My First Flutter App'), ), ),),); UI
  • 18. UI import 'package:flutter/material.dart'; void main() => runApp(MaterialApp( home: Scaffold( appBar: AppBar( title: Text('My First Flutter App'), ), body: Center( child: Text('Hello World!'), ), floatingActionButton: FloatingActionButton( onPressed: () {}, child: Text('click'), ), ), ),);
  • 19. UI import 'package:flutter/material.dart'; void main() => runApp(MaterialApp( home: Scaffold( appBar: AppBar( title: Text('My First Flutter App'), centerTitle: true, backgroundColor: Colors.red[600], ), body: Center( child: Text('Hello World!', style: TextStyle(fontSize: 20.0, fontWeight: FontWeight.bold, letterSpacing: 2.0, color: Colors.grey[600],),),), floatingActionButton: FloatingActionButton( onPressed: () {}, child: Text('click'), backgroundColor: Colors.red[600], ), ), ),);
  • 20. Setting up Flutter on Android Studio Installation
  • 21. Android studio is the Official IDE for making Android apps. It even has emulators for virtually testing your application on virtual smart phone. When used with the Flutter SDK we can use it to build and run Flutter apps as well. The Flutter SDK has to be downloaded separately from their website along with git which is a popular version control system. (https://docs.flutter.dev/get-started/ install) Android Studio? About
  • 22. Installation links Resources ● Flutter Errors Solved ● Git ● Android Studio ● Flutter Installation guide official ● Android Virtual Device setup
  • 23. Thank you everyone Ask Doubts if any