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
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
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
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
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
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
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
- 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.