Jak Apple zabil rozhraní před ostatními
Společnost extrémně ztížila používání webových technologií na svých platformách a doufá, že to vývojáři snesou.
Programovací jazyky pro tvorbu webových stránek se často používají k psaní aplikací. Hodně z toho souvisí se softwarem, který vývojářům umožňuje „znovu použít“ kód, který píší pro web, v produktech, které vytvářejí pro operační systémy, jako je Linux, Android, Windows a macOS.
Apple má ale důvod neradi znovu používat webové technologie. Chce, aby byl App Store plný exkluzivních aplikací, spíše než aby byl dostupný na každé platformě. Díky nedávné změně zásad společnost vývojářům trochu ztížila publikování aplikací, které obsahují webový kód.
Článek byl připraven za podpory společnosti EDISON Software, která vyvíjí systém elektronických lékařských prohlídek a poskytuje také softwarovou podporu.
App Store pomalu začal odmítat aplikace vytvořené pomocí oblíbeného nástroje zvaného Electron, který vývojářům umožňuje vytvářet všechny jejich aplikace ve webovém kódu. Do této kategorie spadají některé z nejpopulárnějších aplikací na App Store, jako je Slack, Spotify, Discord a WhatsApp.
V diskuzi na Github někteří vývojáři říkají, že jejich aplikace vytvořené pomocí Electron – které byly schváleny v minulosti – obdržely zamítnutí s vysvětlením, že tyto aplikace se „pokoušejí skrýt použití soukromých API“, což jsou API vytvořená pro interní používat společnost Apple, nikoli pro vývojáře třetích stran. Používání soukromých rozhraní API k vytváření veřejných aplikací je obecně odsuzováno, protože se mohou v průběhu času změnit nebo přestat fungovat a Apple zakazuje aplikace, které je používají.
Electron používá privátní API roky a bez problémů to zvládl. Tato soukromá API umožňují vývojářům výrazně zlepšit například spotřebu energie, zatímco schválené nástroje Apple zhoršují uživatelský zážitek. Ve většině těchto případů Apple neposkytuje skutečné alternativy vývojářům, kteří chtějí mít přístup k těmto soukromým funkcím API.
Nyní je nepravděpodobné, že tisíce vývojářů, kteří postavili své aplikace pomocí Electronu, budou moci vydávat aktualizace, pokud Electron neuvolní významnou změnu ve své implementaci.
Vývojáři mohou distribuovat své aplikace ze svých webových stránek a vyzývat uživatele, aby si je přímo stáhli. To ale znamená vzdát se funkcí, jako je mechanismus automatických aktualizací App Store a synchronizace iCloud. A tato metoda přímého přístupu k zákazníkovi může být brzy zablokována, protože kontroverzní notářské požadavky společnosti Apple mohou vyžadovat revizi.
Apple v minulosti oddaloval vývoj webových technologií na svých platformách. V systému iOS Apple nepovoluje zcela nezávislé prohlížeče třetích stran, což vyžaduje, aby všechny aplikace při vykreslování webového obsahu používaly jeho prohlížeč Safari. Přestože jsou v App Store dostupné prohlížeče jako Chrome a Opera, k vykreslování webových stránek musí používat engine prohlížeče Safari, nikoli své vlastní. To znamená, že Apple má monopol na to, jak uživatelé iPhone a iPad přistupují k webu. Aby Apple přiměl vývojáře spíše k vytváření nativních aplikací pro iOS než k používání webových technologií, ignoruje oblíbené části specifikací otevřeného webu, které ostatní prohlížeče implementují v jeho prospěch.
Jemné protisoutěžní praktiky Applu nevypadají samy o sobě hrozně, ale dohromady tvoří jasnou strategii.
Například technologie WebRTC umožňuje uskutečnit videohovor ve webovém prohlížeči bez dalšího softwaru. Funguje v nástrojích, jako je Google Meet. Apple však implementoval specifikaci neuvěřitelně pomalu, vynechal klíčové funkce a technologie nefungovala, když byla zabudována do aplikací.
Apple také zmařil vznikající standard nazvaný Progressive Web Apps (PWA), který podobně jako Electron umožňuje vývojářům vytvářet aplikace pro stolní i mobilní zařízení – implementovat jej způsobem, který byl příliš nekonzistentní, než aby se na něj dalo spolehnout. PWA nemají stejný problém, pokud uživatelé otevírají aplikace v Chrome nebo Firefoxu, ale uživatelé iPhonů a iPadů si nemohou nainstalovat prohlížeče třetích stran, takže technologie založená na PWA je odsouzena k neúspěchu.
Vývojáři používají technologie jako Electron a PWA, protože umožňují rychlejší aktualizace napříč různými platformami bez mnoha různých kódových základen. Někteří tvrdí, že to má za následek nekvalitní aplikace, ale já bych tvrdil, že alternativou nejsou žádné aplikace nebo aplikace, které se aktualizují jen zřídka, protože údržba jedinečných Windows, Mac a webových produktů je obtížná a drahá. Apple nedávno vydal konkurenční framework nazvaný Catalyst, který umožňuje vývojářům aplikací pro iPad rychle je přenést do macOS – skvělý nástroj pro vývojáře, kteří se zaměřují výhradně na uživatele Applu, ale ne na ty, kteří vytvářejí aplikace pro různé platformy.
Skryté protisoutěžní praktiky Applu nejsou náhodné, ale tvoří jasnou strategii: vytvořit tak bolestivé vytváření webových aplikací na platformách Apple, že o tom vývojáři nebudou přemýšlet. Nyní, když App Store nebude přijímat aplikace vytvořené pomocí Electronu, vývojáři pravděpodobně najdou kreativní způsoby, jak to obejít, ale Apple je připraven na neustálou hru kočky a myši, protože plánuje převzít větší kontrolu nad tím, jaké aplikace mohou na platformě běžet. napříště.
Tyto typy změn mohou být provedeny ve jménu soukromí nebo bezpečnosti, ale skutečnost je taková, že argument vypadá slabě, když uživatelé a vývojáři prostě nemají na výběr, protože Apple ovládá platformu, engine prohlížeče a způsob distribuce. Bez ohledu na váš názor na kvalitu aplikací Electron je důležitý výběr.
Kontrola Applu nad svým ekosystémem aplikací je novým typem monopolu, který je pro zákonodárce těžko pochopitelný a pro nás je těžké s ním bojovat – protože z těchto omezení prostě není úniku, když společnost kontroluje jak způsob distribuce, tak samotnou platformu.
- edisonsoftware
- Elektron
- Edisonův blog
- Vývoj webu
- Vývoj mobilních aplikací