LECTURE 01

Mobile App Development with
Flutter

Introduction to Flutter & Course Overview

  • Monther Ibrahim
  • Muhammad Al-Gamati, M.Sc.

Libyan International Medical University · Fall 2026

WHO WE ARE

Meet your instructors

Muhammad Al-Gamati, M.Sc.

Sundays10:00 – 11:30 AM

Monther Ibrahim

Tuesdays11:30 AM – 1:00 PM

  1. SunM
  2. Mon
  3. TueMI
  4. Wed
  5. Thu

Two lectures a week · we alternate days · one course, one set of projects

Mobile App Development · Lecture 01

PART 1 · FLUTTER

One app. Two kinds of phones.

  • Android phones and iPhones use different programming languages
  • Building separately means writing the same app twice
  • Cross-platform tools: write it once, run it on both

Android

Language: Kotlin

App #1

iPhone

Language: Swift

App #2

Cross-platform

One code Android + iPhone

Mobile App Development · Lecture 01

PART 1 · FLUTTER

What is Flutter?

A free tool from Google for building apps for Android and iPhone, and even web and desktop, from one code.

You write code

in a language called Dart

Flutter builds it

into a real app

It runs everywhere

Android · iPhone · Web · Desktop

  • Free & open source
  • Made by Google
  • Stable since 2018
  • Language: Dart
Mobile App Development · Lecture 01

PART 1 · FLUTTER

Words you’ll hear all semester

Widget

Most important

A building block of the screen: text, a button, an image, a layout. In Flutter, everything is a widget.

Dart

The programming language we write Flutter apps in.

SDK

Software Development Kit: the tools you install to build apps.

Emulator

A virtual phone on your computer for running and testing your app.

Hot reload

Save your code and see the change on the phone in about a second.

Package

Ready-made code written by others that you can add to your app.

Mobile App Development · Lecture 01

PART 1 · FLUTTER

Why Flutter?

One code, many platforms

Write your app once. Run it on Android, iPhone, web and desktop.

Hot reload

Change your code and see the result in about a second.

Smooth & fast

Flutter apps run fast, close to native speed.

Beautiful by default

Modern, ready-made designs for Android and iPhone.

Beginner-friendly

Clear docs, many tutorials, a huge community.

Real jobs

Used by global brands and Libyan companies.

Mobile App Development · Lecture 01

PART 1 · FLUTTER

Your first Flutter app

You don’t need to understand this yet. We’ll write it together in class.

lib/main.dart

import 'package:flutter/material.dart';
 
void main() => runApp(const MyApp());
 
class MyApp extends StatelessWidget {
  const MyApp({super.key});
 
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('Hello Flutter')),
        body: const Center(child: Text('Welcome to the course!')),
      ),
    );
  }
}
  1. importBring in Flutter’s ready-made widgets
  2. main()The app starts here
  3. MyAppOur app is itself a widget
  4. Scaffold, AppBar, TextWidgets inside widgets: the widget tree
Mobile App Development · Lecture 01

PART 1 · FLUTTER

Flutter vs. other tools

Native, Flutter and React Native compared
Native Our pickFlutter React Native
Language Kotlin (Android) + Swift (iPhone) Dart JavaScript
Code you write Two separate apps One app for both One app for both
How the screen is made The phone’s own buttons & screens Flutter draws everything itself The phone’s own buttons, controlled by JavaScript
Made by Google & Apple Google Meta (Facebook)

Why we teach Flutter: one language, one code, and you see your changes instantly.

Mobile App Development · Lecture 01

PART 1 · FLUTTER

Trusted worldwide

1M+

apps published with Flutter

Source: Google, I/O 2023

  • Google Pay
  • Google Classroom
  • BMW
  • Toyota
  • Alibaba
  • ByteDance
  • eBay Motors
  • Nubank
  • Universal
  • Canonical (Ubuntu)
  • talabat
Mobile App Development · Lecture 01Source: flutter.dev/showcase

PART 1 · FLUTTER

Flutter in Libya

Most Libyan companies that build mobile apps use Flutter.

That makes Flutter the most important tool for mobile apps in Libya.

What you learn here is what local teams build with.

Mobile App Development · Lecture 01

PART 2 · THE COURSE

Learn by building

This is a project-based course. Every topic you learn ends up inside an app you build.

No mobile experience needed. We start from zero.

No exams

Only projects

  • 4Projects
  • 1Midterm project
  • 1Final project

Your grade comes from the apps you build.

Mobile App Development · Lecture 01

PART 2 · THE COURSE

What you’ll learn

Flutter

  • Flutter basics
  • From design to Flutter code
  • State & state management
  • Fetching data from the internet
  • Firebase Authentication (login)

Beyond Flutter

  • Using GitHub
  • Using AI
Mobile App Development · Lecture 01

PART 2 · THE COURSE

Class rules

You can use AI

But you must understand the code you hand in.

You must have internet

Without it, your Flutter project won’t build.

Mobile App Development · Lecture 01

FAIR WARNING

Three friends you’ll meet this semester

Everyone meets them. Even your instructors.

The yellow tape

Means
Something doesn’t fit on the screen.
You’ll see it
Every week.

The red screen

Means
Something was empty when Flutter needed it.
You’ll see it
Five minutes before the deadline.

The Gradle wait

Means
Android is building your app.
You’ll see it
Long enough to make tea. Twice.
Mobile App Development · Lecture 01

WRAP-UP

Want a head start?

You can install Flutter now, before next lecture:

  • Install VS Code + the Flutter extension (or Android Studio)
  • Set up an Android emulator, or connect your phone
  • Run flutter doctora command that checks your setup until everything is

It’s optional. Stuck? Totally normal: we’ll install it together next lecture.

Questions?

Next lecture

Installing Flutter together

Mobile App Development · Lecture 01