Development blog #0: Way of Working
Jak można się domyślić po tytule tego artykułu, od dziś startuję z nową serią wpisów na blogu. Będzie ciekawie, będzie dużo kodu, będzie dużo tutoriali i będzie fajnie! O co chodzi? Mianowicie wykorzystując ten letni czas wakacji i dysponując trochę większą ilością wolnego czasu postanowiłem dokończyć projekt, nad którym już raz po raz trochę pracowałem. Ale żeby nie było tak łatwo doszedłem do wniosku, że to co do tej pory zrobiłem pójdzie na boczny tor, a cała aplikacja zostanie zbudowana od zera w zupełnie innej technologii.
Pracować będę w „pseudo” scrumie wiec na zakończenie każdego sprintu czyli co ok. dwa tygodnie będę publikował artykuł z podsumowaniem postępu prac, retrospekcją, opisem najciekawszych problemów i ich rozwiązaniami. Między czasie na blogu będę publikował również różne tutoriale dotyczące napotkanych zagadnień związanych z wykorzystywaną technologią.
To tyle tytułem wstępu, przejdźmy więc do rzeczy ;)
Opis projektu
Moim celem jest stworzenie multi-platformowej aplikacji mobilnej (Android, iOS) służącej do prowadzenia gry towarzyskiej „Mafia”. O mafii pewnie cześć z was słyszała, ale żeby było ciekawiej to dodam iż nie będzie to „zwykła” wersja tej gry. W celu nieco urozmaicenia rozgrywki zostaną dodane różne postacie takie jak np. batman, lekarz, kamikadze itd.. Aplikacja ma całkowicie zautomatyzować prowadzenie gry, tzn. prowadzący krok po kroku zaznacza wszystko co się dzieje w grze, a program na bierząco informuje o stanie rozgrywki, i prezentuje raporty które należy przekazać pozostałym graczom.
Stack technologiczny
Jaki stack technologiczny wybrałem? Jak pewnie już wiecie, aplikacja ma działać zarówno pod systemem iOS oraz Android, tak więc nie mogę jej pisać w Javie bądź przy użyciu języka Swift. Mój wybór padł więc na Xamarina oraz framework Mvvmcross. Tak więc będę bawił się C#, ale żeby było ciekawiej to wszystko będzie pisane na Macu – aplikacja ma bowiem działać również na iOS’ie co nie jako wymusza jej kompilowanie na komputerze z logo nadgryzionego jabłka. Na szczęście dzięki ostatnim zmianom w polityce Microsoftu, OS X doczekał się swojej wersji Visual Studio i pełnej obsługi C#.
Organizacja pracy
Dziś startuje sprint #0. Będzie on trwał dwa tygodnie, a w jego trakcie zamierzam przygotować szkielet dokumentacji projektu, przygotować backlog (a przynajmniej kilka początkowych historyjek), przygotować zasady pracy z repozytorium (zasady komitowania, nazywania branchy, pracy z branchami) oraz zapoznać się z technologią i wstępnie przemyśleć strukturę projektu.
Jest to sprint de facto „techniczny” więc raczej żaden nowy kod nie pojawi się w repozytorium. Mam za to w planach opublikowanie pierwszych artykułów, dotyczących obranego przeze mnie schematu pracy z repozytorium i być może jakiś wstępnych tutoriali dotyczących Xamarina – zobaczymy jak wyjdzie z czasem ;).
Repozytorium
Na prowadzenie projektu wybrałem serwis Gitlab.com gdzie założyłem już stosowne repozytorium: gitlab.com/lukas124/BeczkoMafia. Dostęp do niego jest całkowicie otwarty więc jeśli będziecie zainteresowani to możecie na bierząco śledzić postęp pracy i poganiać mnie jeśli będzie jakieś opóźnienie lub jeśli coś będzie nie tak w kodzie ;)
Podsumowanie
Na tą chwilę to chyba tyle co chciałem powiedzieć o projekcie ;) Jeśli więc macie jakieś pytania to śmiało piszcie w komentarzach, zachęcam również do polubienia fanpageu bloga gdzie pewnie będę wrzucał jakieś ciekawe off-topowe materiały i gdzie będą ukazywały się powiadomienia o kolejnych artykułach z tej serii. Mam nadzieję, że będzie wam się podobało i nie zalejecie mnie falą krytyki… tymczasem miłych wakacji i odpoczynku, a ja zabieram się do pracy ;)
Wszystkie wpisy związane z tym projektem będą oznaczone tagiem: #ProjektStrefaKodera.