Yeoman podobnie jak Bower jest narzędziem napisanym w Node.js. Pokaże Ci jak Yeoman ułatwia prace oraz jak z niego korzystać.

Jak zacząć ?

Korzystając z NPM zainstaluj Yeomana.

npm install -g yo

Po instalacji powinieneś mieć dostępne polecenie w wierszu poleceń

yo --help

yo-help

Co to jest Yeoman?

Yeoman to narzędzie do „scaffoldingu”, czyli do generowania kodu. Na pewno kiedyś się z tym spotkałeś. Większość IDE ma własne rozwiązania tego typu. Jeżeli dodawałeś kiedyś klase w Eclipse to zawsze miała już jakiś domyślny szablon. Np. w Visual Studio możesz stworzyć projekt webowy, częściowo zaimplementowany i skonfigurowany. To właśnie jest scaffolding. Bardzo mocno ułatwia nam pracę tworząc pliki lub całe struktury projektów według wcześniej zdefiniowanego szablonu. W Yeoman szablony są zdefiniowane w generatorach.

Generatory skąd je wziąć i jak dodać do yeomana?

Generatory znajdziesz w oficjalnym repozytorium – http://yeoman.io/generators/. Jest ich prawie 3,5 tyś. Dla różnych technologi, frameworków oraz z różnymi pomysłami na organizację struktury plików w projekcie.

Pokaże Ci jak zainstalować generator oraz jak generować kod na przykładzie aspnet, który jest aktualnie w centrum mojego zainteresowania. Jest to oficjalny generator dla nowego frameworka ASP .NET Core

Generator zainstalujesz za pomocą npm. W repozytorium danego generatora powinna być instrukcja jak to zrobić. W przypadku aspnet wykonaj komendę:

npm install -g generator-aspnet

Listę wszystkich dostępnych generatorów otrzymasz wpisując polecenie

yo --generators

image-title-here

Masz już generator teraz wypadało by wygenerować jakiś kod. Wpisz polecenie

yo aspnet

image-title-here

Yeoman poprosi Cię o wybranie rodzaju projektu jaki chcesz stworzyć. Ten generator dostarcza możliwość stworzenia aplikacji konsolowej, aplikacji webowej, aplikacji webowej z gotowymi klasami do autoryzacji użytkownika i jeszcze kilku innych. Ja wybieram aplikację webową.

Możesz teraz w łatwy sposób wygenerować inne pliki np. plik .gitignore

yo aspnet:gitignore

Może potrzebujesz szybko interfejsu? Nie ma problemu

yo aspnet:Interface IContact

Polecenie wyprodukuje plik IContact.cs

A może chcesz widok w Razor:

yo aspnet:MvcView ContactView

Listę wszystkiego co może ten generator znajdziesz w dokumentacji https://github.com/omnisharp/generator-aspnet#readme

PODSUMOWANIE

Yeoman jest ciekawą alternatywą dla rozwiązań proponowanych przez różne IDE. Jego zaletami jest to, że jest cross platformowy, niezależny od edytora oraz jest oprogramowanie z otwartym źródłem.

Możemy w łatwy sposób tworzyć własne szablony. Wiele IDE posiada wtyczki, które integrują się z Yeomanem. Natomiast jeżeli takiej integracji nie ma to nadal można korzysta z konsoli.