Blog o vývoji softvéru na mieru

Najrýchlejšia tvorba prvotriednych webových stránok.

Príťažlivý vzhľad, jednoduché ovládanie, dodržaný rozpočet a časový harmonogram.

Ako sa tvorí softvér – časť štvrtá – výkon

Nikto nemá rád, keď sa aplikácia vlečie ako slimák. Čím viac dát v aplikácii uložíte a čím viac užívateľov ju súčasne používa, tým sú kladené vyššie nároky na výkonnosť celej aplikácie. Ak podceníte pri vývoji práce spojené s výkonom aplikácie, môžete tým celý projekt pochovať.

Načo si dať pozor a aké nástroje a techniky použiť pre tvorbu rýchlych aplikácií sa dočítate v tomto článku.

Programovací jazyk

Výber programovacieho jazyka dokáže do veľkej miery ovplyvniť rýchlosť výslednej aplikácie. Čím menšia úroveň abstrakcie a čím bližšie je programovací jazyk ku strojovému kódu, tým rýchlejšia bude výsledná aplikácia.

Najlepší výsledok by ste dosiahli programovaním v assembleri. Na druhej strane takéto programovanie vyžaduje písanie oveľa väčšieho počtu príkazov, takže na tvorbu bežných aplikácií je to príliš náročné. Assembler sa používa skôr na rôzne doplnky, obslužné programy, ovládače a pod.

Programátor

Veľmi dôležitým článkom, ktorý zásadne ovplyvňuje výsledok je samozrejme osoba, teda programátor, ktorý aplikáciu vytvára.

Keď programátor píše riadky zdrojových kódov, musí mať stále na pamäti optimalizáciu pre rýchlosť. Pri každom cykle, metóde, volaní by sa mal zamyslieť nad tým, aké to bude rýchle, ak sa to použije za sebou miliónkrát a mal by myslieť na to, ako často sa dané miesto v programe použije. Najmä začínajúci programátori si tieto skutočnosti vôbec neuvedomujú.

Príprava projektu

Skôr ako sa pustíte do programovania, je dôležité poriadne premyslieť štruktúru aplikácie, štruktúru dát, spôsob komunikácie jednotlivých prvkov aplikácie atď. Táto prípravná fáza sa nazýva analýza.

Ak venujete analýze dostatok času, potom vlastné programovanie bude oveľa rýchlejšie. Ak si jednotlivé väzby a postupy vopred premyslíte a nakreslíte, vyhnete sa opakované prepisovaniu zdrojových kódov a samozrejme môžete vývoj aplikácie rozdeliť medzi viacerých vývojárov.

Na analýzu existujú rôzne metodiky, postupy, nástroje a konvencie zápisu analýz. Široko rozšíreným je napríklad využívanie UML jazyka na tvorbu analýz. Pri tvorbe veľkých projektov je nemysliteľné vrhnúť sa ihneď do programovania. Je to podobné ako pustiť sa do stavby domu bez projektovej dokumentácie.

V zásade platí, že pri tvorbe kvalitných aplikácií, tvorí vlastné programovanie menej ako 40% celkového času spojeného s vývojom aplikácie.

Profiling

Aj to najväčšie úsilie, najlepšia príprava a sústredenie nezaručia bleskurýchle aplikácie. Aj ten najlepší programátor nedomyslí úplne všetky detaily. Preto sa používajú za účelom optimalizácie rýchlosti programov a aplikácií rôzne pomocné nátroje.

Veľmi vhodnou pomôckou sú tzv. profilery. Profiler je pomocná aplikácia prostredníctvom, ktorej spúšťate vyvíjaný program a profiler vám dokáže zmerať časy jednotlivých činnností aplikácie a ukázať vám, ktoré miesta v zdrojových kódoch zaberajú najviac času. Na tieto miesta sa môžete potom sústrediť a hľadať spôsoby na ich vylepšenie.

Profiler môžete použiť nielen pre vlastné zdrojové kódy, ale napríklad aj pre prácu s databázou. Profiler vám pomôže odhaliť, ktoré dátové štruktúry nepracujú optimálne a u ktorých je vhodné pristúpiť k ich úpravám.

Ladenie a profiling aplikácií je samostatnou a veľmi dôležitou časťou vývoja moderných a rýchlych aplikácií.

Záťažové testy

Hotová aplikácia bude fungovať skvele, avšak zrazu pri náraste počtu používateľov môže nastať stav, že sa radikálne spomalí. Čakať, kedy takýto zlom nastane sa v praxi nevypláca, pretože si tým môžete pokaziť svoju povesť a prísť o zákazníkov.

Určite je lepšie takúto záťaž overiť niekde v laboratórnych podmienkach. Na tento účel sa používajú záťažové testy. Ich princíp spočíva v tom, že najskôr aplikáciu spustíte a nástroj pre záťazové testy si nahrá kroky, ktoré ste vykonali. Potom tento nahratý scenár použijete a vykonáte jeho spustenie súčasne niekoľkokrát. Robiť ručne sa to samozrejme nedá a preto na to existujú špecializované nástroje na záťazové testovanie.

Nástroje pre záťažové testovanie vám umožnia definovať počet súčasne pracujúcich užívateľov, výkonnosť ich počítačov, typ operačeho systému, typ prehliadača a pod.

Záťažové testovanie nie je vôbec jednoduchá a lacná záležitosť, ale je to nevyhnutnosť, ak uvažujete o tvorbe projektu pre tisícky používateľov.

Prevádzkové prostredie

Je jasné, že rýchlosť aplikácieje samozrejme ovplyvnená aj hardvérom, na ktorom aplikácia beží. Musíte preto brať do úvahy aj jednotlivé typy hardvéru, operačné systémy a ďalšie prvky prostredia, v ktorom bude výsledná aplikácia fungovať.

Každá aplikácia má zväčša definované minimálne a odporúčané nároky pre jej použitie.

Sledujte nás na sociálnych sieťach a nenechajte si ujsť ďalšie pokračovanie.

Ako zarábať online predajom (web, eshop, ...), nech predávate čokoľvek? Ako predávať viac a za vyššie ceny ako konkurencia? Ako vyliečiť stratový web a eshop? Ako nenaletieť na rozprávky tvorcom webov a markeťákom, ktorými Vás oberajú o peniaze?