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.