Moja pierwsza aplikacja stworzona we Flutterze. Projekt powstał w ramach nauki i osobistej potrzeby gromadzenia danych na temat spalania użytkowanego przeze mnie samochodu. Aplikacja daje nam możliwość śledzenia kosztów paliwa oraz aktualnego średniego spalania naszego auta. Dodatkowe funkcjonalności to między innymi archiwum spalania, notatki, przypomnienie o przeglądzie, czy planowanych wymianach.
Ciężko było mi się przestawić na mocno typowany, obiektowy język Dart, przez co stworzenie tej aplikacji zajęło mi sporo czasu. Na co dzień używam JavaScriptu, więc wyeliminowanie wszystkich błędów kodu jakie się pojawiały, było mozolne i obarczone masą wyrwanych włosów 😆. Niestety sporym problemem okazała się również dokumentacja, która może być dość zawiła dla osób, które wcześniej nie programowały w językach tego typu. Często, nad niezbyt skomplikowanymi problemami, które z łatwością rozwiązałbym używając JavaScriptu i znanych mi frameworków siedziałem po kilka godzin. Nadal nie rozumiem, dlaczego nie mogę potraktować null
jako wartość falsey... 😜. Mimo wszystko uważam, że rozwinąłem się w temacie chociażby samego typowania i przewidywania, co ma robić mój kod i jakie wartości ma przyjmować.
Od dawna chciałem nauczyć się programowania mobilnego i długo zastanawiałem się, jaki framework wybrać. Zdecydowałem się na Fluttera ze względu na natywną kompilację i chęć poznania nowego języka programowania, jakim w tym przypadku jest Dart. Rozpocząłem naukę od prostego CRUD'a i gdy tylko opanowałem podstawy, rozpocząłem pracę nad aplikacją do zarządzania wydatkami na paliwo (i nie tylko!). Stwierdziłem, że to będzie dobry początek, aby poznać podstawy tworzenia widoków, przekazywania stanu pomiędzy widgetami oraz przechowywania, wczytywania i usuwania danych użytkownika.
Testy na ludziach 😆. Ściągajcie do woli, klikajcie, testujcie, dajcie mi jakiś feedback. Popsuliście apkę? Super, będę miał wyzwanie, aby naprawić bugi 😆. Wiem, że kod nie jest idealny, to moja pierwsza apka i na pewno nie jest stworzona według standardów czystego kodu, czy schematów tworzenia aplikacji we Flutterze. Dlatego będę wdzięczny za wszelkie opinie!
W kolejnym releasie planuje:
- Refactor kodu
- Urozmaicenie notatek o zdjęcia, listy, checkboxy itp,
- Management stanu apki, tak aby ilość przebytych kilometrów, aktualizowała najbliższe wymiany
- Poprawa wyglądu apki