Kaikkia uusia ominaisuuksia iOS 8 esiteltiin WWDC, tärkeintä, ehkä, ovat jatke (laajennettavuutta). Niiden pitäisi olla suuri vaikutus kehittämisestä edelleen OS. Usein tämä ominaisuus on "kyky kolmannen osapuolen sovelluksia vuorovaikutuksessa toistensa kanssa." Tämä tietenkin on liian korkealle, koska vuorovaikutus ei ole ainoa mahdollisuus laajennuksia, ja he eivät voi kommunikoida suoraan toistensa kanssa, jos tarkkoja ollaan.
Olemme lukeneet kehittäjädokumeentaatio ja videoita WWDC, ymmärtää, miten laajennukset toimivat ja miten Apple on löytänyt kompromissin avoimuus järjestelmän ja käyttäjän tietoturvaa ja haluaisi puhua siitä teitä.
Joten mitä tehdä laajennus?
Mahdollistavat kolmannen osapuolen sovellukset voivat käyttää toisiaan, se on vain yksi ongelma, joka on ratkaista laajentamiseen. Puolella näppäimistöä; sovelluksen integrointi muihin pilvi varastointi lisäksi iCloud; widgetit ilmoituskeskuksessa - kaikki tämä on myös kantavat laajennuksia.
Itse asiassa, kaikki eivät iOS voidaan "tehostaa" kolmannen osapuolen kehittäjille. Jos esimerkiksi haluat korvata oletuksena sovellus tai lisää kytkimen valvomossa - et toimi. Apple tarjoaa ei niinkään selkeästi määriteltyjä "Laajennuspisteet» (laajennus pistettä), näyttää kehittäjille mitään osaa käyttöjärjestelmää he voivat työskennellä. Luettelo näistä kohdista seuraavasti:
- laajennus Tänään (Tänään laajennukset) tai widgetejä - käytetään antamaan välittömästi ilmoituksen tiedot keskuksen. Voit pitää niitä vastauksena live laatat Windows Phone ja Android aloitusnäytön widgetit.
- vaihdon edistämiseksi (Share laajennukset) - voit lähettää kuvia, linkkejä tai muita tiedostoja sovelluksen verkkoasioinnissa. Kuten lähettämistä kuvia Pinterest tai ladata tiedostoja Dropbox tai onedrive suoraan sovelluksesta.
- lisäämisen (Action laajennukset) - käytetään "manipulointia tai sisällön katselemiseen yhteydessä toiseen sovellukseen." Toisin sanoen, tämä tarkoittaa, että voit muokata valokuvaa, joka sisältyy tekstiasiakirjana tai Esimerkiksi alla olevan esityksen, käyttää jotain Bing Käännä kääntää tekstiä ikkunassa Safari.
- Laajennukset kuvaeditointia (Kuvankäsittely laajennukset) - voivat käyttää editointimahdollisuus muiden sovellusten katseltaessa kamerassa roll.
- laajennettu varastointi (Storage Provider laajennukset) - avulla sovellukset voivat avata asiakirjoja useista pilvi varastointi. Esimerkiksi voit tallentaa asiakirjoja Dropbox ja käyttää niitä suoraan ulos toimistosta iPadille tai sivuja.
- Laajennuksia kolmannen osapuolen näppäimistöt (Custom näppäimistö laajennukset) - korvaa tavallisen näppäimistön iOS.
Sanoi laajennukset ovat iOS, mutta monet heistä (kuten widgetit vaihtaa ja laajentamiseen al.) Käynnissä OS X Yosemite sekä iOS. sovelluksia App Storesta kehittäjille Mac samanlaisia rajoituksia hiekkalaatikko ja toteuttamiseen laajennuksia puri yksinkertaistamaan elämäänsä. Tosin todennäköisesti monet kehittäjät edelleen kiertää niitä, välttäen Mac App Storesta ollenkaan.
Tämä alustava lista Laajennuspisteet eroaa järjestelmästä aikomukset (Intents järjestelmä), jotka työskentelevät Android. Sovellukset Android käytä suodattimia ymmärtää käyttöjärjestelmän toimet, joita he voivat suorittaa ja kahva. Esimerkiksi Twitter ja Facebook voi lähettää kuvia ja linkkejä; Google Drive ja Dropbox ladata erilaisia tiedostoja; Chrome ja Firefox voi avata web-sivuja, jne Kolmannen osapuolen kehittäjät voivat jopa asettaa suodattimia itselleen, joka toimii käyttöjärjestelmässä.
Samaan aikaan, IOS on paljon rajoitus tässä suhteessa, vaikka ei ilman syytä. Kuitenkin tavalliset käyttäjät eivät huomaa kaiken tämän ja laajentaa hieman kuin eroavat virkaveljiensä Android-, iOS- säilyttäen turvallisuuspolitiikkaa.
Kuinka asentaa laajennuksia, ja miten ne toimivat?
Sekä kaikki viralliset sovellus iOS, laajennuksia ladata App Storesta. Suurin rajoitus on, että Apple ei salli kehittäjät voivat julkaista laajennuksia "puhtaassa muodossa". Kukin laajennus on osana jaettavaa sovelluksen (joka sisältää sovellus), joka puolestaan olisi tehdä mitään perustoiminnot ja olla hyötyä käyttäjälle. Eli kehittäjät eivät voi julkaista App Store vain widget tai vain näppäimistö, kuten nyt tapahtuu Android. Samaan aikaan Apple ei aseta mitään rajoituksia määrän ja tyypit laajennuksia, jotka voivat sisältää sovelluksen.
Muut suositukset Apple kehittäjät ei tarvita. Tämä koskee suunnitteluun laajennuksia, jonka pitäisi vastata standardin OS sovellukset: vekottimet eivät eroa nykyisistä vekottimet ilmoituskeskuksessa, ja kuvankäsittely valikosta Kameran Roll - poikkeaa radikaalisti native. Luultavasti on niitä, jotka eivät noudata näitä suosituksia, mutta pääasiassa koska suurin osa kehittäjät ja noudattaa filosofiaa Apple luotaessa niiden sovelluksia.
Jokainen jatke on käytössä eri tavoin. Widgetit - ilmoitusvelvollisuudesta Centre, näppäimistöt - alueellisesta järjestelmän asetuksia. Laajentaminen kuvankäsittelyyn ja varastointi kutsutaan vain tietyissä tilanteissa sovelluksissa, joka tarjoaa vuorovaikutusta heidän kanssaan. Paranna vaihto ja toiminta voidaan kutsua mistä tahansa sovelluksesta, mutta kehittäjät on lisättävä aktivointisääntöjä laajentaa ja määrittää, mitkä tiedot on määrä käsitellä. Jos laajennus säädetään ainoastaan vaihtoon kuvia, sinun täytyy määrittää sen aktivoinnin sääntöjen että laajentuminen ei näytetä, kun käyttäjä haluaa jakaa linkin tai asiakirjan.
Huolimatta siitä, että kaikki laajennukset on "pakattu" hakemuksessa (sisältää app), he voivat työskennellä itsenäisesti. Kukin laajennus - Tämä on pieni binary .appex-tiedosto, joka avautuu työnsä tehtyä ja suljettu käynnistämättä tärkein sovellus. Laajennukset, jotka suorittavat samoja tehtäviä kuin niiden tärkein sovellus (esim. Instagram, jota käytetään lisäämällä suodatin kuvan) kannustetaan käyttämään sisäänrakennettu puitteet lähetyksen koodia tarvitaan kyseisessä tehtävässä. Luodaan puitteet, laita koodi sinne ja voit rakentaa tämän kehyksen sekä sovelluksen ja laajennus. Ainoa rajoitus on, että nämä sovellukset edellyttävät IOS versio 8 ja edellä, koska ei toimi aiemmin käyttöjärjestelmissä.
Yksi syistä laajentamiseen ajaa erillään niiden on Apple kova raja muistin määrää kulutetaan. Erityisesti tämä koskee widget, koska käyttäjä voi olla useita samanaikaisia widgetejä.
Lisäksi widgetit eivät toimi pitkään, ja pakolla poistaa laitteesta sulkemisen jälkeen. Laajennus- jotka suorittavat pitkä tausta tehtäviä, kuten tiedostojen lataaminen, Apple suosittelee siirtämään nämä tehtävät järjestelmää, ja sulje se.
Siinä kaikki keskeiset kohdat, iOS laajennuksia. Kuten näette kaikki mahdolliset laajennukset tiukasti dokumentoitu, mutta on huomattava, että se, että huolimatta lisätä sen toimivaltuuksia, tarjoamia kehittäjät ja niiden sovelluksia, ne eivät riko nykyisten turvallisuuspolitiikkaa ja työtä sen "Hiekkalaatikko".
Turvallisuus käyttäjätiedot. Erot Android
Lyhyesti sanottuna, välinen ero lähestymistapa yksityisyyttä ja turvallisuutta tiedot iOS ja Android-käyttäjille Se on, että jälkimmäinen tarjoaa kehittäjille useita köyden, joka on riittävä hirtti itsensä.
Itse asiassa, jos Android käyttäjät käyttää oletuksena suojausasetukset ennen asennusta kunkin sovelluksen lukea laaja luettelo mitä se voi tehdä - vaara henkilötietojaan kolmansille osapuolille tai haittaohjelmatartunnan ollut niin suuri. Mutta kaikki nämä oikeudet sovellukset aiheuttaa sekaannusta. Jotkut ihmiset haluavat asentaa sovelluksia paitsi Google Play, mutta myös muista lähteistä toiset haluavat saada root-yhteys, jotta voit asentaa vaihtoehtoinen jakaumat - ei ongelmia, kaikki on mahdollista Android. Sellaiset asiat kiinnostavat joitakin käyttäjiä alustan, mutta he tekevät sen kaiken omalla vastuullasi.
Katsokaa iOS, joka, vaikka käyttöönotto laajennusten yhä pystyttää esteitä välillä sovellukset ja niiden laajennuksia ja datasovellusten suojella käyttäjiä (ja niiden informaation) itse. Kuten olemme sanoneet, silti sovellukset eivät voi käsitellä suoraan toisiinsa, koska laajeneminen on pieni binaaritiedostoja kulkevat erillään sisältävä sovellus. Mikä tahansa sovellus, joka saa aikaan laajenemisen (isäntä sovelluksen Apple terminologia) viittaa laajentaa, mutta ei hakemuksen, että se käsittää (sisältää sovellus). Tässä tapauksessa, kun isäntä sovellus tarvitsee käyttää laajentamista, se lähettää pyynnön kautta järjestelmän puitteissa, eikä suoraan, eikä koskaan saada sovelluksen tiedot.
Kehittäjä FortyTwo Inc. Eduardo Fonseca kerrotaan, miten onnistuvat pitämään iOS sovellukset ja laajennukset "turvallisen välimatkan päässä."
"Jokainen laajennus - Tämä on erillinen nippu (nippu) sisällä tärkein nipun sovellus, joka sisältää erilliset ajettavat" - sanoo Fonseca. "Hassua tässä on se, että laajentuminen ei ole sovellus. Se on aiheuttanut kautta Apple järjestelmän puitteissa, käyttämällä selkeästi määritelty rajapinta, joka aloittaa prosessin, alkaa laajentamiseen. Tässä tapauksessa koodi suoritetaan erikseen, ja tämä merkitsee sitä, että minkään kolmannen osapuolen koodia ei voi sisällä hakemuksen. Siksi ei ole vaaraa, että sovellukset, jotka tukevat laajennus (kuten Safari), saattaa ilmetä ongelmia, kun käytät laajennuksia sisällä muita sovelluksia. Ne ovat kuin öljy ja vesi - he eivät kohtaa. "
Vaikka laajennus on tarpeen viitata, joilla on sama sovellus, se BUET esiintyy vain järjestelmän API. Oletusarvoisesti sovellus sisältää laajennuksen ja laajentuminen itsessään ei voi käyttää toistensa tietoja.
Vaihtoa varten tietoa niiden välillä, sinun täytyy tehdä niistä osa ryhmää sovelluksia (App Group), jonka avulla ne voivat saada joitakin yleisiä tietoja ulkosäiliön sekä ulkopuolella hiekkalaatikko. Olet luultavasti huomannut, että kun kirjaudut sisään Google Chromen iOS, voit myös kirjautua sisään ja Google Maps ja Google Drive - se on käytön seurauksena App Group. Mutta vaikka nämä ryhmät rajoittuvat tietyn tyyppisten tietojen voidaan vaihtaa. Sallittu vaihto tietokannan välimuisti tilitietoja. Kuitenkin paikallisten asiakirjoja ja mediatiedostoja ei ole - ne ovat edelleen kiellettyjä.
Yksinkertaisesti sanottuna, Apple ei halua joitakin sovelluksia saada hiekkalaatikko muille. Laajennukset ovat pieniä hiekkalaatikko sisällä toinen hiekkalaatikko, joka helpottaa vuorovaikutusta eri sovellusten, mutta ei koskaan sallinut lähellä käynnistää sovellus (isäntä sovellus) tiedot sovelluksen, joka sisältää laajennuksen (joka sisältää app).
Mekanismit ajaa Laajennukset ovat myös erilaiset sovelluksesta. Jos suoritat saman laajennuksen useissa sovelluksissa, kuten Safari ja Mail, järjestelmä avaa kaksi kopiota tästä kasvusta, joka jatkuu erillisissä prosesseissa. Nämä laajennukset on tallennettu eri muistialueiden. Siten tiedot molempien sovellusten säilytetään eri paikoissa, ja heillä on pääsy vain tietonsa. Samasta syystä selaimet avata useita sivustoja eri välilehtiin.
Android tarjoaa oman hiekkalaatikko malli, jonka tavoitteena on myös suojata tiedot tallennetaan yhteen sovellus muista sovelluksista, jotka eivät pääse niihin (vaikka haluttaessa kehittäjät voivat helposti kiertää sitä). Erityisen vaarallista täällä on myöntämiseen lukemaan ja kirjoittamaan pääsy kaikkiin tietoihin sovellusten vanhentunut jopa Android 4.2., vaikka sovellus on edelleen mahdollisuus saada tietoja muiden sovellukset.
Jälleen kaikki nämä mekanismit ovat tehokkaita vain silloin, kun sitä käytetään oikein, mutta ihmiset ovat yleensä harvinaisia lisenssisopimusta ja vain yhtyä niihin pyyntöihin, joka tarjoaa ohjelmistoja asentaa, paljastaen tietonsa riskejä. Apple on erittäin hyvin sopii tähän asiaan, ja nytkin iOS on viihtyisät puitteet yksityisyyttä kytkimet, jotka voidaan selvästi nähdä, mitä prilolzheniya käyttää joitakin tietoja. Jotain Google ilmoitti Android 4.4, mutta lopullisen version tämän valitettavasti ollut siellä. Sillä ei ole suoraa yhteyttä laajennuksen, mutta tämä on hyvä esimerkki siitä, miten iOS 8, edelleen uhrata joustavuuden vuoksi turvallisuutta ja käyttäjien yksityisyyden.
Apple asettaa myös muita rajoituksia laajeneminen - he eivät voi käyttää kaikkia API, johon pääset sovelluksia. Erityisesti Customkeyboard rajoitettu määrä pakollisia vaatimuksia ja sääntöjä. Mekanismien vuorovaikutuksen Apple laajennukset ovat erilaisia kuin käytöstä Google ja itse asiassa iOS 8 pysyy suljettuna käyttöjärjestelmä, verrattuna Android. Kolmannen osapuolen sovellukset voivat silti olla yhteydessä suoraan keskenään, ja järjestelmän osia kuten kodin näytön tai lukitusruutuun ei voida hakea räätälöinnin, sekä sovelluksia Oletus.
Näyttää kuitenkin siltä, että Apple on vihdoin kuunnellut suurin yksittäinen valituksia sen mobiilialusta ja on ryhtynyt toimenpiteisiin, mutta ominaisia hänen tyyliään, ilman radikaaleja toimia, mikä voi lisätä muistin vaatimuksia tai turvallisuusuhkiin käyttäjille. Nyt, kun iOS 8 ei ole vielä julkaistu, on vaikea arvioida, mitä etuja ja haittoja tällaisen lähestymistavan, mutta paperilla kaikki näyttää hyvin lupaavalta.
(kautta)