Kõik uued funktsioonid iOS 8 esitleti WWDC, kõige olulisem, ehk on laiend (venivusega). Neil peaks olema suur mõju edasise arengu OS. Sageli seda funktsiooni on kirjeldatud kui "võime kolmanda osapoole rakenduste suhelda üksteisega." See muidugi on liiga liialdatud, kuna suhtlemist ei ole ainus võimalus laiendused ja nad ei saa otse suhelda üksteisega, kui täpne olla.
Meil on lugeda arendaja dokumentatsiooni ja videoid WWDC, et mõista, kuidas laiendused töötada ja kuidas Apple on leidnud kompromissi avatus süsteemi ja kasutaja andmete turvalisuse ja tahaksin rääkida teile.
Niisiis, mida laienemine?
Kui lubate kolmanda osapoole rakenduste juurdepääsu üksteise see on ainult üks probleem, mis on lahendada laienemist. Pool klaviatuuri; taotluse integratsiooni teiste pilv ladustamise, lisaks iCloud; vidinad Teabekeskus - kõik see on ka kannab laiendusi.
Tegelikult mitte kõik iOS võib "tõhustatud" kolmanda osapoole arendajatele. Näiteks, kui soovid selle asendada vaikimisi rakenduse või lisada lüliti kontrolli tuba - te ei tööta. Apple pakub mitte niivõrd selgelt määratletud "extension punktid» (laiendamise punkti), et näidata arendajatele tahes osa operatsioonisüsteemi nad saaksid. Nimekirja neid punkte järgmiselt:
- laienemine Täna (Täna laiendid) või vidinad - kasutatakse, et anda vahetu teabe Teabekeskus. Võite kaaluda neid vastust live plaadid Windows Phone ja Android avakuva vidinad.
- Tõhustada (Jaga laiendid) - võimaldab saata fotosid, linke või muid faile taotluse online teenuseid. Nagu postitad fotod Pinterest või laadida faile Dropbox või OneDrive otse taotluse.
- ülespoole (Action laiendid) - kasutatakse "manipuleerimise või sisu vaatamise kontekstis teine rakendus." Teisisõnu tähendab see, et saate muuta foto, mis sisaldub teksti dokumendi või Näiteks, nagu on näidatud esitlus, kasutamise midagi Bing Tõlgi tõlkida teksti aknas Safari.
- Laiendused fototöötlus (Foto redigeerimine laiendid) - saab kasutada redigeerimise võimalusi teiste rakenduste vaatamise pildid kaamera rulli.
- laiendatud ladustamise (Storage Provider laiendid) - võimaldab rakenduste avatud dokumentide hulk pilv ladustamise. Näiteks saate salvestada oma dokumendid Dropbox ja juurdepääs neile otse välja Ameti iPad või Pages.
- Extensions kolmanda osapoole klaviatuurid (Custom klaviatuur laiendid) - asendatakse standardsed klaviatuurilt iOS.
Ütles laiendid on iOS, kuid paljud neist (sealhulgas vidinad vahetada ja laiendamine al.) Running OS X Yosemite, samuti iOS. rakendusi App Store arendajad Mac nägu sarnased piirangud liivakasti ja rakendamise laiendused natuke lihtsustada oma elu. Kuigi, tõenäoliselt paljud arendajad jätkuvalt kõrvale hoida neid vältida Mac App Store üldse.
See esialgne nimekiri pikendamise punktid erineb süsteemi kavatsused (Intents süsteem), töötavad Android. Rakendused Android kasutada filtreid mõista operatsioonisüsteem, milliseid meetmeid nad saavad teha ja käepide. Näiteks Twitter ja Facebook võib postitada fotosid ja linke; Google Drive ja Dropbox on võimalik alla laadida mitmesuguseid faile; Chrome ja Firefox avada veebilehti jne Kolmanda osapoole arendajad saavad isegi määrata filtreid ise, mis töötab operatsioonisüsteemi.
Samal ajal, iOS on palju piirang selles osas, kuigi mitte ilma põhjuseta. Kuid tavakasutajatel ei märka seda kõike ja laiendada veidi üle erineb oma kolleegidega Android, iOS säilitades julgeolekupoliitikat.
Kuidas installida laiendusi ja kuidas need toimivad?
Nagu ka kõik ametlikud iOS-i, laiendused alla laadida App Store. Suurim piirang on see, et Apple ei luba arendajatel avaldab laiendused "puhtal kujul". Iga laiend tuleb jaotada osana taotluse (sisaldab rakendus), mis omakorda peaks viima tahes põhifunktsioone ja kasulik kasutaja. See tähendab, et arendajad ei saa avaldada App Store vaid vidina või lihtsalt klaviatuuri, nagu praegu Android. Samal ajal, Apple ei kehtesta piiranguid arvu ja tüüpi laiendeid, mis võib sisaldada oma taotluse.
Muud soovitused Apple arendajad ei pea. See kehtib disaini laiendusi, mis peaks vastama standardile OS rakendusi: vidinad ei erine olemasolevatest vidinad Teabekeskus ja fototöötlus menüü Camera Roll - radikaalselt erinev native. Ilmselt on neid, kes ei täida neid soovitusi, kuid peamiselt seetõttu, et enamik arendajaid ja järgima filosoofia Apple luues nende rakendused.
Iga laiend on aktiveeritud erinevalt. Vidinad - alates Teabekeskus, klaviatuurid - piirkondlikust süsteemi seadeid. Laienemine fototöötlus ja ladustamise nimetatakse ainult teatud olukordades rakendusi, mis pakub suhtlemist nendega. Tõhustada ja tegevus võib nimetada igast rakendusest, kuid arendajad peavad lisama aktiveerimise eeskirjade laiendamiseks ja täpsustage, milliseid andmeid tuleb töödelda. Kui laiendus üksnes ette vahetamist fotosid, peate täpsustama seda aktiveerimist eeskirjad, et laienemine ei näidata, kui kasutaja soovib jagada link või dokumenti.
Vaatamata sellele, et kõik laiendused tuleb "pakendatud" taotluses (sisaldab rakendus), nad võivad töötada iseseisvalt. Iga laiend - see on väike binaarne .appex-faili, mis avab oma töö teinud ja suletud ilma alustada peamine taotlus. Laiendeid, mis täidavad samu ülesandeid, kuna nende peamine rakendus (nt Instagram, mida kasutatakse lisades filter pildi) soovitatakse kasutada sisseehitatud raamistik edastamise käivitatava koodi vaja vastava ülesande. Loo raamistik, pane kood olemas ja teil on võimalik ehitada seda raamistikku nii taotluse ja pikendamise. Ainus piirang on see, et need rakendused nõuavad iOS versioon 8 ja eespool, kuna ei tööta varem operatsioonisüsteemidega.
Üks põhjusi laiendamiseks käivitada eraldi rakenduse selle on Apple raske limiiti mälu tarbida. Eriti kehtib see pluginasse, kuna kasutaja võib olla mitut samaaegset vidinad.
Lisaks vidinad ei tööta pikka aega, ja vägisi seadme sulgemise järel. Sest, mis toimivad pikka tausttegevustest, nagu failide allalaadimise, Apple soovitab anda need ülesanded süsteemi ja seejärel sulgeda.
See on kõik peamised punktid, iOS laiendusi. Nagu näete kõiki võimalikke laiendusi rangelt dokumenteeritud, kuid on tähelepanuväärne asjaolu, et vaatamata laiendatud volitused, tingimusel arendajad ja nende rakendused, nad ei riku olemasolevaid julgeolekupoliitika ning võimaluste piires "Liivakast".
Turvalisuse kasutaja andmed. Erinevused Android
Lühidalt, vahe lähenemine privaatsuse ja turvalisuse andmeid iOS ja Android kasutajad See on see, et viimane annab arendajatele mitmeid köis, mis on piisav, et Hang ise.
Tegelikult, kui Android kasutajad kasutavad vaiketurvaseadeid enne paigaldamist iga taotluse lugeda hulgaliselt asju ta suudab seda teha - ohtu nende isikuandmete kolmandatele isikutele või ründevaranakkus ei olnud nii suur. Aga kõik need õigused rakendused tekitada segadust. Mõned inimesed otsustavad installeerida mitte ainult Google Play, vaid ka muudest allikatest; teised soovivad saada root-ühendus, et paigaldada alternatiivset distributsioonid - mingeid probleeme, kõik on võimalik Android. Sellised asjad on huvi mõned kasutajad platvormile, kuid nad teevad seda kõike omal vastutusel.
Vaata iOS, mis isegi kehtestamine laiendusi veel erects tõkked vahel rakendusi ja nende laiendid ja andmete rakendusi kasutajate kaitsmiseks (ja nende andmed) alates ise. Nagu oleme öelnud, veel rakendusi ei saa käsitleda teineteisega vahetult, sest laienemine on väike binaarfailidena mis töötavad eraldi sisaldavad taotluse. Iga rakendus, mis põhjustab laienemine (host app Apple terminoloogia) viitab laiendada, kuid mitte taotluse, et see sisaldab (sisaldavad app). Sel juhul, kui vastuvõtva Rakendus peab laiendust kasutada, saadab ta soovi kaudu süsteemi raames, mitte otse, ja kunagi on juurdepääs rakenduse andmed.
Arendaja FortyTwo Inc. Eduardo Fonseca selgitab, kuidas õnnestub hoida iOS rakendused ja laiendused "turvalises kauguses."
"Iga laiend - see on eraldi kimbus (kimp) sees peamine kimbu rakendus, mis sisaldab eraldi käivitatavad" - ütleb Fonseca. "Naljakas on see, et laienemine ei ole taotluse. See on tingitud läbi Apple süsteemi raamistikud, kasutades selgelt määratletud liides, mis käivitab protsessi, alustades laienemist. Sel juhul koodi täitmisel eraldi, ja see tähendab, et tulemuste mis tahes kolmanda osapoole koodi ei saa sees rakendus. Seetõttu ei ole ohtu, et rakendused, mis toetab laiend (nt Safari), siis võib tekkida probleeme, kui te kasutate laienduste muid rakendusi. Nad on nagu õli ja vesi - need ei sega. "
Isegi kui laienemine on vajalik viidata sama taotluse, see BUET tekkida ainult süsteemi kaudu API. Vaikimisi rakendusel sisaldab pikendamise ja laiendamise ise ei pääse teineteise andmeid.
Sest andmevahetust nende vahel, mida on vaja teha neid osa taotluste rühma (App Group), mis võimaldab neil on mõned üldinfo välise konteineri, nii väljaspool liivakasti. Sa ilmselt märganud, et kui logite sisse oma kontole Google Chrome iOS, siis ka sisse loginud ja Google Maps ja Google Drive - see on tulemus, kasutades rakenduse Group. Aga isegi need rühmad on piiratud teatavat liiki andmeid, mida saab vahetada. Lubatud vahetada andmebaasi cache konto andmed. Kuid kohalike dokumentide ja meediumifaile nii ei ole - need on endiselt keelatud.
Lihtsamalt öeldes, Apple ei taha mõned rakendused on juurdepääs liivakastis teiste. Laiendused on väike liivakast jooksul teise liivakasti, mis hõlbustab suhtlemist erinevate rakenduste kuid mitte kunagi lubatud lähedal rakenduse käivitamist (host app) andmed taotluse mis sisaldab laienduse (sisaldab app).
Mehhanismid joosta Extensions on ka erinev kohaldamine. Kui teil tekib sama laiendiga mitmeid rakendusi, nagu Safari ja Mail, avab süsteem kaks koopiat laienemine, mis kestab eraldi protsessid. Need laiendid on salvestatud erinevates mälu piirkondades. Seega teavet nii rakenduste säilitatakse erinevates kohtades, ja nad on juurdepääs üksnes nende andmeid. Samal põhjusel, brauserid avada erinevaid saite eraldi klapid.
Android pakub oma liivakastis mudel, mille eesmärgiks on ühtlasi kaitsta salvestatud andmed ühes taotluse teistest rakendustest, mis ei ole juurdepääsu neile (kuigi soovi korral arendajad saavad hõlpsasti töötada selle ümber). Eriti ohtlik on siin õiguste andmist lugeda ja kirjutada kõigile andmetele ligipääsu rakenduste aegunud isegi Android 4.2., kuigi taotlus on endiselt võimalik pääseda andmete muud rakendusi.
Jällegi, kõik need mehhanismid on tõhusad ainult siis, kui seda kasutatakse õigesti, kuid inimesed kipuvad olema harv Lugege litsentsileping ja lihtsalt nõus need taotlused, mis pakub tarkvara paigaldada, paljastades oma andmed risk. Apple on väga hästi sobib see küsimus, ja isegi nüüd iOS on mugav seade privaatsust lülitid, mis on selgelt näha, mida prilolzheniya kasutada mõningaid andmeid. Midagi nagu Google teatas Android 4.4, kuid lõplikku vabastamist käesoleva kahjuks ei olnud seal. See ei ole otseselt seotud laiendamist, kuid see on hea näide sellest, kuidas iOS 8, jätkab ohverdama paindlikkus huvides turvalisuse ja kasutajate privaatsust.
Apple paneb ka muid piiranguid laienemise - nad ei saa kasutada kõiki API, mis on kättesaadav rakendusi. Eelkõige kohandatud klaviatuur piiratud arv kohustuslikke nõudeid ja eeskirju. Koostoime mehhanismide Apple laiendid on erinevad, et kasutada Google ja tegelikult iOS 8 jääb suletuks operatsioonisüsteemi võrreldes Android. Kolmanda osapoole rakendusi ei saa ikka suhelda omavahel otse ja süsteemi elemendid nagu avakuva või lock screen ei teosta kohandamine, samuti taotlused Vaikimisi.
Siiski tundub, et Apple on lõpuks kuulda üks suurimaid kaebusi selle mobiilse platvormi ning on võtnud meetmeid, kuid iseloomulik tema stiil, ilma drastiliste meetmeteta, mis võib suurendada mälu nõuetele või turvaohtude kasutajad. Nüüd, kui iOS 8 ei ole veel avaldatud, on raske hinnata plusse ja miinuseid selline lähenemine, kuid paberil see kõik tundub väga paljutõotav.
(kaudu)