Futured Blog
App News – listopad 2023
Přinášíme největší technologické novinky ze světa vývoje mobilních a webových aplikací, které v říjnu zaujaly naše týmy.

iOS & Apple

M3 čipy. Společnost Apple představuje M3, M3 Pro a M3 Max, tři čipy s průlomovými technologiemi, které přinášejí výrazně vyšší výkon a otevírají nové možnosti pro Macy.

Nová generace čipů představuje největší skok v grafické architektuře Apple silicon. Jsou vybaveny funkcí Dynamic Caching, která na rozdíl od tradičních GPU alokuje využití lokální paměti v hardwaru v reálném čase, a tedy pro každou úlohu používá pouze přesně dané množství paměti.

Untitled-11.png

Daňové kategorie. Jak už je zvykem, Apple upravuje příjmy z prodeje aplikací v App Store a z prodeje obsahu přímo v aplikaci. Tentokrát kromě úpravy sazby v některých zemích, jako je Rakousko, Kypr a Vietnam, přidal také zcela nové kategorie a atributy, do kterých můžete své aplikace zařadit.

  • Kategorie Boosting: aplikace a/nebo nákupy v aplikacích, které nabízejí prostředky k zajištění expozice, zviditelnění nebo zapojení pro zvýšení významu a dosahu konkrétního obsahu, který je v aplikaci používán nebo konzumován
  • Atribut pro knihy: učebnice nebo jiné vzdělávací publikace používané pro výuku a studium ve věku od 5 do 18 let
  • Atributy pro videa: výhradně obsahuje živé televizní vysílání a/nebo lineární program, veřejnoprávní televizní vysílání, s výjimkou nákupních nebo reklamních kanálů

TestFlight. TestFlight poskytuje snadný způsob, jak získat zpětnou vazbu k beta verzím aplikací, abyste je mohli bez obav publikovat v App Store. Vylepšené ovládací prvky v aplikaci App Store Connect nyní umožňují lépe vyhodnocovat zapojení testerů a řídit jejich účast, abyste z beta testování vytěžili maximum. Třiďte testery podle stavu a ukazatelů zapojení a odstraňte neaktivní testery, kteří se nezapojili. Můžete také filtrovat podle zařízení a operačního systému a dokonce vybrat relevantní testery, které přidáte do nové skupiny.

Grafy ve SwiftUI. Swift Charts je framework pro vizualizaci dat, který lze použít s rozhraním SwiftUI k vytváření výkonných přizpůsobitelných grafů. Pomocí různých modifikátorů lze přepsat výchozí chování a přidat animace.

Untitled-12.png

AirTag. Apple vydal nový firmware pro AirTag, jehož aktualizace se postupně v průběhu měsíce rozšíří do všech sledovacích zařízení. Zatím není jasné, co se mění kromě obvyklých oprav chyb a zlepšení výkonu. Poslední významná aktualizace proběhla v prosinci 2022, kdy byla opravena chyba akcelerometru.

Google & Android

Android 14 v AOSP. Pojďme si projít pár změn v systému, který už ve své čtrnácté verzi najdete i v open-source projektu AOSP. Některé novinky jsme již v App News rozebírali během vydávání předprodukčních verzí Androidu 14, ne však všechny. Obecně se hlavní změny týkají bezpečnosti, výkonu, produktivity, upravitelnosti, multimédií a uživatelské zkušenosti.

V poslední době se často zmiňuje, že Android už funkčně dospěl, takže jsme ani zásadní nové funkce neočekávali.

Konkrétně jde o optimalizaci práce s pamětí i CPU pomocí tzv. zmrazení aplikací na pozadí. To má přinést 50% snížení využití CPU procesů na pozadí a až o třetinu nižší počet studených startů aplikací. Lepší upravitelnost se tentokrát dotkla češtiny, skloňovací API umožňuje používat odlišné stringy podle pohlaví. Podobně půjde také lépe pracovat s regionálním nastavením jako jsou jednotky teploty nebo první den v týdnu. Dočkali jsme se novinek u mediálních formátů, ultra HDR obrázky a přehrávání bezztrátového audia. Rozšířili se možnosti v Camera Extension API pro integraci fotoaparátu do aplikace, včetně například algoritmů pro noční režim.

Untitled-13.png

