Flutter-sovelluksen tilanhallinta : alustariippumaton sovellus kuntosaliharjoittelun seurantaan
Pörhö, Benjamin (2023)
Pörhö, Benjamin
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023051510840
https://urn.fi/URN:NBN:fi:amk-2023051510840
Tiivistelmä
Toiminnallisessa opinnäytetyössä ohjelmoitiin alustariippumaton sovellus Flutter-ohjelmistokehityspaketin avulla. Sovelluksen tarkoituksena on pitää kirjaa käyttäjän suorittamista kuntosaliharjoituksista. Käyttäjä pystyy luomaan harjoituksissa käytettäviä liikkeitä, suorittamaan niitä harjoituksissa ja tallentamaan suoritetut harjoitukset myöhempää tarkastelua varten.
Alustariippumatonta sovellusta kehitettäessä tarkasteltiin erityisesti sen tilanhallinnan toteutusta lähdekoodin hallittavuuden kannalta. Flutter-sovelluksen tilan ja tilanhallinnan perusteet esiteltiin sekä perusteltiin, miksi keskitetty tilanhallinta on tärkeää suorituskykyisten alustariippumattomien sovelluksien kehityksessä Flutter-ohjelmistokehityspaketin avulla.
Sovelluksessa tilanhallintaan käytettiin Flutterin sisäänrakennettua tilallista pienoisohjelmaa sekä Provider-pakettia. Opinnäytetyössä tarkasteltiin myös muita vaihtoehtoisia tilanhallintaan käytettäviä ratkaisuja, kuten Flutter Redux, BLoC ja MobX. Alustariippumattoman sovelluksen kehitystyö aloitettiin suunnittelemalla pelkistetty käyttöliittymäsuunnitelma ja edettiin teknologioiden valinnan kautta ominaisuuksien suunnitteluun. Suunnittelun jälkeen perehdyttiin käytettäviin teknologioihin ja asennettiin kehitysympäristö. Työprosessi käytiin kokonaisuudessaan läpi ja perusteltiin ratkaisut, mihin sovelluksessa päädyttiin. Työprosessin jälkeen tuotoksen onnistumista tarkasteltiin kriittisesti ja esitettiin työprosessin ongelmakohdat. In the functional thesis, a cross-platform application was programmed using the Flutter software development kit. The purpose of the application is to keep track of the user's performed gym workouts. The user can create exercises to be used in the workouts, perform them, and save the completed workouts for later review.
When developing the cross-platform application, the implementation of its state management was particularly examined in terms of manageability of the source code. The basics of the Flutter application's state and state management were introduced, and it was justified why centralized state management is important in the development of high-performance platform-independent applications using the Flutter software development kit.
In the application, Flutter's built-in stateful widget and the Provider package were used for state management, while also examining alternatives such as Flutter Redux, BLoC, and MobX. The development began by designing a simplified user interface, proceeded through technology selection to feature design, and involved setting up the development environment. The entire work process was reviewed, with justifications provided for the chosen solutions, and the output's success was critically evaluated, highlighting any problem areas.
Alustariippumatonta sovellusta kehitettäessä tarkasteltiin erityisesti sen tilanhallinnan toteutusta lähdekoodin hallittavuuden kannalta. Flutter-sovelluksen tilan ja tilanhallinnan perusteet esiteltiin sekä perusteltiin, miksi keskitetty tilanhallinta on tärkeää suorituskykyisten alustariippumattomien sovelluksien kehityksessä Flutter-ohjelmistokehityspaketin avulla.
Sovelluksessa tilanhallintaan käytettiin Flutterin sisäänrakennettua tilallista pienoisohjelmaa sekä Provider-pakettia. Opinnäytetyössä tarkasteltiin myös muita vaihtoehtoisia tilanhallintaan käytettäviä ratkaisuja, kuten Flutter Redux, BLoC ja MobX. Alustariippumattoman sovelluksen kehitystyö aloitettiin suunnittelemalla pelkistetty käyttöliittymäsuunnitelma ja edettiin teknologioiden valinnan kautta ominaisuuksien suunnitteluun. Suunnittelun jälkeen perehdyttiin käytettäviin teknologioihin ja asennettiin kehitysympäristö. Työprosessi käytiin kokonaisuudessaan läpi ja perusteltiin ratkaisut, mihin sovelluksessa päädyttiin. Työprosessin jälkeen tuotoksen onnistumista tarkasteltiin kriittisesti ja esitettiin työprosessin ongelmakohdat.
When developing the cross-platform application, the implementation of its state management was particularly examined in terms of manageability of the source code. The basics of the Flutter application's state and state management were introduced, and it was justified why centralized state management is important in the development of high-performance platform-independent applications using the Flutter software development kit.
In the application, Flutter's built-in stateful widget and the Provider package were used for state management, while also examining alternatives such as Flutter Redux, BLoC, and MobX. The development began by designing a simplified user interface, proceeded through technology selection to feature design, and involved setting up the development environment. The entire work process was reviewed, with justifications provided for the chosen solutions, and the output's success was critically evaluated, highlighting any problem areas.