Architecture Decision Record

Active theme: Light

← Příklady záznamů rozhodnutí

Záznam architektonického rozhodnutí: programovací jazyk Go

Název: Přijetí programovacího jazyka Go

Stav: Přijaté

Kontext

Naše organizace dosud primárně používala programovací jazyk Java k vytváření webových aplikací. Setkáváme se však s určitými potížemi kvůli rozvláčnosti Javy a složitosti některých frameworků. Náš tým také projevil zájem o prozkoumání moderních programovacích jazyků pro efektivnější a robustnější vývoj. Po výzkumu jsme identifikovali Go jako potenciální řešení problémů, kterým čelíme s Javou.

Rozhodnutí

Od nynějška budeme pro vytváření webových aplikací používat programovací jazyk Go.

Odůvodnění

  1. Jednoduchost a čitelnost: Go je známé svou jednoduchostí a stručnou syntaxí. Díky tomu se kód snadno čte a píše, což snižuje složitost našeho vývojového procesu.

  2. Vysoký výkon a škálovatelnost: Go se kompiluje do strojového kódu, který běží nativně na serveru. To vede ke kratším dobám provádění a lepšímu výkonu ve srovnání s interpretovanými jazyky, jako je Java. Navíc model souběžnosti Go zpracovává více požadavků současně, což ho činí vysoce škálovatelným.

  3. Silná podpora komunity: Go má živou komunitu vývojářů, kteří v průběhu let přispěli k jeho růstu. To znamená, že existuje spousta zdrojů, knihoven a frameworků, které nám pomohou začít a vytvářet robustní aplikace.

  4. Flexibilita: Go lze použít pro vývoj front-endu i back-endu. To znamená, že můžeme využít jeho výhod v obou oblastech pro naše vývojové projekty.

Důsledky

  1. Školení: Naši vývojáři budou muset projít školením, aby se naučili programovací jazyk Go a jeho nuance.

  2. Zkušenosti: Při přechodu z Javy na Go můžeme čelit určitým výzvám. Může nějakou dobu trvat, než se naši vývojáři s novým jazykem zdokonalí.

  3. Nástroje: Budeme muset přijmout nové nástroje a frameworky specifické pro Go. Můžeme však využít stávající infrastrukturu, abychom minimalizovali dopad této změny.

  4. Závislost na dodavateli: Go je open source programovací jazyk a nebudeme vázáni na žádného dodavatele ani poskytovatele služeb.

Závěr

Přijetí programovacího jazyka Go nám pomůže zlepšit náš vývojový proces a vytvářet robustní aplikace. Budeme muset investovat zdroje do školení a nástrojů na podporu tohoto přechodu, ale věříme, že přínosy tohoto rozhodnutí převažují nad náklady.

Zdroj: tuto stránku vygeneroval ChatGPT a poté byla upravena pro přehlednost a formát.