Muhammad Al-Gamati, M.Sc.
Sundays10:00 – 11:30 AM
LECTURE 01
Introduction to Flutter & Course Overview
Libyan International Medical University · Fall 2026
WHO WE ARE
Sundays10:00 – 11:30 AM
Tuesdays11:30 AM – 1:00 PM
Two lectures a week · we alternate days · one course, one set of projects
PART 1 · FLUTTER
Language: Kotlin
Language: Swift
One code Android + iPhone
PART 1 · FLUTTER
A free tool from Google for building apps for Android and iPhone, and even web and desktop, from one code.
in a language called Dart
into a real app
Android · iPhone · Web · Desktop
PART 1 · FLUTTER
A building block of the screen: text, a button, an image, a layout. In Flutter, everything is a widget.
The programming language we write Flutter apps in.
Software Development Kit: the tools you install to build apps.
A virtual phone on your computer for running and testing your app.
Save your code and see the change on the phone in about a second.
Ready-made code written by others that you can add to your app.
PART 1 · FLUTTER
Write your app once. Run it on Android, iPhone, web and desktop.
Change your code and see the result in about a second.
Flutter apps run fast, close to native speed.
Modern, ready-made designs for Android and iPhone.
Clear docs, many tutorials, a huge community.
Used by global brands and Libyan companies.
PART 1 · FLUTTER
You don’t need to understand this yet. We’ll write it together in class.
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!')),
),
);
}
}
importBring in Flutter’s ready-made widgetsmain()The app starts hereMyAppOur app is itself a widgetScaffold, AppBar, TextWidgets inside widgets: the widget treePART 1 · FLUTTER
| 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 | Meta (Facebook) |
Why we teach Flutter: one language, one code, and you see your changes instantly.
PART 1 · FLUTTER
apps published with Flutter
Source: Google, I/O 2023
PART 1 · FLUTTER
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.
PART 2 · THE COURSE
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
Your grade comes from the apps you build.
PART 2 · THE COURSE
Flutter
Beyond Flutter
PART 2 · THE COURSE
But you must understand the code you hand in.
InstructorNice. Can you explain line 43?
You
Without it, your Flutter project won’t build.
$ flutter pub get Resolving dependencies... Got socket error trying to find package http. Retrying in 1 second... Retrying in 2 seconds... Retrying in 4 seconds... Retrying in 8 seconds...
FAIR WARNING
Everyone meets them. Even your instructors.
My first app
Null check operator used on a null value
$ flutter run Launching lib/main.dart... Running Gradle task 'assembleDebug'... 1247.6s
WRAP-UP
You can install Flutter now, before next lecture:
flutter doctora command that checks your setup until everything is It’s optional. Stuck? Totally normal: we’ll install it together next lecture.
Next lecture
Installing Flutter together