Learn to make beautiful, native apps for Android & iOS

Overview
name title subtitle description speaker
flutter
Flutter
Learn to make beautiful, native apps for Android & iOS
Flutter is a cross-platform, mobile development framework created by Google. With user-centric design in mind, Flutter allows developers to create beautiful native apps on iOS and Android from a single codebase.
Akshath Jain

Flutter Workshop

Flutter is a cross-platform, mobile development framework created by Google. With user-centric design in mind, Flutter allows developers to create beautiful native apps on iOS and Android from a single codebase.

Attending

No experience with Flutter, Dart, or mobile programming is necessary. And while not required, some experience with programming is recommended. Please follow the instructions below to install the necessary software prior to the workshop.

Getting Started

Flutter Installation

Follow the instructions found on the flutter website to get started. When asked to setup your environment, choose VS Code (as opposed to Android Studio).

Once the installation is complete, validate your setup by running flutter doctor in your terminal (Command Prompt / PowerShell on Windows) to ensure that everything is up and running.

Your output should look something like this:

[✓] Flutter (Channel beta, v1.0.0, on Mac OS X 10.14.2 18C54, locale en-US)
[✓] Android toolchain - develop for Android devices (Andr
[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
[✓] Android Studio (version 3.1)
[✓] VS Code (version 1.30.2)
[✓] Connected device (1 available)

Installing an Emulator

Flutter allows you to install your applications directly onto physical hardware using flutter run. However, if you don't have a device that you can use, you can install an emulator relatively easily.

Android

  • Install and run Android Studio
  • Go to Tools -> AVD Manager -> Create Virtual Device and configure your emulator

iOS (macOS only)

  • Install and run Xcode
  • Go to Preferences -> Components and choose the emulator you would like to install

Running the Emulator

To list all availabe emulators, run flutter emulators. Your output should look something like this:

2 available emulators:

Pixel_2_XL_API_28   • pixel_2_xl    • Google • Pixel 2 XL API 28
apple_ios_simulator • iOS Simulator • Apple

To run an emulator, run 'flutter emulators --launch <emulator id>'.
To create a new emulator, run 'flutter emulators --create [--name xyz]'.

You can find more information on managing emulators at the links below:
  https://developer.android.com/studio/run/managing-avds
  https://developer.android.com/studio/command-line/avdmanager

To launch an emulator, run flutter emulators --launch <emulator_id>.

Basic Flutter Terminal Commands

  • flutter doctor validates Flutter setup
  • flutter create <app_name> creates a new Flutter project
  • flutter emulators lists all available Flutter emulators
  • flutter emulators --launch <emulator_id> launches a Flutter emulator
  • flutter run runs a Flutter application in Debug Mode
    • R while running app performs a full app restart
    • r while running app performs a hot reload
  • flutter run --release runs a Flutter application in Release Mode (physical devices only)
  • flutter clean deletes all Flutter build files

Slides & Code

The presentation slides and code can be found on GitHub.

Lab

The lab can be found on GitHub.

Getting Started

Run flutter create weatherviewer and open your project in VS Code.

Alternatively, you can clone this repository to download the boilerplate code by running:

  • git clone https://github.com/akshathjain/FlutterWorkshop
  • cd FlutterWorkshop/weatherviwer_boilerplate

Overview

In this lab, you will be creating a simple Weather app using Flutter. Using skills covered during the presentation, your app should be able to:

  • Fetch weather data from the internet
  • Display weather across several cities
  • Show the forecast for the next few days

This project is fairly open-ended, so feel free to design your app however you wish! Screenshots and code from a sample WeatherViewer are provided if you get stuck, or need to reference any components. If you have any questions, feel free to contact any of the TAs for help.

Good luck, and have fun!

Fetching Data

The data you will be using is sourced from the OpenWeatherMap API. However, instead of fiddling with API Keys and rate limits, a sample JSON file is available at https://akshathjain.com/FlutterWorkshop/json/weather_info.json. Treat that as your "API" for the purposes of this lab. Although, you're definitely more than welcome to try and use the real thing!

Screenshots

Home Screen Weather View

You might also like...

how to Integrating facebook audience network to flutter app for banner, interstitial, rewarded, native and native banner

fb_ads_flutter_12 A new Flutter project. Getting Started Watch the complite tutorial for integrating Facebook ads into the Flutter app in our Youtube

Nov 26, 2022

Flutter native ads - Show AdMob Native Ads use PlatformView

Flutter native ads - Show AdMob Native Ads use PlatformView

flutter_native_ads Flutter plugin for AdMob Native Ads. Compatible with Android and iOS using PlatformView. Android iOS Getting Started Android Androi

Dec 20, 2022

Flutter Local Notifications - Learn how to implement local notifications into both Android and iOS using flutter_local_notifications plugin.

Flutter Local Notifications - Learn how to implement local notifications into both Android and iOS using flutter_local_notifications plugin.

Flutter Local Notifications Example Flutter Local Notifications - Learn how to implement local notifications into both Android and iOS using flutter_l

Nov 29, 2022

A Flutter plugin for authenticating users by using the native TwitterKit SDKs on Android & iOS.

flutter_twitter_login A Flutter plugin for using the native TwitterKit SDKs on Android and iOS. This plugin uses the new Gradle 4.1 and Android Studio

Sep 15, 2022

This is a flutter based project. It authorize the user by scanning fingerprint using ios and android native fingerprint scanners.

This is a flutter based project. It authorize the user by scanning fingerprint using ios and android native fingerprint scanners.

flutter_fingerprint_auth Fingerprint Authentication in Flutter Introduction In this article we are talking about fingerprint authentication. As far as

Aug 22, 2022

Flutter plugin for Firebase Auth UI. Supports popular auth providers by using native SDK for Android and iOS.

Flutter plugin for Firebase Auth UI. Supports popular auth providers by using native SDK for Android and iOS.

firebase_auth_ui Flutter plugin of Firebase UI which allows to add login/sign-up quickly. NOTE: This plugin is under development. Please provide Feedb

Mar 23, 2022

RoomKit Flutter is a wrapper of Native Android and iOS RoomKit SDK

RoomKit Flutter is a wrapper of Native Android and iOS RoomKit SDK

ZEGOCLOUD RoomKit Flutter RoomKit Flutter is a wrapper of Native Android and iOS RoomKit SDK Getting started Prerequisites Basic requirements Android

Dec 16, 2022

This is an apps that implements fundamental features of Flutter (Android Apps Only)

rpl_apps_flutter A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Dec 28, 2021

Learn to Code While Building Apps - The Complete Flutter Development Bootcamp

Learn to Code While Building Apps - The Complete Flutter Development Bootcamp

BMI Calculator 💪 Our Goal The objective of this tutorial is to look at how we can customise Flutter Widgets to achieve our own beautiful user interfa

Jan 1, 2023
Projeto do curso Criação de Apps Android e iOS com Flutter 2021-Crie 14 Apps. Professor: Daniel Ciolfi

agenda_contatos Projeto do curso de Flutter Getting Started This project is a starting point for a Flutter application. A few resources to get you sta

Waldir Tiago Dias 0 Nov 27, 2021
Projeto do curso Criação de Apps Android e iOS com Flutter 2021-Crie 14 Apps. Professor: Daniel Ciolfi

busca_gifs A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

Waldir Tiago Dias 0 Nov 25, 2021
E-Learn is a beautiful open-source education app for Android

E-Learn is a beautiful open-source education app for Android. It is built with Dart on top of Google's Flutter Framework.

Hash Studios 216 Jan 6, 2023
This Repository is contain about learn Flutter and Dart [Learn]

Flutter-Dart-Code-Learn-Journey This Repository is contain about learn Flutter and Dart [Learn] Introduction Learn Dart Data Type Control Flow Collect

Adi Nugraha Putra 1 Jan 11, 2022
null 1 Jan 8, 2022
Climate - Learn how to make a Weather app in Flutter

More detailed weather reports also contain information about precipitation, relative humidity, atmospheric pressure, and other things as well. A typical weather report tells you the high and low temperatures for the past day. It also tells you the present temperature.

Santosh Arron 14 Oct 19, 2022
Easy-to-make native ads in flutter using AdMOB SDK.

native_admob_flutter Easy-to-make ads in Flutter with Google's AdMob SDK. English | Português Get started To get started with Native Ads for Flutter,

Bruno D'Luka 81 Dec 12, 2022
A Flutter package to make your text selectable for web and non-selectable for native builds.

PlatformText A Flutter package to make your text selectable for web and non-selectable for native builds. Features PlatformText returns Text or Select

Piotr Rozpończyk 1 Jun 9, 2022
react-native native module for In App Purchase.

Documentation Published in website. Announcement Version 8.0.0 is currently in release candidate. The module is completely rewritten with Kotlin and S

dooboolab 2.3k Dec 31, 2022
dna, dart native access. A lightweight dart to native super channel plugin

dna, dart native access. A lightweight dart to native super channel plugin, You can use it to invoke any native code directly in contextual and chained dart code.

Assuner 14 Jul 11, 2022