5+1 důvodů, proč používám při vývoji aplikací terminál

Miroslav Holec

Miroslav Holec

20. srpna. 2019

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.


👨‍🎓 Podzimní školení
👍 Změny v ASP.NET Core 3.0
👍 Vývoj REST služeb v .NET Core
👍 ASP.NET Core Blazor