Od svih novih značajki iOS 8 predstavljenih na WWDC, najvažnije, možda, su nastavak (proširivanje). Oni bi trebali imati veliki utjecaj na daljnji razvoj OS-a. Često je ova značajka je opisan kao „sposobnost third-party aplikacije za interakciju s drugima.” To, naravno, previše pretjerano, jer interakcija nije jedina mogućnost proširenja, a oni ne mogu izravno komunicirati jedni s drugima, da budemo precizni.
Imamo pročitati dokumentaciju za razvojne i video iz WWDC, razumjeti kako funkcioniraju proširenja i kako Apple je pronašao kompromis između otvorenosti sigurnosti sustava i korisničkih podataka i želite razgovarati o tome vi.
Pa što ekspanziju?
Omogućavanje aplikacije treće strane pristupiti jedni druge, to je samo jedan problem, a to je da se riješi širenje. Strani tipkovnice; primjena integracija s drugim oblak za pohranu, uz iCloud; widgeti u obavijesti Centra - sve to također snose proširenja.
U stvari, nije sve iOS mogu biti „pojačana” third-party developera. Na primjer, ako želite zamijeniti zadanu aplikaciju ili dodati prekidač u kontrolnoj sobi - da neće raditi. Apple pruža se nije toliko jasno definirana „produžne točke» (produžni bodova), pokazati programeri sa bilo kojeg dijela operacijskog sustava mogu raditi. Popis tih točaka kako slijedi:
- širenje Danas (Danas proširenja) ili widgeti - koriste se za pružanje izravne informacije u obavijesti Centra. Možete ih uzeti u obzir kao odgovor na živom pločice za Windows Phone i Android widgeta početnog zaslona.
- unaprijediti razmjenu (udio proširenja) - omogućuju vam da pošaljete fotografije, linkove ili druge datoteke za program u online usluge. Kao što je postavljanje fotografija u Pinterest ili upload datoteka na Dropbox ili OneDrive izravno iz aplikacije.
- postupno povećanje (Akcija proširenja) - koristi se za „manipulacije ili sadržaj gledate u kontekstu drugog zahtjeva.” Drugim riječima, to znači da možete urediti fotografiju koja je sadržana u tekst dokumenta, ili, Na primjer, kao što je prikazano u prezentaciji, koristiti nešto poput Bing Translate za prijevod teksta u prozoru Safari.
- Proširenja za uređivanje fotografija (Foto Uređivanje proširenja) - možete koristiti mogućnosti uređivanja drugih aplikacija prilikom pregledavanja slika u album fotoaparata.
- proširen za pohranu (Skladištenje Provider ekstenzije) - omogućuje aplikacijama otvoriti dokumente iz više prostora za pohranu u oblaku. Na primjer, možete koristiti za spremanje dokumenata Dropbox i pristupiti im izravno iz Ureda za iPad ili stranice.
- Proširenja za treće strane klavijature (Custom tipkovnice proširenja) - zamijeniti standardne tipkovnice na iOS.
Navedene ekstenzije su iOS, ali mnogi od njih (uključujući i widgete razmjenu i širenje dr.) Trčanje u OS X Yosemite, kao i na iOS-u. aplikacije iz App Store programere Mac suočavaju sa sličnim ograničenjima pješčaniku i provedbu proširenja ugrizla za pojednostaviti svoje živote. Iako, vjerojatno, mnogi programeri i dalje ih izbjeći, izbjegavajući Mac App Store na sve.
Ova preliminarna lista za proširenje bodova razlikuje od namjere sustava (Intents System), koji rade na Androidu. Aplikacije na Androidu koristite filtre za razumijevanje operativnog sustava koje radnje mogu obavljati i ručku. Na primjer, Facebook i Twitter mogu postavljati slike i veze; Google disk i Dropbox možete skinuti razne datoteke; Chrome i Firefox možete otvoriti web stranice, itd Third-party developera čak možete postaviti sami filtera koji će raditi na operativnom sustavu.
U isto vrijeme, IOS je puno ograničenja u tom pogledu, iako ne bez razloga. Međutim, za obične korisnike neće primijetiti sve to i proširiti malo od razlikovat će se od svojih kolega Android, iOS, dok održavanje sigurnosne politike.
Kako instalirati ekstenzije i kako rade?
Kao i sve službene aplikacije za iOS, ekstenzije skinuti s App Store. Najveći ograničenje je da Apple ne dopušta programerima da objavi ekstenzije u „čistom obliku”. Svako proširenje mora biti distribuiran kao dio prijave (koja sadrži aplikaciju), što bi trebalo obavljati nikakvu osnovnu funkcionalnost i biti korisno za korisnika. To je, programeri ne mogu objaviti na App Store samo widget ili samo za tipkovnicu, kao što se sada događa u Android. U isto vrijeme, Apple ne nametati nikakva ograničenja na broj i vrsta proširenja, koji može sadržavati vaš zahtjev.
Ostale preporuke za Apple programeri nisu potrebni. To se odnosi na dizajn nastavaka, koji bi trebao odgovarati standardnim OS aplikacija: widgeti ne razlikuju od postojećih widgeta u obavijesti Centra i foto uređivanje izbornika u Camera Roll - radikalno različita od rodom. Vjerojatno ima i onih koji ne postupe u skladu s ovim preporukama, ali uglavnom zbog toga što većina developera i pridržavati se filozofiji Apple prilikom izrade svoje aplikacije.
Svako proširenje aktivira na različite načine. Sprave - od obavijesti Centra, klavijature - s postavkama regionalnih sustava. Proširenje uređivanje i pohranu fotografija zovu samo u određenim situacijama aplikacija koja pruža interakciju s njima. Poboljšati razmjenu i akcija može biti pozvan iz bilo koje aplikacije, ali programeri moraju dodati pravila aktivacije proširiti i odrediti koji podaci koji se obrađuju. Ako vaš proširenje pruža samo za razmjenu fotografija, morate ga odrediti u aktivaciji pravila da širenje ne pojavljuje kada korisnik želi podijeliti link ili dokument.
Unatoč činjenici da su sve ekstenzije moraju biti „zapakirani” u (app sadrži) zahtjev, oni mogu raditi samostalno. Svako proširenje - ovo je mali binarna .appex-datoteka, koji otvara posao i zatvoren bez potrebe za pokretanje glavni program. Za ekstenzije koje obavljaju iste zadatke kao njihov glavni zahtjev (npr Instagram, a koristi se za dodavanje filtar na slici) se potiče na korištenje ugrađenog okvira za prijenos izvršni kod potreban za dotičnog zadatka. Stvaranje okvira, staviti kod tamo, a vi ćete biti u mogućnosti da izgrade taj okvir kako u primjeni te u produžetku. Jedino ograničenje je da će ove aplikacije zahtijevaju iOS verziju 8 i gore, jer neće raditi na starijim operativnim sustavima.
Jedan od razloga za proširenje izvoditi odvojeno od istih aplikacija je Apple teško ograničenje na količinu memorije konzumira. Posebno se to odnosi na widgeta, kao što korisnik može imati više istodobnih widgete.
Osim toga, clanak ne rade za dugo vremena, i prisilno udaljen iz uređaja nakon zatvaranja. Za ekstenzije koje obavljaju duge pozadinske zadatke, kao što su skidanje datoteka, Apple preporuča za prijenos tih zadataka sustav, a zatim ga zatvorite.
To je sve glavne točke, na iOS proširenja. Kao što možete vidjeti sve moguće nastavke strogo dokumentirane, ali je značajan zbog činjenice da, unatoč povećanim ovlastima, pod uvjetom da programeri i njihove primjene, oni ne krše postojeće sigurnosne politike i rad u okviru svoje "Sandbox".
Sigurnost korisničkih podataka. Razlike u odnosu na Androidu
U Ukratko, razlika između pristupa podacima o privatnosti i sigurnosti iOS i Android korisnici To je da je potonji omogućuje programerima sa brojem konopa, što je dovoljno da se objesiti.
U stvari, ako Korisnici Androida koristiti zadane postavke sigurnosti prije instalacije svakoj aplikaciji čitanje opsežan popis stvari se mogu učiniti - Opasnost od svojih osobnih podataka trećim osobama ili zaraze zlonamjernim nije bio tako super. Ali aplikacije sva ta prava dovesti do konfuzije. Neki ljudi odlučite instalirati aplikacije ne samo s Google Playa, ali i iz drugih izvora; drugi žele da biste dobili korijen pristup, kako instalirati alternativne raspodjele - nema problema, sve je moguće uz Android. Takve stvari su od interesa su neki korisnici na platformi, ali su sve to učiniti na vlastitu odgovornost.
Pogledajte iOS, koji, čak i uz uvođenje proširenja i dalje gradi prepreke između aplikacije i njihove ekstenzije i podatkovne aplikacije za zaštitu korisnika (i njihovi podaci) od sami. Kao što smo rekli, još uvijek programi ne mogu riješiti međusobno izravno, jer ekspanzija je mali binarne datoteke koje se pokreću odvojeno od sadrže aplikacije. Svaka aplikacija koja izaziva (aplikaciju domaćina u Apple terminologiji) proširenje odnosi se proširiti, ali ne i na primjenu da sadrži (sadrže aplikaciju). U tom slučaju, kada je program domaćin treba koristiti proširenje, on šalje zahtjev putem okviru sustava, a ne izravno i nikada neće imati pristup podacima primjene.
Developer FortyTwo Inc. Eduardo Fonseca objašnjava kako upravljati kako bi iOS aplikacije i proširenja „na sigurnoj udaljenosti.”
„Svako proširenje - to je zasebna bala (bala) u glavnom bala aplikaciju koja sadrži odvojene izvršne” - kaže Fonseca. „Smiješno je da je proširenje nije program. To je uzrokovano kroz okvire Apple sustava, korištenjem jasno definiran sučelje, što inicira proces pokretanja ekspanziju. U tom slučaju, kod izvršava odvojeno, a to znači da je izvedba bilo kôd treće strane ne mogu biti unutar aplikacije. Dakle, ne postoji opasnost da će aplikacije koje će podržati produženje (kao što su Safari), može doći do problema kada koristite proširenja unutar drugih aplikacija. Oni su poput ulja i vode - ne miješati ".
Čak i ako je širenje potrebno uputiti da imaju isti program, to Buet doći samo kroz API sustava. Prema zadanim postavkama, aplikacija sadrži proširenje i širenje sebi ne mogu pristupiti jedni druge podatke.
Za razmjenu podataka između njih, morate biti dio skupine aplikacija (App Group), koji će im omogućiti da imaju neke opće informacije u vanjskom spremniku, oba izvan pješčaniku. Vjerojatno ste primjetili da jednom prijavom na svoj račun na Google Chrome na iOS-u, te će također biti prijavljeni i na Google Maps i Google Drive - to je rezultat korištenja aplikacije grupe. No, čak i ove skupine su ograničeni na određene vrste podataka koji se mogu mijenjati. Dopuštena informacije predmemorija račun razmjenu podataka. Međutim, za lokalne dokumente i medijske datoteke nije slučaj - oni su i dalje zabranjen.
Jednostavno rečeno, Apple ne želi neke aplikacije imaju pristup drugim pješčaniku. Proširenja su mali pješčanik u drugom izdvojenom, koji će olakšati interakciju različitih aplikacija, ali nikada nije dozvoljeno blizu pokretanja aplikacija (host aplikacija) primjenu podataka koja sadrži produžetak (koji sadrži aplikacije).
Mehanizmi koje drže Proširenja su također različiti od zahtjeva. Ako pokrenete isti nastavak u nekoliko aplikacija, kao što su Safari i Mail, sustav će otvoriti dva primjerka ove ekspanzije, koja će se održavati u odvojenim procesima. Ove ekstenzije su pohranjeni u različitim memorijskim mjestima. Stoga su podaci od obje aplikacije je pohranjena na različitim mjestima, a oni imaju samo pristup svojim podacima. Iz istog razloga, preglednici otvaraju razne mjesta u zasebnim karticama.
Android pruža vlastiti sandbox model, koji također ima za cilj zaštititi podatke pohranjene u jednom Zahtjev iz drugih aplikacija koje nemaju pristup do njih (iako je, po želji, programeri mogu lako zaobići ga). Posebno opasno ovdje je dodjela prava za čitanje i pristup za pisanje za sve podatke aplikacija koje zastarjeli i Android 4.2., iako je program i dalje moći pristupiti podacima drugih aplikacija.
Opet, svi ovi mehanizmi su učinkoviti jedino ako se koristi ispravno, ali ljudi imaju tendenciju da se rijetko pročitajte licencni ugovor i samo složiti s tim zahtjevima, a pruža softver za instalaciju, izlažu svoje podatke rizik. Apple je vrlo dobro prilagođen za ovu problematiku, pa čak i sada u iOS ima udoban postavku privatnosti prekidača, što se može jasno vidjeti što prilolzheniya koristiti neke informacije. Nešto kao što je Google najavio je u Android 4.4, no u konačnom izdanju to, na žalost, nije bio tamo. To nema izravne veze s proširenjem, ali ovo je dobar primjer kako se iOS 8, i dalje žrtvovati fleksibilnost zbog sigurnosti i privatnosti korisnika.
Apple je također nameće druga ograničenja širenja - oni ne mogu koristiti sve API, koji je pristupiti aplikacija. Posebno prilagođeni tipkovnici ograničen broj obveznih uvjeta i pravila. Mehanizmi interakcija Apple proširenja se razlikuju od onih koje koriste Google i, u stvari, iOS-a 8 ostaje zatvoren operativni sustav, u usporedbi s Androidom. Third-party aplikacija i dalje ne mogu izravno komunicirati između sebe, a elementi sustava kao što početnom zaslonu ili zaslonu za zaključavanje nije pogodan za prilagodbu, kao i zahtjevi za Propust.
Ipak, čini se da je Apple konačno je slušao jednog najvećih pritužbi o svojoj mobilnoj platformi te je poduzela mjere, ali karakteristična za njezin stil, bez drastične mjere, što bi moglo povećati količinu memorije ili sigurnosne prijetnje korisnici. Sada, dok je iOS 8 još nije objavljen, teško je procijeniti prednosti i nedostatke takvog pristupa, ali na papiru to sve izgleda vrlo obećavajuće.
(preko)