Zpátky na blog

Jak využít ChatGPT ke zrychlení vývoje aplikací pro Android

5. 4. 2023 | Dactyl Group, Mike

Zajímáte se o vývoj mobilních aplikací? Nebo se dokonce podílíte i na jejich tvorbě? Pak máte poměrně dobrou představu, kolik času a úsilí vyžaduje samotný vývoj i následná údržba. Proč ale přešlapovat na jednom místě, když máme k dispozici moderní technologie a umělou inteligenci? Předvedeme vám, jak ChatGPT dokáže usnadnit vývoj aplikací v praxi!

Přelom ve vývoji aplikací nese jméno ChatGPT

O tomto chatbotovi jste už určitě alespoň zaslechli. Ne? Chválu nachází často v oblasti IT, ale pole působnosti má téměř neomezené – od marketingu přes výrobu až po vývoj aplikací. My vám ukážeme, jak tento užitečný nástroj dokáže vytrhnout trn z paty i těm nejlepším vývojářům.

Než se pustíme do ukázek, připomeneme si, co to ChatGPT vlastně je.

ChatGPT je nejmodernější jazykový model od OpenAI, který dokáže vývojářům pomoct efektivním generováním kódu, textu uživatelského rozhraní nebo technické dokumentace.

Jak umělá inteligence dokáže zrychlit a optimalizovat vývoj aplikací pro Android?

V článku vám schopnosti moderního nástroje předvedeme rovnou na 7 příkladech z praxe v oblastech:

  • Generování kódu
  • Text uživatelského rozhraní
  • Dokumentace
  • Oprava chyb
  • Testovací případy
  • Optimalizace kódu
  • Integrace s dalšími nástroji

AI and App development (Android)

Využití umělé inteligence při generování kódu

Jednou z nejzásadnějších funkcí pro vývoj Android aplikací je její schopnost generovat kód – například Kotlinu. Taková pomoc se hodí hlavně tehdy, když s projektem teprve začínáte a potřebujete nastavit základní CRUD (Create → Read → Update → Delete).

Můžete si nad tím lámat hlavu několik hodin, nebo úkolem pověřit ChatGPT, který potřebný kód vygeneruje dřív než řeknete „API”.

Vytváření kódu chatbotem je možné využít pro všechny běžné programovací úlohy, jako je vytváření datových modelů a mapovacích nástrojů.

Ukážeme vám to na jednoduchém příkladu.

Vývojář Emil pracuje na novém projektu v rozhraní API. Nutně potřebuje vytvořit objekt pro přenos dat (DTO) použitelný s knihovnou (Retrofit) a odpovídajícím modelem domény. Sice to dobře umí, ale také ví, že to bude pěknou chvíli trvat. Ale nemusí. ChatGPT celý proces urychlí – zvládne vygenerovat kód pro DTO i doménový model včetně mapperu pro vzájemný převod.

Code generation using ChatGPT

Generování kódu pomocí ChatGPT

Celý proces – včetně ručního psaní DTO – je pro vývojáře zbytečně časově náročný úkol. Nebo spíš byl. ChatGPT totiž nabízí čistý a čitelný kód, zatímco dodržuje osvědčené postupy. Univerzální nástroj zvládne vygenerovat entity Room, rozhraní DAO (Data Access Object), volání CRUD apod.

Zkrátka naprostý must-have doplněk pro Android vývojáře!

Generování textu uživatelského rozhraní 

Ruční vypisování štítků se rychle omrzí. Zvlášť, když má vývojář další a daleko důležitější věci na práci.

I tuto část vývoje můžete přenechat umělé inteligenci. Ať už se jedná o popisky tlačítek a formulářů, chybová hlášení, nebo jiné prvky uživatelského rozhraní. Stačí dobře formulovaný příkaz.

Creating labels for the shopping app

Vytváření štítků pro nákupní aplikaci

ChatGPT zvládne úplně sám vygenerovat vhodné štítky i další texty uživatelského rozhraní, které budou odpovídat stylu aplikace. Vývojář znovu ušetří čas, zatímco se může zaměřit na práci, která primárně vyžaduje jeho pozornost.

Dokumentace nikdy nebyla jednodušší

Umělá inteligence se může proměnit v nenahraditelného pomocníka i při tvorbě technické dokumentace.

Vžijeme se znova do Emilova projektu.

Emil neúnavně pracuje na nové funkci pro svou aplikaci a potřebuje zdokumentovat koncový bod API. Zase jde o časově náročnou činnost, kterou navíc ztěžuje práce se složitým a nepřehledným systémem. ChatGPT Emilovi už jednou pomohl, takže ho použije i tentokrát.

Takhle vypadá jednoduchý příkaz Vytvoř dokumentaci API pro koncový bod 'create user' v praxi:

Quick and clear documentation

Rychlá a přehledná dokumentace

Okamžitý bugfix a snadné formátování

Chyby formátování při zpracovávání řetězců dat nejsou žádné tabu. Prostě se to občas stane. Bohužel ani s perfektní strukturou dat není vždy jednoduché skrytého šotka hned najít. Může se jednat jen o drobný překlep.

A tušíte správně, i tady nám pomůže ChatGPT. Z pouhého příkladu dat zvládne vygenerovat adekvátní a bezchybný formátovací řetězec.

Zase to hodíme na Emila.

