Cześć. Dzisiejszy wpis nie będzie długi… Chciałbym tutaj przybliżyć trochę bardziej rozwijaną przeze mnie aplikację. Powiem Ci skąd się wziął pomysł, jak zacząłem oraz jak projekt będzie się rozwijać. Jestem pewien, iż też masz jakiś pomysł, a nie możesz się za to zabrać. Być może ten wpis Cię zainspiruje do wdrażania swoich planów
Od początku
Mówi się, iż “matka jest potrzebą wynalazków”. Cóż, tak było i tym razem. Kiedyś grałem bardzo dużo w piłke nożną, byłem bardzo aktywny fizycznie. Niestety, kontuzje mocno zwolniły mój rozwój sportowy. Stwierdziłem, iż zacznę szukać innego zajęcia w życiu. Zawsze lubiłem komputery, technologie… Nie do końca natomiast wiedziałem, czym jest to “programowanie”. Poświęciłem trochę czasu w zgłębienie tej wiedzy, poszperałem w sieci, spodobało mi się! Poszedłem na studia informatyczne.
Przez pierwszy rok nie byłem skupiony na samym programowaniu, jakości kodu etc. Chciałem “przetrwać” semestr i w miarę możliwości poświęcić więcej czasu w rzeczy bardziej przydatne (nie oszukujmy się, ale całkować i różniczkować w pracy programiście zdarza się rzadko bądź nigdy), jednak z tyłu głowy cały czas szukałem pomysłów co będę mógł kiedyś stworzyć. Zawsze chciałem by to było coś praktycznego, kombinowałem, myślałem.
Zrobiłem najpierw prostą konsolową aplikację do robienia testów na zasadzie pytanie – odpowiedź. Pytania były czytane z pliku, a na koniec mogliśmy zobaczyć ile razy odpowiedzieliśmy dobrze. Nic zaawansowanego, ale pomogło zaliczyć jeden przedmiot. Nie był to jednak szczyt moich możliwości oczywiście, ale pierwsza satysfakcja była. Zrobiłem coś, co ułatwiło mi życie!
My Coach – skąd pomysł?
Nie bez powodu wspomniałem o piłce na początku. Jestem endomorfikiem (szybko przybieram na wadze) i wiem, iż o ile ze sportu przerzuciłbym się totalnie na tryb siedzący to skończyłbym mniej więcej tak:
Nie ukrywajmy, wielu programistów nie ma dużo wspólnego z aktywnością fizyczną , w zależności od predyspozycji często są dość opaśli. Nie chciałem skończyć tak samo więc znalazłem sobie inne zajęcia. Zacząłem znowu biegać (regularnie biegałem gdy grałem w piłkę) oraz zapisałem się na siłownię. Efekty były gorsze lub lepsze. w tej chwili są lepsze, wynika to z większej świadomości w temacie odżywiania między innymi. Dużo zmienia monitorowanie siebie, zapisywanie danych o treningach, pomiary ciała i tak dalej…
Obecnie robię to dzięki tabelek excelowych w Google sheets. Na krótszą metę – świetna rzecz. Przejrzyste, intuicyjne, czytelne. Problem robi się gdy notujemy parę rzeczy związanych z siłownią i trzeba to rozproszyć, a jeszcze większy, gdy tych danych przybywa… z czasem zacząłem coraz bardziej to dostrzegać. Pomyślałem sobie “kurcze, wiem więcej o tworzeniu aplikacji niż kiedyś, dlaczego w końcu nie użyć tej wiedzy do czegoś praktycznego i stworzyć aplikację, która ułatwi mi życie a przy okazji nauczyć się czegoś więcej?”.
Spisałem sobie na kartce wszystkie rzeczy, które potrzebuję “zakodzić”, czyli wymagania funkcjonalne dla mojej aplikacji. Rozpisałem to ładnie na zadania, rozrysowałem interfejs graficzny i…zacząłem klepać, po prostu. jeżeli spodziewałeś się czegoś bardziej odkrywczego to muszę Cię rozczarować…:) To jest naprawdę tak proste!
Jak mi idzie z projektem?
Zacząłem go tworzyć parę miesięcy temu. Nie ukrywam, iż chciałem skończyć tworzenie tego szybciej, system nie wydawał się skomplikowany. Rzeczywistość jednak zweryfikowała moje plany. Wiele innych spraw w życiu, trochę problemów technicznych, mniej czasu… ale żeby nie narzekać, jest bliżej niż dalej!
Samych funkcjonalności do dorobienia nie zostało dużo, bardziej kwestia połączenia serwera oraz klienta webowego. Podszedłem do aplikacji w ten sposób, iż zrobiłem serwer, który przetwarza odpowiednio dane, a następnie zacząłem prototypować klienta (tworzyć pierwsze funkcjonalności tak, byleby działały), dodawać poszczególne funkcjonalności, które nie łączyły się z serwerem a były też “atrapą” na kliencie i o ile nic nie popsułem przy serwerze to wiem, iż wszystko będzie działać od razu, ale nie zawsze jest tak kolorowo…
Przy okazji mogłem zgłębić tematy praktyczne oraz zobaczyć jak się prowadzi projekt na własnej skórze. Dowiedziałem się więcej o Continuous Integration oraz miałem motywację aby poznać jedno z narzędzi, które ułatwia działanie w tym temacie.
Najważniejsze jest to, iż niedługo będę mógł używać aplikacji zrobionej PRZEZE MNIE, która UŁATWI MI ŻYCIE. Ponownie. Wow!
Słowa końcowe
Wiele osób nie wie, jak zrobić swój projekt, a tak naprawdę jest to proste. Branża IT charakteryzuje się tym, iż wystarczy komputer, aby zrobić coś użytecznego. o ile chcesz mieć pojęcie i doświadczenie w dziedzinie budowania domów to cóż… próg startowy jest znacznie wyższy. Więc o ile chcesz zrobić coś przydatnego, pomyśl przez chwilę co mógłbyś przenieść do “świata komputerowego” i po prostu zacznij to pisać! Zobaczysz, jest to świetny bodziec do zgłębiania wiedzy na bieżąco, poznasz prawdziwe problemy z jakimi walczy programista, a jeżeli będziesz wytrwały to wiem, iż efekt końcowy, choćby gdy technicznie nie będzie “najczystszy” to sprawi, iż poczujesz dumę z tego, co stworzyłeś.
A więc, chcesz stworzyć aplikację? Uruchom swoje IDE/edytor tekstowy i zacznij po prostu pisać! Pamiętaj, ktoś kiedyś powiedział:
“Done is better than perfect.”