Subject » BMEVIAUAV45
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) |
|
||||||||||||
| Assessment type | félévközi érdemjegy | ||||||||||||
| Credits | 2 | ||||||||||||
| Subject coordinator |
DR. Ekler Péter
position: egyetemi docens
contact:
ekler.peter@vik.bme.hu
|
||||||||||||
| 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.