Terminál: 5+1 důvodů, proč ho používám při vývoji aplikací
Tento článek byl napsán v roce 2019. Vývojářské technologie se neustále inovují a článek již nemusí popisovat aktuální stav technologie, ideální řešení a můj současný pohled na dané téma.
Občas se mě někdo ptá, jaký smysl má pro mě používat na macOS terminál, když aplikace je za mě schopné spouštět a spravovat IDE (Rider nebo VS Code). Na jednu stranu je to pravda, na druhou stranu má terminál několik dobrých výhod.
1 - Vše na jednom místě
Když potřebuji spustit webovou aplikaci a ta mi vrátí například číslo portu, na kterém běží, mohu s tím dále pracovat. Například si v další terminálové záložce mohu spustit nástroj pro testování výkonu a je pro mě praktické mít vedle v záložce aplikaci včetně konzolového výpisu. Nemusím pak přepínat mezi IDE a terminálem. Podobné platí i po spuštění aplikace, zjištění čísla procesu a analýzy pomocí LLDB.
2 - Plná podpora a funkčnost všech verzí SDK
Visual Studio určité verze nepodporuje všechny SDK, která máte nainstalované v počítači. Čili určité aplikace může být problém zkompilovat ve VS nebo jiném IDE, ale s jistotou to vždy půjde v terminálu. Stejně tak je terminál skvělým validačním místem. Pokud nejde build v nějakém IDE, ale v terminálu dotnet build projde, je zřejmé, že například Visual Studio se staví z nějakého důvodu na hlavu (a dělá to velmi často).
3 - Umí toho více než IDE
Různá IDE mají různou podporu CLI tools, ale v terminálu je podpora toolingu kompletní. Často je tedy tak či onak nutné do terminálu "odbíhat" něco odpalovat. Jediná otázka je, zde terminál běží v rámci IDE nebo zcela mimo něj. Každopádně například migrační skripty mám jako samostatné sh soubory (něco jako bat), které si mohu z terminálu dle potřeby spouštět bez psaní složitých slohů.
4 - Je nezávislý na IDE
A nakonec poslední drobnost. Proto, abych aplikaci spustil a otestoval mnohdy ani nepotřebuji spouštět Rider. To se hodí například když chci spustit API server a testovat klienta. Nejsem vůbec nucen kvůli serveru otevírat dev prostředí, ale jednoduše v terminálu server spustím a v IDE si ladím čistě klientskou část.
5 - Historie
Jo. když si otevřu terminálové okno a nechám v něm proběhnout nějaký proces, třeba ten webový, výsledek mohu po zastavení nechat být a v jiném okně si spustit jiný proces. Zpětně se mohu dívat na výsledky, což se hodí při ladění. IDE mají často tu schopnost výsledky neustále čistit nebo utápět v záplavě nových logů. Spouštěním nových oken nebo záložek terminálu mám po ruce historii, kterou potřebuji.
X - V rámci prezentací jde o souvislosti
V případě přednášek a školení pracuji s terminálem kvůli souvislostem. V určité části školení se mu nedá vyhnout a kdybych v takové části školení otevřel terminál a ukazoval některé věci, nedávalo by to smysl. Proto ho zařazuji na začátek školení a prezentací a seznamuji s ním vývojáře i na jednodušších ukázkách. Na ty později navazuji, díky čemuž je výklad srozumitelnější.
A jak se přátelíte s terminálem vy? Podělte se o zkušenosti a tipy v diskusi.