Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources

CS208

Mobile Development with Flutter

Barcelona Campus
Mar 15, 2021 - Apr 02, 2021
During the Mobile Development with Flutter course, students will learn how to build native cross-platform applications, asynchronous programming, alongside Domain-Driven Design.
Barcelona Campus
Mar 15, 2021 - Apr 02, 2021
Hossein Yousefi

Faculty

Hossein Yousefi

Co-founder and CTO at Identi

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

4 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

Computer ScienceProgrammingUI AnimationFlutter AppDomain-Driven Design
OverviewCourse outlineCourse materialsPrerequisites

Overview

Flutter is a free and open-source framework developed by Google. Using Flutter you can build native cross-platform applications for iOS, Android, web, and mac. Windows support is also currently in alpha. Flutter is engineered for high-velocity development excellent for teams of any size especially solo developers trying to build their MVP quickly. With Flutter you have complete control over each and every pixel of the screen, giving you the freedom to express yourself and turn your ideas into reality.

Learning highlights

  • By the end of this course you will:
  • Learn about Dart
  • Know how to layout widgets in Flutter
  • Learn about asynchronous programming
  • Learn about Domain-Driven Design and different state management architectures
  • Know how to make complex UI and Animations work smoothly
  • Learn about networking and other concepts to build a production-ready application

Course outline

15 classes

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

What is Flutter?

  • Introduction to Dart
  • Anatomy of a Flutter app
  • Setup and installation
  • What are widgets?
  • Material Design Widgets
  • Cupertino Widgets
  • Containers, Scaffolds, etc.
  • Assets
Tuesday
2

Layouting

  • Constraints
  • Column and Row widgets
  • Stack widget
  • Expanded and flexible layouts
  • How flutter actually layout?
  • AspectRatio, Spacer, Padding, and other lay out widgets
Wednesday
3

Dart

  • Dart Classes
  • Mixins
  • Functions and Lambdas
  • Maps
  • OOP
Thursday
4

Asynchronous Programming

  • Futures
  • Streams
  • async / await
  • rxdart package
Friday
5

State Management

  • Stateless and Stateful widgets
  • Inherited widgets
  • Different methods and libraries for state management
  • BLoC package
  • Hydrated BLoC
  • Flutter hooks
Monday
6

Domain-Driven Design / Testing

  • DDD concept
  • Dependency injection
  • Injectable package
  • Freeze package
  • Testing and TDD
  • BLoC Test
Tuesday
7

Navigation

  • Routes
  • AutoRoute package
  • Navigator
Wednesday
8

Networking

  • HTTP package
  • JSON and serialization
Thursday
9

Persisting Data

  • Hive package
  • SQLite, Moor package
  • SharedPreferences
Friday
10

Firebase

  • Firebase Auth
  • Cloud Firestore
  • Integrating with Flutter
  • What are Cloud Functions?
Monday
11

Animation

  • Implicit Animations
  • Hero Animations
  • Staggered Animations
  • Explicit Animations
Tuesday
12

Advanced UI

  • Paths
  • ClipPath
  • CustomPainter
  • Gestures and GestureDetectors
  • Slivers
Wednesday
13

Projects 1

  • Helping each student with their project
Thursday
14

Projects 2

  • Helping each student with their project
Friday
15

Presentation Day

  • Presentation Day
Hossein Yousefi

Faculty

Hossein Yousefi

Co-founder and CTO at Identi

Hossein started programming from an early age. He continued focusing on Computer Science field throughout his studies. As a developer, he has worked as an iOS Developer and a freelancer. He enjoys working with different teams on exciting ideas.

As a student, he earned a bronze medal in Iran National Olympiad in Informatics and a bronze medal in the SWERC ICPC competition. He is currently studying Masters of Computer Science in Harbour.Space University.

See full profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

Mobile Development with Flutter

by Hossein Yousefi

Total hours

45 Hours

Dates

Mar 15 - Apr 02, 2021

Fee for single course

€1500

Fee for degree students

€750

How to secure your spot

Complete the form below to kickstart your application

Schedule your Harbour.Space interview

If successful, get ready to join us on campus

FAQ

Will I receive a certificate after completion?

Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.

Do I need a visa?

This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.

Can I get a discount?

Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.