Passkeys. Revoluce v přihlašování je, zdá se, tady. Od 1. listopadu si už nebudeme muset pamatovat přihlašovací hesla, tedy alespoň u služeb a aplikací, které využijí passkey. Má jít nejen o usnadnění pro uživatele, ale také zjednodušení práce pro vývojáře díky podpoře nového API Credential Manageru. V neposlední řadě dělá využití biometrických senzorů z tohoto způsobu přihlašování bezpečnější možnost než byla dosavadní hesla. Credential Manager umožňuje také využití externích správců hesel, takže nemusíme přijít ani o svůj 1Password nebo Bitwarden. Více o samotné technologii passkey se dočtete v tomto článku.

Untitled-14.png

Snapdragon Seamless pro Android a Windows. Nedávný Snapdragon Summit rozvířil vody hned v několika směrech. Představená technologie Seamless funguje podobně jako proprietární Samsung Flow a Apple Continuity pro propojení práce na více zařízeních. Podporuje například i takové libůstky jako přetahování okna běžící aplikace mezi Androidem a počítačem s Windows. Používání periferií a sluchátek by mělo být sdíleno pro všechna vaše zařízení. Díky platformě Qualcommu, jehož čipy najdeme kromě telefonů na různých typech zařízení, sluchátkách nebo VR brýlích, může jít brzy o technologii s plošnou podporou. Otázkou zůstává, zda oznámená spolupráce s Microsoftem bude znamenat i zpětnou podporu pro starší počítače. Další partneři jsou zatím Google, Asus, Xiaomi, Lenovo, Oppo a Honor.

Qualcomm pokračoval představením nového HW. Největší pozornost nejspíš sklidil Snapdragon X Elite, který výkonově dorovnává aktuální špičku jak v nabídce Intelu, tak Applu. Z toho je ale jasné, že nejde o čip, který bychom měli očekávat v mobilních telefonech. Naopak nový Snapdragon 8 Gen 3 se brzy dostane do mnoha telefonů a nepřekvapivě ve výčtu vylepšení dominuje AI. On-device AI přináší ale i čipy pro sluchátka Qualcomm S7.

Kromě ARMových SoC se dostalo i na RISC-V, kde Qualcomm prozradil, že spolupracuje s Googlem na vývoji platformy RISC-V. Společně plánují větší nasazení pro chytré hodinky. Komerční představení by mělo proběhnout dohromady s budoucí verzí Wear OS. Proč chce (nejen) Qualcomm menší závislost na ARMu, se můžete dočíst v tomto článku. K tématu Androidu a RISC-V se nově vyjádřil i Google na blogu.

Google Play AI Flag. Možná už jste si všimli výzvy Googlu, abyste pro svou aplikaci doplnili informaci, zda využívá generativní AI. Jestli ne, tak to radši zkontrolujte.

KMP

Kotlin 1.9.20. Nová verze Kotlinu už je tady a přináší nám skvělou zprávu: Technologie Kotlin Multiplatform je povýšena do stavu Stable a je stoprocentně připravena pro produkční prostředí. To je obrovský skok, na který se dlouho čekalo. Mimo to, tato verze obsahuje zajímavé featury. Jednou z nich je nový memory allocator, ten zefektivňuje alokování několika bloků paměti zároveň. Bloky mohou mít různou velikost, což zajišťuje flexibilitu do budoucna pro další optimalizaci, a tím i lepší výkon.

Dále nabízí podporu Xcode 15 pro Kotlin/Native, takže už se nemusíte bát updatu. Velmi uvítáte i podporu pro Gradle configuration cache a inkrementální kompilaci Klib artefaktů, která vám zrychlí opakované buildy multiplatformních aplikací.

Multiplatform survey. Chybí vám něco na technologi KMP? JetBrains tradičně posílají do komunity dotazník pro uživatele Kotlin Multiplatform. Teď je ten správný čas, kdy si můžete postěžovat, ale i pochválit nebo požádat o vylepšení. My jsme tentokrát poprosili o přímý interop se Swiftem. Dotazník je krátký, zabere vám maximálně deset minut a navíc můžete vyhrát zajímavé ceny.

Kdoctor. Pokud právě začínáte s technologií KMP a potřebujete si nastavit potřebné vývojové prostředí, Kdoctor je přesně pro vás. Je to jednoduchý nástroj pro příkazovou řádku, který zkontroluje váš systém a vypíše vám, co ještě potřebujete nastavit nebo doinstalovat, abyste mohli naplno tvořit multiplatformní aplikace. Kdoctor je dostupný přes populární balíčkovací manager Homebrew nebo si ho můžete sami zbuildit přímo ze zdrojáku na Githubu.

