Seznam mobilních aplikací zjevně vytvořených webdevelopery

Jak jsem již před nějakou dobou slíbil, nastal čas konečně zkompilovat všechnu tu webdeveloperskou lůzu do jednoho kompaktního přehledu. Tento průběžně aktualizovaný článek obsahuje seznam mobilních aplikací, které jsou vděk využití zcela debilního frameworku React Native uživatelsky odpudivé na čemkoli, co není nejnovější iPhone. Než se na to ale vrhnu, ještě sem pro jistotu vložím několik odstavců, o čem to vlastně je.

Na světě jsou dva druhy lidí – ti, kteří neprogramují mobilní aplikace v JavaScriptu a ti, kteří po zasloužené smrti shoří v pekle. Zcela ohavný trend přepisování aplikací do „cross-platform“ webových frameworků, který postupně vytlačuje true-native programování z mobilní sféry, se objevil vcelku nedávno (dal bych bolševikovi pět let, maximálně šest) – a důvod je bohužel logický. Kdysi si na omezených mobilních platformách programátor nemohl dovolit jen tak leccos, ale co naplat, hardware se za uplynulou dobu značně vyvinul. Časy, kdy jsme žasnuli nad gigabajtovým objemem operační paměti na přenosném zařízení, jsou dávno pryč, což má, jak je již u líných vývojářů zvykem, jednoznačný důsledek – namísto softwarové optimalizace zkrátka na problém házejí více hardwaru, doufajíce, že to uživatel nepozná.

Pravda, do jisté míry si takovéto okliky koncový uživatel vskutku nevšimne, má-li alespoň kvazinovější zařízení. Samozřejmě bych si tu teď mohl stěžovat, že není sebemenšího důvodu, proč by i můj tablet z roku 2012 s několikagigahertzovým procesorem (ano, to jsou miliardy úderů systémových hodin za sekundu) a jedním gigabajtem operační paměti (ano, to je miliarda bajtů – vážně to dneska lidem připadá málo?), neměl být schopen rozběhnout aplikaci s jízdním řádem, ale připustím, že se jedná o velmi krajní případ a nechám to být. K ilustraci problému totiž zcela postačí můj daily driver – má někdejší vlajková loď LG G6 tu s námi sice již je nějaký ten pátek, ale prohlížení internetovin a psaní zpráv zvládá na jedničku… ovšem pouze do chvíle, kdy se v balíčku řečené aplikace pro psaní zpráv objeví obávaná sdílená knihovna React Native.

Tenhle paskvil mobilního programování pochází z dílen Facebooku. Leč nenechte se zmást, problém React Native překvapivě nespočívá v tom, že se zrodil v lůně Zuckerbergově, ale v tom, že je jednoduše nenapravitelně zkurvený (a jakkoli nesnáším Facebook, musím podotknout, že se nutně nejedná o implikaci, třeba jejich kompresní knihovna zstd není vůbec špatná). V jedné větě by se to dalo jednoduše shrnout výrokem, že cokoli napsané v RN poběží na průměrném zařízení znatelně pomaleji a méně responzivně než true-native aplikace. Chcete-li však konkrétní případ, prosím: aplikace komunikační platformy Discord používá RN na zařízeních s operačním systémem iOS již několik let, avšak na Androidu se tak stalo pouze nedávno. Důvod? Interní testování v roce 2018 ukázalo, že je výkon aplikace na průměrném zařízení s Androidem zcela otřesný. Leč za čtyři roky se průměr trochu posunul nahoru, a tak si vývojáři řekli, že to zkrátka uživatel bude muset překousnout a nahradili svižnou true-native aplikaci nynější webovou monstrozitou. Důsledek? Používám místo ní klienta v Chromu, neboť není o nic pomalejší.

Nu a proč tedy všichni na ten imbecilní React Native přecházejí? Odpověď by nemohla být jasnější – peníze!

  • Aplikace v React Native lze více či méně napsat jednou pro obě stěžejní mobilní platformy. Firmy tak nemusí zaměstnávat dedikované vývojáře pro každou z nich.
  • Programy se píší v JavaScriptu + Reactu, což je pro spoustu pseudoprogramátorů takřka mateřský jazyk.
  • JavaScript vývojáři jsou obvykle úplně vymatlaní (a ti z nich, kteří nejsou, se neidentifikují jako JavaScript vývojáři), tudíž se často vybodnou na vysokou školu a firmy si jim ve výsledku mohou dovolit platit méně.

Ale konec už řečí! Pokochejte se:

Zeď hanby

  • Musescore (zatracena od počátku věků)
  • Skype (R.I.P. 2010 – 2017 | poslední neposraná verze 7.46.0.596, bohužel již nefunkční)
  • Steam (2012 – 2022 | poslední neposraná verze 2.3.13)
  • Discord (2015 – 2022 | poslední neposraná verze 126.21)
  • Microsoft Teams (2016 – 2017 | poslední neposraná verze (bohužel, na APKMirror jich moc není) 1416/1.0.0.2017060603, dnes již nefunkční)
  • Update 2023/01/07: ALIVE APP (zatracena od počátku věků, nepletu-li se)
    • Update 2024/01/14: Už je to nějaká doba, ale zapomněl jsem to aktualizovat. Verze 2.0 této aplikace byla kompletně přepsaná do nativního kódu a nyní běží skvěle! Takových změn k lepšímu dnes vídám málo.
  • A samozřejmě všechno tady (to je poděs, oni se tím ještě chlubí): https://reactnative.dev/showcase

Ještě pár extras na konec – aplikace, které sice nejsou v Reactu, ale jsou podobně zoufale naprogramované:

Zeď hanby i bez Reactu

  • Signal
  • Mapy Google, všechno z Google Workspace, Google Play Store, Google Translate, Android kalkulačka (cca. od té doby, co to má ty strašné nové ikony)
  • Smart Banka (ta stará verze byla super, ale v tomhle případě nebudu riskovat)
  • Reddit

A jen tak pro radost – aplikace, které jsou naopak stále svěží (bohužel jich ubývá):

Síň slávy

  • FX File Explorer – dělá, co má, a dělá to rychle, což je dnes velmi vzácné.
  • Viber – od verze 10 nahoru už sice není tak svižný, jak býval (dnes jde zkrátka všechno o krok dopředu a o dva dozadu), ale dosud podporuje Android 4.1, což cením.
  • Telegram – co jsem koukal do zdrojáku, je to pěkný bordel, ale běží pěkně.
  • VLC Media Player – konzistentně skvělý bez regresí.
  • Jolanda – snad není třeba komentovat.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.