Начиная с iOS 8 все приложения получит доступ к одному и тому же улучшенному движку JavaScript, а пользователи, соответственно, получат одинаковую скорость работы в других браузерных приложениях, включая Google Chrome для iOS.
Пользователь Reddit с ником dqueso пояснил, почему Apple не спешил поделиться этим инструментарием с разработчиками в более ранних версиях iOS – из соображений безопасности Safari получил более привилегированное положение в iOS 7 и более старых версиях.
«Дело в безопасности. Я считаю, что Nitro использует JIT-компиляцию, поэтому переводит JavaScript в нативный код, которые процессор обрабатывает напрямую, без предварительного интерпретирования JavaScript. Для этого движок должен иметь возможность выделять память, в которую можно записывать код и исполнять его», - пишет dqueso.
«В iOS ни вы, ни любые вредоносные данные, попадающие в ваши приложения, не могут модифицировать исполняемые части вашего кода. Таким образом, пользователи или «хакеры» (теорерически) не могут внедрить вредоносный код в ваше приложения, найдя способ модифицировать исполняемый код и получить эксплойт».
«Думаю, что движок Nitro работает в виде отдельного процесса, а Safari использует кросс-процессную коммуникацию для быстрого исполнения кода JavaScript. Поскольку Apple, похоже, доработал свой XPC до такой степени, что может выпустить API для расширений (виджеты, сторонние клавиатуры, фотофильтры и т.д.), то компания может себе позволит доверять сторонним приложениям использование движка Nitro», - комментирует dqueso на Reddit.
.Другие новости по теме:
Постоянный адрес публикации: http://www.procontent.ru/news/28667.html
© Антон Веремьянин «Мобильный Контент»