Kotlin-docC. Věděli jste, že můžete přidat Kdoc komentář ke Kotlin kódu a ten bude viditelný i z iOS strany ve vygenerované Obj-C hlavičce? Stačí přidat argument "-Xexport-kdoc" pro Kotlin/Native kompilátor. Někdy je ale složité se vyznat v obsáhlém hlavičkovém souboru, i když pečlivě používáte internal modifikátor nebo anotaci @HiddenFromObjC, proto je tu Gradle plugin Kotlin-docC, který vám pomůže vygenerovat krásnou DocC dokumentaci pro sdílený kód. DocC je standard využívaný pro Swift dokumentaci, takže věříme, že bude pro iOS vývojáře skvěle čitelný a pomůže jim lépe se orientovat ve sdíleném kódu vygenerovaném z KMP.

Roman Elizarov. Ikona Kotlin týmu Roman Elizarov se rozhodl z osobních důvodů skončit v JetBrains. Jistě ho znáte nejen kvůli implementaci Structured concurrency vzoru pomocí Coroutines. Dnes si asi nedokážete představit programovat bez nich, a proto i my srdečně děkujeme za obrovský přínos pro jazyk Kotlin a jeho komunitu. Doufáme, že toto rozhodnutí bude jen dočasné.

Web

Next.js 14. Na konferenci Next.js Conf bylo oznámeno vydání Next.js verze 14, která přináší následující vylepšení a novinky:

  • Turbopack. S novým kompilátorem se podařilo dosáhnout rychlejšího startu lokálního serveru o 53,3 % a o 94,7 % rychlejší refresh modulů. Aktuálně je hotovo přibližně 90 % testů, a při dosažení 100 % se dočkáme stabilní verze Turbopacku.
  • Stabilní verze Server Actions. Jde o serverové funkce, které lze volat přímo z React komponent bez potřeby vytvářet API routy jako dosud. Při použití Typescriptu poskytují i plnou typovou kontrolu a lze také zakomponovat cachování či revalidaci dat.
  • Částečné předrenderování (preview). Rychlé načítání statického obsahu s následným streamováním dynamického obsahu.
  • Next.js Learn: Bezplatný kurz o Next.js.

Node.js 20 se stává novou LTS verzí. Verze 16 se dostala do fáze End-of-Life, a tedy doporučujeme upgradovat vaše servery a kontejnery. Více o verzi 20 si můžete přečíst zde a o konci podpory pro verzi 16 zase v tomto článku.

Vyšla verze 4.0 Yarnu. Tato populární alternativa k npm přináší v nové verzi tzv. Hardened mode, který zlepšuje ochranu před různými bezpečnostními problémy a slibuje vylepšený výkon, který se blíží další populární alternativě pnpm. Nutno také podotknout breaking changes, které mohou způsobit problémy při upgradu na tuto verzi, jako je například kompatibilita s Node.js ve verzi 18 a vyšší. Další informace si můžete přečíst v oficiálním článku na blogu.

Divácký tip: Máte už dokoukané všechno ve svém filmovém deníčku a přemýšlíte, jak strávit romantický večer u televize? Zkuste se podívat na dokument TypeScript Origins: The Documentary.

Design

Redesign Slacku.  Slack nedávno prošel svým prozatím největším redesignem. Platformu, kterou u nás (díkybohu 🖤) používáme k interní komunikaci a čím dál tím častěji i ke komunikaci s klienty, asi netřeba představovat. Slack na svém webu dedikovanému designu s příznačným podtitulkem Not-so secret-diary přibližuje hlavní designové změny platformy, jejich důvody a záměry. Nutno podotknout, že je přibližuje skvělým způsobem a my doporučujeme pročíst i starší příspěvky.

I tentokrát nám tedy Slack dovolil nahlédnout do procesu celého redesignu. Ve změti nových features, kterými Slack obohacoval svou platformu, přišel poměrně silný feedback hlavně od větších týmů k nepřehlednosti navigace a tomu, že i když má Slack pořád víc a víc co nabídnout, lidem se špatně orientuje i v těch nejzákladnějších funkcích, takže se často k těm dalším ani nedostanou. Slack při redesignu využil velkého testování. Na přípravě konceptů nepracovali pouze designéři, ale více rolí. Důležité při práci byly pravidelné meetingy s vývojáři už v raných fázích tak, aby se co nejdříve podchytili směry, které implementačně nedávaly smysl a tým se mohl soustředit na ty, které byly naopak relevantní.

