K-INFO
HU
EN
Login

Flutter-based Software Development

Flutter alapú szoftverfejlesztés
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Subject name (Hungarian, English)
Flutter alapú szoftverfejlesztés
Flutter-based Software Development
Subject code BMEVIAUAV45
Subject type
Training Level
Course types and hours (weekly/semester)
Course type lecture tutorial laboratory
hours (weekly) 2 0 0
type (linked/independent)
Assessment type félévközi érdemjegy
Credits 2
Subject coordinator
DR. Ekler Péter
position: egyetemi docens
Responsible department
Automatizálási és Alkalmazott Informatikai Tanszék
Faculty Villamosmérnöki és Informatikai Kar
Subject website
Primary curriculum type
Direct prerequisites – Strong prerequisite none
Direct prerequisites – Weak prerequisite none
Direct prerequisites – Parallel prerequisite none
Direct prerequisites – Milestone prerequisite none
Direct prerequisites – Exclusion none

Objectives

Programme
The schedule of the semester for the weeks:

1.

A brief history of the Dart language. Dart syntax overview and example codes in DartPad. A brief history of the Flutter framework. Installation of Flutter and Dart SDKs, managing updates. Configuring Android Studio, installing the Flutter plugin.

2.

Analysis of the architecture of a Flutter project. Understanding the basic elements of Flutter. Analysis of the example app Counter in Android Studio. State management using StatefulWidget and InheritedWidget.

3.

Main Flutter widgets: MaterialApp, Appbar, Text, Image, Icon, SizedBox, Transform. widgets that help layout UI elements.

4.

Widgets for data entry. Widgets for implementing Material Design elements. Options for solving navigation between screens. Design and implementation of custom UI widgets.

5.

Managing lists and grid views. List updating. The Sliver system. Animation options. Simultaneous support for phone and tablet.

6.

Basic management of HTTP connections. Installing code generators. Typical data formats and how to process them. Managing asynchronous communication with Future.

7.

Libraries to facilitate the management of network communication (Dio, Chopper). Calling a specific HTTP API, displaying the response in an application. Role of Widget Key, their use.

8.

Persistent data storage options. Simple key-value store: SharedPreferences and UserDefaults wrapper. File management, application cache and storage access. ORM database management solutions based on SQLite (Moor, Floor).

9.

NoSQL database management (Sembast, Hive). Complex application implementation with list management and database support. Firebase Data storage options: real time database, Cloud Firestore.

10.

Backend as a Service overview. Firebase capabilities. Login and user management. Crash reporting options. Analytics. FlutterFire libraries.

11.

Status management with Provider library. BLoC design pattern, implementation with bloc and flutter_bloc libraries. MobX state management.

12.

Multilingual support in Flutter application: flutter_localizations, flutter_i18n

13.

Implementation of architecture layers (repository layer, interactor layer, presenter layer, reducer layer, presentation layer). Dependency injection.

14.

Web and desktop platform support. Summary, outlook.
The aim of the course is to introduce methods and best practices for software development using the Flutter framework and the associated Dart programming language. Students will be introduced to the main components of the framework, its architecture and the main libraries used to build an application. Through the framework, the paradigm of declarative UI programming will be introduced, learning about several patterns that are available on other platforms.

Learning outcomes

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Knowledge

No learning outcomes recorded.

Skills

No learning outcomes recorded.

Attitudes

No learning outcomes recorded.

Autonomy and responsibility

No learning outcomes recorded.

Oktatási módszertan

Presentation

Tanulástámogató anyagok

Online források
Lecture material, teacher's notes; Eric Windmill: Flutter in Action. Manning Publications, ISBN: 9781617296147, 2020; Flutter API Reference, https://api.flutter.dev/, 2020

Recommended preliminary knowledge for completing the subject

Knowledge type competencies
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Object Oriented Programming
Skill type competencies
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Recommended (non-compulsory) preliminary competencies
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Object Oriented Programming
General rules
Requirements: During the semester: a Midterm is mandatory during the semester. A homework is also required during the semester. The deadline for submission is the penultimate class of the semester. Additional possibilities: It is possible to make up the final examination or homework during the make-up period.
Assessment methods
In-term assessments

No detailed assessments provided.

Weight of in-term assessments

No weights provided.

Exam-period assessments

No detailed assessments provided.

Weight of exam elements

No weights provided.

Grade calculation

No grade thresholds provided.

Attendance requirements

No attendance requirements provided.

Rules for retake and resubmission

Not provided.

Short description

Not provided.

Detailed description

Not provided.

Recommended courses

Not provided.

Workload to complete the subject

No workload breakdown provided.

Validity of subject requirements
Requirements valid from:
Requirements valid until:
Curriculum placement

No curriculum placements recorded for this subject version.