От всички нови функции IOS 8, представени на WWDC, най-важното, може би, са разширението (удължение). Те трябва да имат голямо влияние върху по-нататъшното развитие на операционната система. Често тази функция е описана като "способността на приложения на трети страни да си взаимодействат един с друг." Това, разбира се, е твърде преувеличена, тъй като взаимодействието не е единствената възможност за удължаване, и те не могат да общуват директно помежду си, за да бъдем точни.
Имаме прочетете документацията за програмисти и видеоклиповете от WWDC, за да разберем как функционират разширенията и как Apple е намерил компромис между отвореността на сигурността на системата и потребителски данни и би искал да говоря за това вас.
Така че това, което правя разширяването?
Разрешаването на приложения на трети страни за достъп до един на друг, това е само един проблем, който е за решаване на разширяването. Страна на клавиатурата; прилагане интеграция с други облак съхранение, в допълнение към iCloud; джунджурии в Notification Center - всичко това също се поемат от разширения.
В действителност, не всички от ЗИ, могат да бъдат "подобрени" външни разработчици. Например, ако искате да смените приложението по подразбиране или да добавите ключ в контролната зала - вие няма да работи. Apple предвижда се не толкова ясно определени "Разширение на точки» (удължаване точки), за да покаже на разработчиците с който и да е част от операционната система, те могат да работят. Списъкът на тези точки, както следва:
- разширяване Днес (Днес разширения) или приспособления - се използват за осигуряване на бърза информация в Notification Center. Можете да ги разглеждаме като отговор на живи плочки за Windows Phone и Android джаджи началния екран.
- подобряване на обмена на (дял разширения) - позволяват да изпращате снимки, връзки или други файлове на приложението в онлайн услугите. Такива като публикуването на снимки в Pinterest или да качвате файлове в Dropbox или OneDrive директно от приложението.
- увеличаване на (разширения за действие) - използвани за "манипулация или за гледане на съдържание в контекста на друго приложение." С други думи, това означава, че можете да редактирате снимката, която се съдържа в текстов документ, или, Например, както е показано в презентацията, се използва нещо като Bing Превод за превод на текст в прозорец Safari.
- Разширения за редактиране на снимки (за редактиране на снимки разширения) - могат да използват за редактиране на възможностите на други приложения, когато преглеждате изображения в ролката на камерата.
- разширена съхранение (Storage Доставчик на разширения) - позволява на приложенията да отваряте документи от редица облак съхранение. Например, можете да използвате за съхранение на вашите документи за сейфа и достъпа им директно от Службата за Ipad или страници.
- Разширения за трети страни клавиатури (Персонализирани клавишни разширения) - да замени стандартната клавиатура на IOS.
Споменатите разширения са ЗИ, но много от тях (включително приспособления обмен и разширяване и др.), Работещ в OS X Йосемити, както и в IOS. приложения от App Store разработчиците на Mac са изправени пред подобни ограничения пясъчника и прилагането на разширения на предаване се опрости живота си. Макар че, най-вероятно, много фирми продължават да ги избегне, като се избягва Mac App Store изобщо.
Този предварителен списък на разширения точки различава от намеренията на системата (Намерения система), които работят в Android. Приложенията в Android използват филтрите за разбиране на операционната система какви действия може да извършва и дръжка. Например, Twitter и Facebook да публикувате снимки и връзки; Google Drive, Dropbox и да изтеглите различни файлове; Chrome и Firefox можете да отворите уеб страници и др програмисти на трети страни могат дори да си поставят филтри, които ще работят в операционната система.
В същото време, IOS е много ограничения в това отношение, макар и не без причина. Въпреки това, за обикновени потребители, няма да забележите всичко това и да се разшири малко, отколкото ще се различава от своите колеги Android, IOS като същевременно се поддържа политика на сигурност.
Как да инсталирате разширения, и как те си върши работата?
Както и всички официалното приложение за IOS, разширения, изтеглени от App Store. Най-голямото ограничение тук е, че Apple не позволява на разработчиците да публикуват на разширения в "чист вид". Всяко разширение трябва да бъдат разпределени като част от заявлението (съдържащ приложение), който от своя страна трябва да изпълнява една от основните функции и да бъде полезен за потребителя. Това означава, че разработчиците не могат да публикуват в App Store само една джаджа или просто клавиатурата, както се случва в момента в Android. В същото време, Apple не налага никакви ограничения по отношение на броя и вида на разширения, които могат да съдържат вашата кандидатура.
не се изискват Други препоръки за разработчиците на Apple. Това се отнася до дизайна на разширения, които трябва да отговарят на стандартните приложения на операционната система: джаджи не се различават от съществуващите приложения, по Notification Center, както и фото меню за редактиране на ролката с камера - коренно различни от роден. Вероятно има и такива, които не успяват да се съобразят с тези препоръки, но най-вече заради по-голямата част от разработчиците и да се придържа към философията на Apple при създаването на техните приложения.
Всяко разширение е активирана по различни начини. Widgets - от Notification Center, клавиатури - от настройките на регионални системи. Разширяване на редактиране и съхранение на снимки, се наричат само в определени ситуации на приложения, които осигуряват взаимодействие с тях. Подобряване на обмена и действие може да бъде наречен от всяко приложение, но разработчиците трябва да добавят правилата за активиране да се разшири и да посочите кои данни да бъдат обработвани. Ако разширението Ви предоставя само за обмен на снимки, трябва да го посочите в активирането на правилата, че разширяването не се появява, когато потребителят иска да сподели връзка или документ.
Въпреки факта, че всички разширения трябва да бъдат "опаковани" в (приложението съдържащ) за кандидатстване, могат да работят самостоятелно. Всяко разширение - това е една малка двоичен .appex-файл, който се отваря свърши работата и затвори без да се налага да се започне основното приложение. За разширения, които изпълняват същите задачи като основната им прилагане (например Instagram, използван за добавяне на филтър на изображението) Желателно е да използвате вградена рамка за предаване на изпълним код, необходим за съответната задача. Създаване на рамка, поставете кода там и вие ще бъдете в състояние да изгради тази рамка, както в заявлението и в разширението. Единственото ограничение е, че тези приложения ще изискват IOS версия 8 и по-горе, тъй като няма да се движат на по-ранни операционни системи.
Една от причините за разширяването работи отделно от заявлението от него, е Apple твърд лимит на количеството памет консумира. По-специално това се отнася за приспособлението, като потребителят може да има множество едновременни джаджи.
В допълнение, джунджурии не работят за дълго време, и насилствено отстранени от устройството след сключването на сделката. За разширения, които извършват продължителни фонови задачи, като например сваляне на файлове, Apple препоръчва да се прехвърлят тези задачи система, а след това го затворите.
Това е на всички основни точки, на разширения IOS. Както можете да видите всички възможни разширения стриктно документирани, но се отличава с това, че въпреки по-големи правомощия, предоставена от разработчици и техните приложения, те не нарушават съществуващата политика за сигурност и работа в рамките на своята "Sandbox".
Сигурността на потребителски данни. Разлики от Android
С две думи, разликата между подхода към данните за неприкосновеността на личния живот и сигурността IOS и Android потребителите Тя е, че последният предоставя на разработчиците с редица въжето, което е достатъчно, за да се обеси.
В действителност, ако потребителите на Android използват настройките за сигурност по подразбиране, преди инсталирането на всяка молба прочетете дългия списък неща, той може да направи - опасността от техните лични данни на трети лица или заразяване със злонамерен софтуер не е толкова страхотно. Но всички тези приложения на човека да доведат до объркване. Някои хора избират да инсталирате приложения, които не само от Google Play, но също така и от други източници; други искат да се корен-достъп, за да инсталирате алтернативни разпределения - няма проблеми, всичко е възможно с Android. Такива неща са от интерес на някои потребители на платформата, но те го направя всичко по свой собствен риск.
Погледнете ЗИ, което, дори и с въвеждането на разширения още издига бариери между приложения и техните разширения и приложения за данни за защита на потребителите (и тяхната информация) от себе си. Както казахме, все още приложения не могат да се отнасят помежду си директно, тъй като разширяването е малки бинарни файлове, които работят отделно от съдържащ заявлението. Всяко приложение, което предизвиква (ап домакин в Apple терминология) разширяване се отнася за разширяване, но не и до приложението, което включва (съдържащ приложението). В този случай, когато заявлението за домакин трябва да използва разширението, той изпраща заявка чрез рамките на системата, а не пряко, и никога няма да имат достъп до данните за кандидатстване.
Разработчик на FortyTwo Inc. Едуардо Фонсека обяснява как да се управлява, за да IOS приложения и разширения "на безопасно разстояние."
"Всяко разширение - това е отделен пакет (пакет) вътре в основното приложение пакет, който съдържа отделни изпълними" - казва Фонсека. "Смешното е, че разширяването не е приложение. То е причинено чрез системата рамки на Apple, с помощта на ясно определен интерфейс, който инициира процеса на стартиране експанзия. В този случай, на кода се извършва отделно, а това означава, че изпълнението на тези от трети страни код не може да бъде вътре в заявлението. Поради това, че не съществува риск, че приложенията, които ще подкрепят разширяването (като Safari), които могат да възникнат проблеми, когато използвате разширения вътре други приложения. Те са като масло и вода - те не се смесват ".
Дори ако разширяването е необходимо да се обърнете към имащ същата молба, тя buet настъпи само чрез API на системата. По подразбиране, приложението съдържа удължаване и разширяване на себе си не може да има достъп до данни на другия.
За обмен на данни между тях, трябва да ги направи част от група от приложения (App Group), която ще им позволи да имат някаква обща информация във външния контейнер, както отвън, така пясъчника. Вероятно сте забелязали, че след като влезете в профила си в Google Chrome на IOS, вие също ще бъде влезли и в Google Maps и Google Диск - това е резултат от използването на приложението Group. Но дори и тези групи са ограничени до определени типове данни, които могат да се обменят. Разрешена информация кеш сметка обмен на база данни. Въпреки това, за местни документи и мултимедийни файлове, не е така - те все още са забранени.
Казано по-просто, Apple не иска някои приложения да имат достъп до пясъчника друг. Разширенията са малки пясък в друг пясък, който ще улесни взаимодействието на различни приложения, но никога не е позволено в близост до стартирането (ап домакин) Заявлението за кандидатстване данни, който съдържа разширение (съдържащ приложението).
Механизми използват разширения също са различни от приложението. Ако се сблъскате с едно и също разширение в няколко приложения, като например Safari и Mail, системата ще открие две копия на тази експанзия, която ще се проведе в отделни процеси. Тези разширения се съхраняват в различни области на паметта. По този начин информацията и на двете приложения се съхраняват на различни места, и те имат достъп само до данните си. По същата причина, браузъри отварят различни сайтове в отделни раздели.
Android осигурява свой модел пясък, който също има за цел да защити данните, съхранявани в един заявление от други приложения, които нямат достъп до тях (въпреки че, ако е необходимо, разработчиците могат лесно да работят около него). Особено опасно тук е предоставянето на права за четене и запис на достъп до всички данни на приложения, които да остаряла дори Android 4.2., въпреки че прилагането все още е в състояние за достъп до данните на други приложения.
Отново, всички тези механизми са ефективни само, когато се използва правилно, но хората са склонни да бъдат редки прочетете лицензионното споразумение и просто са съгласни с тези искания, което осигурява да се инсталира софтуер, излагайки своите данни риска. Apple е много добре приспособени към този проблем, а дори и сега в IOS има комфортна обстановка с ключове за поверителност, които могат да бъдат видени ясно какво prilolzheniya използвате някаква информация. Нещо като Google обяви в Android 4.4, но в крайна версия на това, за съжаление, не беше там. Той няма пряка връзка с разширяването, но това е един добър пример за това как ЗИ 8, продължава да жертват гъвкавост в името на сигурността и поверителността на потребителите.
Apple също налага други ограничения върху разширяването - те не могат да се използват всички API, който е достъпен от приложения. По-специално по поръчка клавиатура ограничен брой задължителни изисквания и правила. Механизми на взаимодействие разширения на Apple са различни от тези, които използват Google и, всъщност, IOS 8 остава затворен операционна система, в сравнение с Android. Приложения на трети страни все още не могат да комуникират пряко помежду си, както и елементи от системата като начален екран или заключване на екрана не се поддава на персонализация, както и молби за По подразбиране.
Въпреки това, изглежда, че Apple най-накрая се вслушваше в единични големите оплаквания за своята мобилна платформа и е предприела мерки, но Характерно за стила си, без драстични действия, които биха могли да повишат изискванията за памет или заплахи за сигурността потребители. Сега, докато IOS 8 все още не е публикувано, че е трудно да се прецени предимствата и недостатъците на този подход, но на хартия всичко изглежда много обещаващо.
(чрез)