Prostor věnoval také mobilní verzi aplikace, u které Slack na základě výzkumu řešil 3 hlavní výzvy:

  • zjednodušení navigace v omezeném prostoru mobilního zařízení
  • škálovatelnost do budoucna
  • jak uživatele navrátit do určitého bodu, se kterým nedávno interagovali a celkově vyhledávání specifických informací

Při redesignu tak byly hlavními změnami struktura headeru a tab baru:

Untitled-15.png

Dále rozšířené filtrování (na iOS zařízeních pomocí overflow menu, na Androidu v bottom sheetu) a ergonomická gesta, konkrétně swipe down, který vyvolá poslední konverzace, komentáře nebo jiný typ obsahu, ke kterému se uživatel potřebuje vrátit.

image.gif

Ačkoli Slack v procesu redesignu uznává kontinuální testování a velkou důležitost feedbacku a celkově názorů uživatelů, zároveň zdůrazňuje, že není možné ulahodit každému a adresovat úplně všechny komentáře nebo návrhy. Tím tak trochu dopředu zareagoval na vlnu negativních reakcí uživatelů, kteří s redesignem spokojení nebyli a raději by Slack vrátili do původního stavu. Ostatně u většího redesignu platforem s podstatnou uživatelskou základnou přichází kromě pozitivních komentářů vždy i hlasitá kritika.

QA

Testcon 2023. Od 25. do 27. října se ve Vilniusu konala konference Testcon, které jsme se účastnili. Hned úvodní Keynote od Finna Lorbeera z německé ridesharingové firmy MOIA byla zajímavá: Dozvěděli jsme se o problémech při praktickém testování sdílené jízdy během covidové pandemie a jak tato obtížná doba naučila tým z německého Hamburku zvládat neočekávané nástrahy.

Zaujala nás přednáška How Minimalism Helps Build High-Quality Products od Liny Zubyte o tom, že k dosažení kvalitních výsledků není potřeba fancy placených nástrojů a složitých procesů. Osvědčené přísloví, že méně je někdy více platí i v tomto případě.

Celá konference se nesla v přátelském a inovativním duchu a ukázala, že QA komunita rozhodně nelení a nezaostává a my se můžeme těšit na další ročníky.

IMG_9562.jpg

ISTQB. ISTQB vydala tři nové oficiální sady Vzorových zkoušek, které jsou určeny pro zájemce o certifikaci Certified Tester Foundation Level v4.0 (CTFL 4.0). Společně s ISTQB CTFL Syllabus v4.0 jsou tyto testy ideálním zdrojem pro přípravu na úspěšné dosažení certifikátu.

AI

ChatGPT (All Tools) je poměrně novým přírůstkem. Dříve jste v rámci ChatGPT mohli přistupovat k jednotlivým nástrojům samostatně. Chtěli-li jste generovat obrázek, spustili jste verzi s DALLE3 pro analýzu dokumentů verzi s Code Interpreterem a pro přístup k internetu verzi, která měla přístup na web. S příchodem GPT (všechny nástroje) to už není potřeba řešit. Během jednoho chatu můžete nahrávat dokumenty, obrázky, spouštět vyhledávání, generovat další obrázky. To otevírá zcela nové možnosti interakce s ChatGPT, než jak jsme je doposud znali.

Open-source komunita nezahálí a oproti přístupu OpenAI vznikají stále nové verze LLM, které mají tu velkou výhodu, že jsou zdarma dostupné veřejnosti. Tyto nástroje zdaleka ještě nedosahují schopností GPT-4, ale pomalu dohánějí GPT-3.5. Mezi ty, které stojí za zmínku, patří určitě Mistral 7b nebo Perplexity 7b/70b. Takové modely je možné spustit na vlastním hardware a přizpůsobit je svým potřebám prostřednictvím fine-tuningu.

Embeddings. Embeddingy jsou v současnosti velmi důležitou součástí ekosystému LLM. Jelikož samotné LLM mají omezenou délku textu, se kterou dokáží pracovat, je klíčové, abychom byli schopni dodávat potřebné informace v rámci tohoto textu. Pro obrovská množství dat to může být docela problematický úkol, protože najít správné informace je velmi důležité. Právě pro takové případy existují embeddingy a pro lepší porozumění doporučujeme tento článek.

–––

Novinky, které nás zaujaly v říjnu, pro vás připravili Šimon Šesták (iOS), David Kočnar (Android), Rudolf Hladík (KMP), Tomáš Knězek & Maroš Vasilišin (Web), Bára Celnarová (Design), Jan Drásal (QA) a Martin Sumera (Android, AI).