Zo všetkých nových funkcií iOS 8 prezentovaných na WWDC, najdôležitejšie, možno, sú predĺženie (rozťažnosť). Mali by mať veľký vplyv na ďalší vývoj operačného systému. Často je táto funkcia je popisovaný ako "schopnosť aplikácií tretích strán, aby na seba vzájomne pôsobia." To, samozrejme, je príliš prehnané, pretože interakcie nie je jediná možnosť rozšírenia, a nemôžu komunikovať medzi sebou, aby som bol presný.
Máme čítať v dokumentácii pre vývojárov a videá z WWDC, aby pochopili, ako rozšírenie práce a Ako Apple našiel kompromis medzi otvorenosť systému a užívateľských dát zabezpečenia a chceli by ste sa o tom hovoriť vy.
Tak čo expanziu?
Povolenie aplikácií tretích strán prístup k sebe navzájom, to je len jeden problém, ktorý má riešiť expanziu. Strane klávesnice; aplikačná integrácia s ďalšími cloudové úložisko, okrem iCloud; widgety v Notification Center - to všetko je tiež nesie rozšírenie.
V skutočnosti, nie všetky iOS môže byť "lepší" vývojárom tretích strán. Napríklad, ak chcete nahradiť predvolenú aplikáciu alebo pridať prepínač vo velíne - nebude fungovať. Apple poskytuje nie je toľko jasne definované "body rozšírenie» (rozšírenie bodov) ukázať vývojárom s akoukoľvek súčasť operačného systému, ktorý môže pracovať. Zoznam týchto bodov takto:
- expanzia Dnes (Dnes rozšírenie) alebo widgety - slúži na poskytnutie okamžitej informácie v oznámení Center. Môžete ich považujú za reakciu na živých dlaždíc Windows Phone a Android widgety na domovskú obrazovku.
- posilniť výmenu (Podiel na rozšírenie) - umožní posielať fotky, odkazy alebo iné súbory aplikácie v on-line služieb. Ako je vkladanie fotografií do Pinterest alebo nahrať súbory na Dropbox alebo onedrive priamo z aplikácie.
- navyšovanie (Akčné rozšírenie) - slúži na "manipulácie alebo prezeranie obsahu v rámci inej aplikácie." Inými slovami to znamená, že môžete upraviť fotografiu, ktorá je obsiahnutá v textovom dokumente, alebo, Napríklad, ako je uvedené v prezentácii, použite niečo ako Bing Preložiť preložiť text v okne Safari.
- Rozšírenie pre úpravu fotografií (Foto Úprava rozšírenia) - možné pri prezeraní snímok v Camera Roll použiť editačné schopnosti iných aplikácií.
- rozšírená skladovanie (Storage rozšírenie Provider) - umožňuje aplikáciám otvorené dokumenty z radu cloudové úložisko. Napríklad, môžete použiť na ukladanie dokumentov Dropbox a pristupovať k nim priamo z Úradu pre iPad alebo stránok.
- Rozšírenie pre klávesnice tretích strán (Rozšírenie klávesnica Custom) - nahradiť štandardná klávesnica v systéme iOS.
Uvedené rozšírenie sú iOS, ale mnoho z nich (vrátane widgetov výmene a rozširovaní al.) Beh v OS X Yosemite, rovnako ako v iOS. Aplikácie od vývojára App Store pre Mac sa stretávajú s podobnými obmedzeniami pieskovisko a implementáciu rozšírenie bit zjednodušiť ich životy. Aj keď, s najväčšou pravdepodobnosťou, mnoho vývojárov aj naďalej im vyhnúť, aby sa zabránilo Mac App Store vôbec.
Tento predbežný zoznam bodov rozšírenie sa líši od systému zámery (zámery systém), pracujúcich v systéme Android. Aplikácia v službe Android použiť filtre k pochopeniu operačný systém, aké akcie na nej môžu vykonávať aj rukoväť. Napríklad, Twitter a Facebook môžu posielať fotky a odkazy; Disk Google a Dropbox môžete sťahovať rôzne súbory; Chrome a Firefox môže otvoriť webové stránky, atď vývojári tretích strán môžu dokonca nastaviť filtre sami, čo bude pôsobiť v operačnom systéme.
Súčasne, iOS je oveľa obmedzenia v tomto ohľade, aj keď nie bez dôvodu. Avšak, pre bežných užívateľov nevšimne to všetko a rozšíriť trochu, než sa budú líšiť od ich náprotivkov Android, iOS, pri zachovaní zásady zabezpečenia.
Ako nainštalovať rozšírenia, a ako fungujú?
Rovnako ako všetky oficiálne aplikácie pre iOS, rozšírenie stiahnuť z App Store. Najväčším obmedzením je, že Apple neumožňuje vývojárom publikovať rozšírenie v "čistej forme". Každé predĺženie musí byť distribuované v rámci žiadosti (obsahujúcu APP), čo by mala niesť akúkoľvek základné funkcie a byť užitočné pre užívateľov. To znamená, že môžu vývojári nemožno publikovať na App Store len miniaplikácie, alebo len klávesnica, ako sa teraz deje v Androide. V rovnakej dobe, Apple nekladie žiadne obmedzenie počtu a typov rozšírenia, ktoré môžu obsahovať vaše aplikácie.
Ďalšie odporúčania pre vývojárov Apple nie sú nutné. To sa týka návrhu rozšírenia, ktorá by mala zodpovedať štandardných aplikácií OS: widgets sa nelíši z existujúcich widgety v Notification Center a fotografický V ponuke úprav v Camera Roll - radikálne odlišné od domorodec. Pravdepodobne existujú ľudia, ktorí nie sú v súlade s týmito odporúčaniami, ale hlavne preto, že väčšina vývojárov a dodržiavať filozofiu Apple pri vytváraní svojich aplikácií.
Každé rozšírenie je aktivovaný rôznymi spôsobmi. Widgety - Oznámenie od strediska, klávesnice - od nastavenia regionálnych systémov. Rozšírenie editáciu fotografií a skladovanie sa nazýva iba v určitých situáciách aplikácií, ktorá zaisťuje interakciu s nimi. Posilniť výmenu a akcie možno volať z ľubovoľnej aplikácie, ale vývojári sa musia pridať pravidlá aktivačných rozšíriť a určiť, ktoré dáta majú byť spracované. Ak sa rozšírenia poskytuje len pre výmenu fotografií, treba ho uviesť v aktivácii pravidla, že expanzia sa neobjaví, ak chce používateľ zdieľať odkaz alebo dokument.
Napriek skutočnosti, že všetky rozšírenia musí byť "obalu" v (app obsahujúcu) Aplikácie, môžu pracovať nezávisle na sebe. Každé rozšírenie - je to malý binárny .appex-file, ktorá otvára svoju prácu a uzavrel, bez toho aby museli spustiť hlavné aplikácie. Pre rozšírenie, ktoré vykonávajú rovnaké úlohy ako ich hlavné aplikácie (napr. Instagram, ktorý sa používa pre pridanie filtra na snímke) sa odporúča použiť vstavaný rámca pre prenos spustiteľného kódu potrebného pre danú úlohu. Vytvorenie rámca, vložte kód tu a budete môcť vytvoriť tento rámec a to ako v žiadosti a v predĺžení. Jediným obmedzením je, že tieto aplikácie vyžadujú iOS vo verzii 8 a vyššie, pretože nebude možné spustiť v skorších operačných systémoch.
Jedným z dôvodov pre expanziu prevádzkovať oddelene od žiadosti tejto zmluvy, je Apple pevný limit na množstvo pamäti spotrebovanej. Najmä to platí pre ovládací prvok, pretože používateľ môže mať viac súbežných widgety.
Okrem toho, widgety nefungujú po dlhú dobu, a násilne je vybratá zo zariadení po zovretia. Pre rozšírenie, ktoré vykonávajú dlhé úlohy na pozadí, ako je sťahovanie súborov, Apple odporúča preniesť tieto úlohy systému, a zatvorte ho.
To je všetky hlavné body, na rozšírenie iOS. Ako môžete vidieť všetky možné rozšírenie presne zdokumentované, ale je pozoruhodný fakt, že napriek rozšírené právomoci, za predpokladu, vývojári a ich aplikácií, ktoré nie sú v rozpore s existujúcou bezpečnostnú politiku a prácu v rámci svojich "Sandbox".
Zabezpečenie užívateľských dát. Rozdiely oproti Android
Stručne povedané, rozdiel medzi prístupom k ochrane osobných údajov a zabezpečenie dát na iOS a Android užívatelia Je to tá druhá poskytuje vývojárom s radom lane, ktoré je dostatočné pre obesiť.
V skutočnosti, ak používatelia Android použiť predvolené nastavenie zabezpečenia pred inštaláciou každej žiadosti prečítať rozsiahly zoznam čo to môže robiť - môže dôjsť k ich osobných údajov tretím osobám alebo malware tak nebolo skvele. Ale všetky tieto aplikácie práva viesť k zámene. Niektorí ľudia rozhodnú pre inštaláciu aplikácií nielen z Google Play, ale aj z iných zdrojov; iní si želajú získať koreňovú prístup, aby mohol nainštalovať alternatívne distribúcia - žiadne problémy, všetko je možné s operačným systémom Android. Takéto veci sú zaujímavé, že niektorí užívatelia platformy, ale robia to všetko na vlastné nebezpečenstvo.
Pozrite sa na iOS, ktorý aj pri zavedení expanziou stále stavia bariéry medzi aplikácií a ich rozšírenie a dátových aplikácií pre ochranu užívateľov (a ich informácie) z samotných. Ako sme už povedali, stále aplikácia nemôžu riešiť navzájom priamo, pretože expanzia je malé binárne súbory, ktoré bežia oddelene od obsahujúci aplikácie. Každá aplikácia, ktorá spôsobí, že expanzia (hostiteľskej aplikácii Apple terminológiu) sa vzťahuje na rozšírenie, ale nie do aplikácie, ktorá ho obsahuje (obsahujúci aplikáciu). V tomto prípade, keď hostiteľské aplikácie potrebuje použiť rozšírenie, odošle požiadavku prostredníctvom systémového rámca, nie priamo, a nikdy nebude mať prístup k dátam aplikácie.
Vývojár FortyTwo Inc. Eduardo Fonseca vysvetľuje, ako sa podarí udržať iOS a rozšírenie "v bezpečnej vzdialenosti."
"Každé rozšírenie - to je samostatného zväzku (zväzkov) vnútri hlavnej aplikácie zväzku, ktorý obsahuje oddelené spustiteľné" - hovorí Fonseca. "Legrační na tom je, že rozšírenie nie je aplikácie. To je spôsobené prostredníctvom rámcov systém Apple, za použitia jasne definované rozhranie, ktorý iniciuje proces začína expanziu. V tomto prípade je kód spustený samostatne, a to znamená, že výkonnosť daného kódu tretích strán nemôžu byť vnútri aplikácie. Z tohto dôvodu neexistuje žiadne riziko, že aplikácie, ktoré budú podporovať rozšírenie (napríklad Safari), môže dochádzať k problémom pri použití rozšírení vnútri iných aplikácií. Sú ako olej a voda - neprichádzajú do styku ".
Aj keď je to potrebné expanzia odkázať na ktoré majú rovnaké aplikácie, Buet sa vyskytujú iba prostredníctvom systému API. V predvolenom nastavení aplikácie obsahuje predĺženie a rozšírenie samo o sebe nemôže pristupovať navzájom dáta.
Pre výmenu dát medzi nimi, je potrebné, aby mohli stať súčasťou skupiny aplikácií (App Group), ktorá im umožní mať nejaké všeobecné informácie vo vonkajšom obale, a to ako vonku na pieskovisku. Asi ste si všimli, že akonáhle sa prihlásite k svojmu účtu Google Chrome pre iOS, budete tiež v a na Mapách Google a Disk Google prihlásení - to je výsledok pomocou App Group. Ale aj tieto skupiny sú obmedzené na určité typy dát, ktoré môžu byť vymenené. Povolené informácie cache účtu výmena databázy. Avšak, pre miestne dokumentov a mediálnych súborov nie je tento prípad - sú stále zakázané.
Jednoducho povedané, Apple nechce niektoré aplikácie majú prístup k iným pieskovisku. Rozšírenia sú malé pieskovisko v inej karanténe, ktorá umožní interakciu rôznych aplikácií, ale nikdy nemá pri spúšťaní (app hostiteľa) aplikácie aplikácie dát, ktorý obsahuje rozšírenie (obsahujúci app).
Mechanizmy spustiť Extensions sú tiež odlišné od žiadosti. Ak spustíte rovnaké rozšírenie v rôznych aplikáciách, ako je napríklad Safari a Mail, systém otvorí dve kópie tejto expanzie, ktorá bude prebiehať v oddelených procesoch. Tieto rozšírenia sú uložené v rôznych pamäťových oblastiach. Teda informácie z oboch aplikácií je uložená na rôznych miestach, a majú prístup iba k svojim dátam. Z rovnakého dôvodu, prehliadača otvoriť celý rad miest v samostatných záložkách.
Android poskytuje vlastné sandbox model, ktorý tiež usiluje o ochrane dát uložených v jednom Aplikácie od iných aplikácií, ktoré nemajú prístup k nim (aj keď, ak je to žiaduce, môžu vývojári ľahko obísť ju). Zvlášť tu nebezpečnejšie je poskytnutie práv na čítanie a prístup pre zápis ku všetkým dátam z aplikácií, ktoré zastarané aj Android 4.2., aj keď aplikácia je stále možné získať prístup k dátam iných aplikácie.
Opäť platí, že všetky tieto mechanizmy sú účinné iba pri správnom používaní, ale ľudia majú tendenciu byť vzácny prečítajte licenčnú zmluvu a len súhlasiť s týmito žiadosťami, ktoré poskytuje softvér nainštalovať, vystavovať svoje dáta rizík. Apple sa veľmi dobre hodí k tejto otázke, a dokonca aj teraz v iOS má komfortné nastavenia pomocou prepínačov ochrany osobných údajov, ktoré možno jasne vidieť, čo prilolzheniya použiť nejakú informáciu. Niečo podobné Google oznámil v Android 4.4, ale v konečnej verzii to, bohužiaľ, nebol tam. To nemá žiadny priamy vzťah k predĺženiu, ale je to dobrý príklad toho, ako iOS 8, pokračuje obetovať flexibilitu v záujme bezpečnosti a ochrany súkromia používateľov.
Apple tiež zavádza ďalšie obmedzenia expanzie - nemôžu používať všetky API, ktorá je prístupná aplikáciami. Najmä vlastnou klávesnicou obmedzený počet záväzných požiadaviek a pravidiel. Mechanizmy rozšírenie interakcie Apple sú odlišné od tých, ktoré používajú Google a v skutočnosti, iOS 8 zostáva uzavretý operačný systém, v porovnaní s operačným systémom Android. Aplikácie tretích strán stále nemôže komunikovať medzi sebou, a systémové súčiastky ako je na domovskej obrazovke alebo na obrazovke uzamknutia nie je prístupný prispôsobenia, ako aj žiadosti o Predvolené.
Napriek tomu sa zdá, že Apple má konečne načúvali jednotlivým najväčších sťažností na svoje mobilné platformy a prijala opatrenia, ale charakteristické pre jej štýl, bez drastické akciu, ktorá by mohla zvýšiť požiadavky na pamäť alebo bezpečnostné hrozby užívateľov. Teraz, zatiaľ čo iOS 8 nebola doteraz publikovaná, je ťažké posúdiť výhody a nevýhody takéhoto prístupu, ale na papieri to všetko vyzerá veľmi sľubne.
(via)