Editing
První kroky k tvorbě aplikací pro Android
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
<br>Pro malé projekty s jedním klientem a jednoduchými daty zvolte REST. Je to méně kódu, méně nástrojů a snadnější ladění. Pro komplexní API, které obsluhuje různé platformy a vyžaduje flexibilitu, je GraphQL lepší. Flexibilita ale přináší zodpovědnost – bez pečlivé kontroly schématu a výkonu se vám rychle vymkne z rukou.<br><br>Další častou chybou je testování více věcí v jedné metodě. Pokud test obsahuje tři různé Asserts a první selže, ostatní se neprovedou, a vy tak nezjistíte, co dalšího je rozbité. Rozdělte test na tři samostatné metody, každou s jasným názvem. Názvy testů by měly popisovat chování, ne implementaci. Například místo Test1 použijte Add_NegativeNumbers_ReturnsNegativeSum. Tento název hned napoví, co test ověřuje. Kromě toho se vyplatí testy psát tak, aby byly nezávislé na konkrétní kultuře nebo časovém pásmu. Pokud testujete formátování data, explicitně nastavte kulturu pomocí CultureInfo.InvariantCulture, jinak se test může chovat odlišně na různých počítačích.<br><br>Na závěr si nastavte proces, který vám usnadní budoucí změny. Verzujte překladové soubory stejně jako kód a při každé úpravě přidejte komentář, co se změnilo. Používejte nástroje na správu překladů, které umožňují týmovou spolupráci a historii změn. Tím se vyhnete situaci, kdy někdo přepíše anglický text a český zůstane starý. S trochou disciplíny se vícejazyčný projekt stane přehledným a snadno udržovatelným.<br><br>Na závěr si osvojte pravidlo: testy jsou také kód, a proto by měly být čisté a čitelné. Nepoužívejte v nich složité logické konstrukce, které by vyžadovaly ladění. Pokud test selže, měli byste být schopni to zjistit během pár sekund. Komentáře v testech používejte střídmě, nejlépe pouze pokud vysvětlují neobvyklý případ. Pravidelně spouštějte celou sadu testů, ideálně po každé změně kódu. NUnit vám nabízí pokročilé funkce, jako je paralelní spouštění nebo kategorie testů, ale začněte s jednoduchostí. Dobře napsané testy jsou investice, která se vám vrátí při každém refaktoringu nebo přidávání nových funkcí.<br><br>Jak na dynamické texty a pluralizaci Pozor [https://mdma.noosworx.com/index.php?title=Testov%C3%A1n%C3%AD_reducer%C5%AF_a_async_akc%C3%AD_bez_integra%C4%8Dn%C3%ADho_prost%C5%99ed%C3%AD nábytek na míru] věty, které obsahují čísla nebo proměnné. Česká skloňování a anglické množné číslo se liší, takže obyčejný string s placeholderem nestačí. Použijte knihovnu, která podporuje pluralizaci podle pravidel jazyka – třeba s výběrem mezi „1 položka", „2 položky" a „5 položek". Pokud takovou podporu nemáte, vytvořte si vlastní funkci, ale nikdy neskládejte věty jako „Máte X nových zpráv" pomocí spojování řetězců. V některých jazycích to bude gramaticky špatně.<br><br>Nezapomeňte, že obě technologie můžete kombinovat. Například REST pro veřejné vizuální stránky, GraphQL pro interní nástroje a mobilní appku. Klíčové je nepodléhat módním vlnám a [https://www.nuwireinvestor.com/?s=vybrat%20n%C3%A1stroj vybrat nástroj] podle reálných požadavků projektu. Testujte obě varianty na malém vzorku – změřte čas odezvy, velikost payloadu a náročnost údržby. Teprve pak se rozhodnete.<br>Kdy přejít na GraphQL a co si pohlídat GraphQL se vyplatí, když máte více klientů (mobilní aplikace, web, třetí strany) s odlišnými požadavky na data. Místo mnoha endpointů definujete schéma, a klient si specifikuje, co přesně potřebuje. To šetří přenos dat i počet requestů. Typický use case: dashboard, kde každá část zobrazuje jiné agregace. Začněte s nástrojem jako Apollo nebo Relay, ale nejdřív si rozvrhněte typy a vztahy – špatné schéma se později těžko mění. Pozor také na tzv. N+1 problém: bez optimalizace (např. DataLoader) může jeden dotaz vygenerovat desítky SQL dotazů.<br><br>Pro začátek si nainstalujte oficiální vývojové prostředí, které je zdarma a obsahuje vše potřebné. Po jeho spuštění vytvořte nový projekt s prázdnou aktivitou. Tím získáte funkční kostru aplikace. Důležité je pochopit, že Android používá jazyk Kotlin, který je moderní a stručnější než starší Java. Pokud neznáte žádný programovací jazyk, věnujte nejdřív dva až tři týdny učení syntaxe Kotlinu. Jakmile zvládnete proměnné, podmínky a funkce, můžete přejít k práci s uživatelským rozhraním.<br><br>Při návrhu API narazíte na dvě hlavní cesty: REST a GraphQL. Každá má své silné stránky, ale i pasti. Místo abstraktních teorií se podívejme, kdy která volba dává smysl, na co si dát pozor a jaké chyby dělá většina týmů.<br><br>Když v jednom projektu kombinujete češtinu, angličtinu a třeba němčinu, rychle zjistíte, že hlavní problém není psaní textů, ale jejich údržba. Bez jasného systému se vám kód promíchá s překlady a každá změna zabere trojnásobek času. Základem je oddělit obsah od logiky – texty patří do externích souborů, In case you loved this short article and you would want to receive more info relating to [http://Miklagaard.no/index.php?title=Jak_rozum%C4%9Bt_NoSQL_a_kdy_ho_nasadit celý text] generously visit the web-site. ne přímo do zdrojového kódu. Tím získáte možnost měnit překlady bez zásahu do programátorské části.<br>
Summary:
Please note that all contributions to IT-Core are considered to be released under the GNU Free Documentation License 1.3 or later (see
IT-Core:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information