Prodataconsultarticle

Dla wielu z nas programowanie to pasja. Często więc się zdarza, że mamy również jakieś małe, prywatne projekty, które rozwijamy po godzinach. Kiedy ktoś zaczyna jednak nowy projekt nie mając zbyt dużego doświadczenia szuka narzędzi, których mógłby użyć, lecz jest ich tak dużo, że ciężko wybrać takie, które spełnią wszystkie oczekiwania.

Dlatego przybliżę wam kilka narzędzi, które moim zdaniem świetnie się sprawdzają przy takich projektach. Dodatkowo założeniem jest to, że nie posiadamy możliwości hostowania własnych rozwiązań (repozytorium czy trackera) i nie chcemy wydać żadnych pieniędzy (lub jak najmniej).

Repozytoria

  • GitHub

Prawdopodobnie najpopularniejsze repozytorium. W ramach darmowego planu dostajemy prosty issue tracker, wiki, które możemy tworzyć w kilku językach, np. Markdown, a także możliwość pracy na nieograniczonej liczbie repozytoriów publicznych i open source… No właśnie, tu jest ten haczyk – jeśli chcielibyśmy stworzyć repozytorium prywatne wymaga to upgrade'u konta do wersji płatnej $7 co miesiąc. I to w sumie tyle, przez co IMHO GitHub wypada dość słabo na tle konkurencji. Jeśli zaś chcemy tworzyć projekt open source jest to bardzo dobry wybór ze względu na dużą i aktywną społeczność, która może wesprzeć nasze dzieło.

  • GitLab

Obecnie chyba największa konkurencja GitHuba jeśli chodzi o możliwości. W darmowym pakiecie dostajemy nielimitowane repozytoria prywatne, wiki dostępne w 3 formatach, a co ciekawsze zintegrowane rozwiązanie Continous Integration / Continous Delivery i 2000 minut budowania do wykorzystania w miesiącu, a także proste narzędzie do code review. W skrócie – całkiem satysfakcjonujący zestaw narzędzi za najlepszą cenę – darmo. Warto wspomnieć również, że projekty publiczne otrzymują również wszystkie płatne funkcjonalności oraz nielimitowane CI/CD

  • Bitbucket Cloud

Rozwiązanie firmy Atlassian, które dostarcza bardzo podstawowych funkcjonalności: wiki, możliwość grupowania repozytoriów w projekty, bardzo prosta integracja z JIRA (choć inne rozwiązania też nie mają z tym większego problemu), a także 50 minut miesięcznie dla rozwiązania CI/CD zawartego w pakiecie. Dodatkowym plusem jest łatwiejsza integracja z pozostałymi produktami Atlassian. Największym ograniczeniem jest to, że przy prywatnym repozytorium nasz zespół może mieć tylko do 5 osób – jeśli będziemy potrzebować dodać kolejną osobę będzie trzeba przejść już na plan płatny.

 

Jeśli chodzi o repozytorium dla naszego projektu, to dla mnie największym wyznacznikiem jest tutaj prosty zestaw pytań:

Czy to będzie projekt prywatny czy publiczny/open source?

Czy potrzebuję zintegrowanego rozwiązania CI/CD?

Jak duży będzie mój zespół?

 

Te pytania pozwolą wybrać repozytorium do danego projektu. Jeśłi chodzi zaś o mój osobisty typ to pada na GitLab, który daje najwięcej możliwości i najmniej ograniczeń za tą samą cenę, a jeśli przyjdzie płacić, to będzie najtańszy.

 

Issue Trackery

Jeśli nie potrzebujemy zbyt wielu funkcji od narzędzia do śledzenia zadań w naszym projekcie i nie przeszkadza nam czasami niezbyt wygodny interfejs to trackery, które zawarte są w powyższych repozytoriach w zupełności wystarczą. W sytuacji, gdy potrzebujemy czegoś więcej, polecam jedno z poniższych rozwiązań.

 

  • JIRA Cloud

Prawdopodobnie najpopularniejsze rozwiązanie od firmy Atlassian, najczęściej doceniane za łatwość obsługi, przyjazny wygląd i liczne rozszerzenia dostępne przez marketplace, w razie potrzeby bez problemów możemy również tworzyć własne. Dużo integracji z innymi narzędziami czyni ten produkt wyjątkowo atrakcyjnym również dla małych zespołów. Do 10 użytkowników kosztuje $10 miesięcznie bądź $100 rocznie.

  • YouTrack

Rozwiązanie firmy JetBrains oferujące bardzo zbliżone możliwości do JIRA, lecz z IMHO dużo cięższym i mniej intuicyjnym interfejsem. Ciekawą funkcjonalnością jest możliwość pisania przepływów zadań w postaci skryptów, czego nie spotkałem do tej pory nigdzie indziej. Jeśli chodzi o cenę, to jest zależna od tego, czy chcemy nasz projekt utrzymać jako prywatny, czy nie. Jeśli udostępnimy nasze zadania wybierając projekt publiczny, to do 10 użytkowników nie zapłacimy nic za korzystanie z YouTracka, podobnie przy niektórych projektach open source. Jeśli jednak chcemy, by tracker był dostępny tylko dla nas, wówczas musimy wykupić pakiet dla 15 użytkowników za €20 miesięcznie bądź €200 rocznie.

Jeśli chodzi o mój typ to będzie to JIRA, głównie ze względu na łatwość obsługi i to, że dla mniejszego zespołu będzie po prostu tańsza.

IDE

Kod oczywiście można pisać w Notatniku, ale zgodzimy się, że nie jest to zbyt wygodna ani efektywna forma pracy. Nie każdy też chce wydawać duże kwoty na środowiska jak IntelliJ. Dlatego postanowiłem wam przedstawić 3 edytory, które bardziej doświadczonym są na pewno znane.

 

  • NetBeans

Świetne IDE, które wspierane jest przez Oracle. Choć obsługuje stosunkowo niewiele języków (Java, HTML5 + JS, PHP, C/C++, Groovy), to swoją pracę wykonuje wręcz wzorowo. Edytor jest stabilny, przyjemny, marketplace zawiera wiele przydatnych rozszerzeń, jak dla mnie najlepsze bezpłatne IDE do Javy.

  • Visual Studio Community

Bezpłatna wersja dla uczniów, solo developerów oraz projektów open source. Oferuje bardzo dobre wsparcie dla języków takich jak C#, C++ czy JavaScript. Generalnie jest to edytor dość masywny, więc na słabszych komputerach może sprawiać pewne problemy.

  • Visual Studio Code

Mniejsze dziecko Microsoftu, które moim (i nie tylko) zdaniem jest rewelacyjne. Bardzo lekki edytor obsługujący szeroką gamę języków z mnóstwem rozszerzeń. Dostępny na Windowsa, Linuksa i macOS, bezpłatny również do celów komercyjnych. Dwa minusy to niezbyt wygodna integracja z systemem kontroli wersji oraz konfiguracja tylko przez pliki JSON. Niemniej jest to edytor godny polecenia i wart tego, by dać mu szansę.


Dzięki tym narzędziom rozpoczęcie pracy z projektem będzie dużo łatwiejsze, a sama praca przyjemniejsza. Choć nie są to wszystkie narzędzia dostępne obecnie na rynku, to przedstawione tu produkty są z pewnością godne uwagi.


Autor:

Damian Józefiak / Programista Java / ProData Consult