Budując aplikacje mobilnie na platformę Android warto niektóre czynności zautomatyzować, zwiększyć wydajność pracy oraz jakość rozwijanego kodu źródłowego wykorzystując nowoczesne IDE. Na podstawie własnych doświadczeń, a także opiini innych osób w internecie, dokonałem krótkiego przeglądu dostępnych rozwiązań. Wybrane narzędzia dla programisty Androida przypisałem do kilku kategorii w zależności od ich zastosowania.
IDE - Android Studio Link to heading
Obecnie Android Studio jest oficjalnym IDE (zintegrowane środowisko programistyczne) dla programistów aplikacji mobilnych. Narzędzie posiada wiele zalet takich jak:
- dostępne jest bezpłatne,
- umożliwia pracę nad kodem na różnych systemach operacyjnych,
- jest nowoczesnym IDE w stylu IntelliJ IDEA, które jest niezwykle popularne pośród programistów Java.
Automatyzacja budowy aplikacji - Gradle Link to heading
W przeszłości projekty kodowane w języku Java często wykorzystywały świetne narzędzie jakim jest Maven. Google w projektach aplikacji mobilnych zaleca jednak używanie Gradle, którego popularność rośnie i którego możliwości są bardzo duże np. dzięki dodatkowym skryptom budowanym w języku Groovy.
Użyteczne biblioteki Link to heading
W projektach aplikacji mobilnych warto korzystać z dostępnych i sprawdzonych bibliotek takich jak:
- Retrofit - ułatwia korzystanie z REST API w aplikacjach mobilnych,
- ButterKnife - generuje kod związany z dostępem do UI na podstawie adnotacji,
- Otto - szyna danych do komunikacji między komponentami,
- Dagger - biblioteka do wstrzykiwania zależności, co pozwala uniknąć miejsc w których tworzymy obiekty za pomocą new.
CI (ciągła integracja) - Jenkins Link to heading
Kilka podstawowych informacji na temat platformy Jenkins zamieściłem w poście Jenkins - Continuous Integration & Continuous Deployment, wraz z przykładem jego uruchomienia w kontenerze Docker’a.
System kontroli wersji - Git Link to heading
Git jest obecnie standardem nie tylko wśród programistów Android, lecz wielu innych projektach m.in. ze względu na to, że nie wymaga korzystania centralnego serwera jak w przypadku SVN. Dużą zaletą Git jest możliwość pisania nowych elementów aplikacji w innej gałęzi ( ang. branches) mając jednocześnie dostęp do wersji stabilnej.
Grafika - Gimp Link to heading
Proste elementy graficzne czy też ikony do aplikacji można przygotować m.in. w darmowym i niezwykle rozbudowanych narzędziu Gimp do grafiki rastrowej.
Użyteczne narzędzia webowe Link to heading
- Github - umożliwia bezpłatne tworzenie i przechowywanie kodu źródłowego publicznych projektów,
- Bitbucket - w porównaniu do Github umożliwia bezpłatne przechowywanie kodu źródłowego prywatnych projektów,
- Stackoverflow - najlepsze miejsce dla programistów szukających rozwiązań różnorodnych problemów deweloperskich nie tylko w aplikacjach mobilnych.