Modernizace staré webové aplikace

Určitě se s tím každý, kdo používá počítač i k něčemu jinému než sjíždění Facebooku, setkal. Webová aplikace napsaná před 10+ lety. Stále funguje. Je dobrá. Ale to GUI je strašné. Vlastně i některé funkce jsou už zastaralé nebo nejsou vůbec využívané. Má úplně nesmyslně vysoké systémové nároky, bezpečnostní problémy. No prostě vzít a zahodit! Ale vždyť je dobrá a používaná denně tisíci lidmi. No ale co s tím?

Refaktoring! To je to magické slovo, úkon, úkol. No jo, ale kde začít? Optimalizovat servery? Upgradovat produkční prostředí? Uklidit aplikaci? Nebo napsat aplikaci rovnou novou?

Co to vlastně je refaktoring?

Refaktoring je vlastně změna jádra aplikace, bez negativního dopadu na uživatele a vnější chování aplikace. Prakticky se dá říct, že se poladí apliakce nebo přidá dost serverů a celé to má za následek zlepšení uživatelského komfortu. Hezky je to popsáno na Wiki.

Tak jako byl Jára Cimrman průkopník slepých uliček, tak i náš tým na Mimibazaru to prve vzal za špatný konec a vydal se cestou nejnáročnější, nejpomalejší a s nejmenší nadějí na úspěch. Následovalo období, kdy se hledal viník neúspěchu, rozhodování co dál, hledání nových lidí do týmu a nakonec snad slušný progress v refaktoringu. Nicméně to ukáže až čas.

Chtěl bych tu v několika článcích nastínit co se povedlo, co ne, co bych příště udělal jinak a proč.

  • Nová aplikace – záchrana projektu nebo cesta do pekel?
  • Panika – vylepšit musíme úplně všechno
  • Monorepo
  • Automatizace – sprosté slovo
  • Per aspera ad astra
  • Odstraňování technologckého dluhu vs. bussiness plán
  • Skokový přechod z php5 na php8 – wow
  • Přidávání nových feature během refaktoringu
  • Nejsou lidi
  • Úprava GUI
  • Budoucnost 🤖

Je to trochu pohled do zákulisí toho co se děje na Mimibazaru a proč. Mimibazar je projekt, kterému věřím a současný majitel to s ním (Mimibazarem) a refaktoringem myslí vážně. Bohužel nikde není moc komunikováno, jaké problémy nás vývojáře, při tak „banálních“ změnách potkaly, potkávají a možná ještě budou potkávat. Co a jak se technicky a technologicky mění, vyplešuje, zrychluje nebo proč jsme se museli s nějakými drobnostmi rozloučit.

V současné době se o Mimibazar stará relativně malý tým vývojářů (před pár lety byl ještě menší), který by klidně uživil ještě jednou tolik lidí. Množství práce je a bude opravdu hodně.