Ten se tentokrát se snaží analyzovat řetězec dat ze serveru, který je ve formátu yyyy-MM-dd'T'HH:mm:ss. Přestávka na kafe ho ale na chvíli rozptýlila a při parsování nasekal několik chyb. A teď, jak je najít… Pokud máte s touto prací nějaké zkušenosti, určitě víte, že je tento formát čitelný asi jako šifra mistra Leonarda.

Podívejte se, jak to vyřeší chatbot.

A brief example is enough for a correct solution

Pro správné řešení stačí stručný příklad

A správný řetězec je na světě. Snadné, že?

Testovací případy za každé situace

Chatbot nabídne pomocnou kybernetickou ruku i při testování. Dokonce zvládne vytvořit testovací případy pro nejrůznější scénáře, aby se zabránilo možným problémům.

Tohle Emil zvládne, ale noví vývojáři se při práci na složitějším kódu mohou pěkně spálit.

Vžijme se do situaci, ve které zrovna probíhá práce na nové funkci pro ověřování hesel. Funkční signatura pak vypadá třeba následovně.

Example of a function

Příklad funkce

ChatGPT pro danou funkci vytvoří testovací případy včetně očekávaných výsledků. Jak to vypadá v praxi?

ChatGPT in testing

ChatGPT při testování

Uvedené testovací případy se týkají (ne)platných hesel. Bude to fungovat? Nebude? A proč ne? Na příkladu funkce validatePassword můžete sledovat, že chatbot při samotném testování potvrdí i očekávané výsledky.

No není to paráda?

Optimalizace kódu pomocí ChatGPT

A co třeba redukce zbytečného vytváření objektů, zlepšení správy paměti, snížení počtu volání externích knihoven… zkrátka vše, co zvýší rychlost a efektivitu aplikace?

ChatGPT při vývoji aplikace pro Android pomůže i se samotnou optimalizací kódu. Předvedeme vám to na příkladu načítání obrázku z URL adresy. Při využití aplikace Glide může vývojář provést hned několik volání knihovny pro ten samý obrázek.

To jde ale jednoduše optimalizovat.

Chatbot can suggest an ideal solution

Chatbot zvládne navrhnout ideální řešení

V původním kódu jsou pro stejný obrázek dvě samostatná volání do knihovny Glide. Optimalizovaná varianta kódu sníží počet volání opakovaným použitím totožného požadavku pro imageView i imageView2. Čeho tím dosáhneme?

Aplikace bude ve výsledku méně objemná a také výkonnější.

Umělá inteligence pomáhá s optimalizací na všech frontách. Identifikuje nevyžádané smyčky ve vytváření objektů, nabídne řešení, ale také pomůže najít příčinu problémů s pamětí a navrhne, jak omezit její úniky.

Integrace s dalšími nástroji

ChatGPT sám o sobě nativně nepodporuje aplikaci Android Studio, ale to není velká překážka. Existují totiž další nástroje, které se o integraci postarají.

O integraci možností chatbota přímo do rozhraní Android Studia se postará zásuvný modul pro generování kódu. Oblíbeným příkladem je modul Kotlin Android Code Generator. Propojení je poměrně jednoduché a stačí k němu jen pár kroků:

  • Instalace zásuvného modulu z tržiště Android Studio
  • Konfigurace nastavení modulu pro vytváření kódu
  • Použití dostupných šablon pro generování kódu modulu
  • Integrace získaného kódu do samotného projektu

A je to!

Jako vývojáři můžete bezstarostně generovat šablony kódu, testovací případy i optimalizované fragmenty kódu. A nejlepší na tom je, že vůbec nemusíte opouštět vývojové prostředí.

Dalším příkladem je rozhraní příkazového řádku, které umožňuje využívat ChatGPT prostřednictvím terminálu.

Vývojáři tak mohou (například skrze KotlinPoet) generovat kód z chatbota a integrovat ho rovnou do projektů v Android Studiu.

Integrace se vývojářům Androidu nabízí na každém rohu. A takový doplněk by neměl chybět v sadě nástrojů žádného vývojáře.

Co si z tohoto článku odnést?

ChatGPT není jen užitečný nástroj, ale také šikovný pomocník, který spoustu úkonů zvládne prakticky úplně sám – s nějakou tou minimální asistencí. Jeho největší předností je určitě rychlost a malá chybovost. Ale i tak pozor, ne úplně každé řešení je správné.

V našem povídání a výčtu příkladů z praxe jsme si ukázali nejdůležitější oblasti, ve kterých umělá inteligence umožňuje efektivně pomoct vývojářům Androidu a jejich práci navíc ještě vyšperkovat.

Proč teda zahrnout ChatGPT i do vašeho vývoje?

  • Šetří čas. Opravdu! Musíte ho sami vyzkoušet.
  • Zbaví vás rutinních úkolů. Energii můžete vynaložit tam, kde je jí třeba.
  • Udělá za vás spoustu práce – a někdy i lépe (až na nějaké mouchy). Člověk prostě není stroj. Chatbot na druhou stranu… 
  • Můžete ho integrovat přímo do svých projektů.

Tak na co ještě čekáte?

Líbil se vám náš článek? Pokud vám to nedalo a šli jste ChatGPT hned vyzkoušet, tak splnil svůj účel. Máte nějaké další otázky? Chtěli byste vymazlenou aplikaci, na které se podepíše tým zkušených vývojářů a nejmodernější technologie? Napište nám!

Článek pro vás připravil náš zahraniční kolega Mike.

Sdílet
Odebírat