Pull to refresh

Microsoft обнаружила в TikTok для Android критическую уязвимость, которая позволяет красть аккаунты

Information Security *JavaScript *Development for Android *Mobile App Analytics *Social networks and communities

Microsoft обнаружила в приложении TikTok для Android серьёзную уязвимость, которая позволяла злоумышленникам взломать учётные записи пользователей одним щелчком мыши. Уязвимость уже была устранена, и никаких доказательств её эксплуатации не выявили. 

Читать далее
Total votes 4: ↑4 and ↓0 +4
Views 1.1K
Comments 0

iOS 4.3 vs. Android 2.3: тестирование скорости загрузки сайтов

Development for Android *
Компания Blaze.io, занимающаяся оптимизацией сайтов, провела сравнительное тестирование последних версий iPhone и Android на тысяче сайтов. Результаты оказались смешанными: на 84% сайтов быстрее оказался встроенный браузер Android, а на 16% сайтов — встроенный браузер iPhone. При этом среднее по медиане время загрузки страницы по WiFi на Android составило 2,144 с, а у iPhone — 3,254 с.

Всего было проведено 46000 тестов на сайтах компаний из списка Fortune 1000 в разное время суток с отбрасыванием слишком быстрых и слишком медленных результатов (ошибки в сети). Использовались устройства iPhone 4.2, iPhone 4.3, Galaxy S (Android 2.2) и Nexus S (Android 2.3), WiFi-маршрутизатор, подключенный к быстрому DSL-соединению.
Читать дальше →
Total votes 23: ↑13 and ↓10 +3
Views 2.3K
Comments 11

Проигрывание YouTube видео с помощью WebView

Development for Android *
Некоторые разработчики под Андроид ОС могли столкнуться с проблемой проигрывания видео с youtube, в версии операционной системы 2.2 и старше. Когда старый вариант с использованием shouldOverrideUrlLoading уже перестал работать, а новые решения достаточно проблематично отыскать. В данном посте я предлагаю пример основанный на использовании некоторых особенностей WebView связанных с динамическим созданием так называемых CustomView.
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Views 9.3K
Comments 10

Как ускорить реакцию на нажатие ссылок в WebView под Android

Development for Android *
Sandbox
Приветствую всех Хабровчан!

Излагаю суть проблемы: есть приложение на Андроид — его суть — просто обертка вокруг WebView.
Весь функционал вынесен в PHP (на сервере) и JavaScript (на клиентских страницах).
Основная цель — на страницах много кнопок, которые пользователь может включать/выключать, тыча в них пальчиком (они при этом просто меняют цвет фона). Кнопки выполнены в виде ссылок, для которых в CSS заданы размеры, display: block, float: left, и т.п. (При попытке использовать обычные кнопки — <input type=«button»… /> — результат не меняется)

Так вот, при нажатии на кнопку (ссылку) смартфон делает паузу (где-то 300-400 мс), затем издает короткий звук нажатия, затем подсвечивает кнопку оранжевой рамкой и убирает ее (рамку). На все это уходит почти секунда (может и немного меньше, но все равно это ужасно мешает). Кнопок в окне много, нажимать их нужно быстро.
Читать дальше →
Total votes 16: ↑8 and ↓8 0
Views 4.3K
Comments 19

Новый Chromium WebView теперь обновляется через Google Play и поддерживает Web Components

Website development *Development for Android *
Разработчики Android 5.0 Lollipop («Леденец») представили основные изменения компонента WebView, используемого для отображения в приложениях HTML5-содержимого. Начиная с Android 5.0 компонент обновляется через Google Play. Это значит, что когда Google обновляет движок своего браузера, новые функции также становятся доступны для всех разработчиков приложений, вне зависимости от того выпустил ли производитель Android-устройства обновление операционной системы или нет.

Для тех приложений, которые разрабатываются с помощью Apache Cordova или Adobe PhoneGap, новая стратегия распространения дает очевидные преимущества — конечные пользователи могут значительно быстрее получать последние нововведения, которые появляются в Web-платформе, точно также как пользователи настольных браузеров.
Читать дальше →
Total votes 39: ↑36 and ↓3 +33
Views 26K
Comments 17

Белая книга по доступности PhoneGap

Interfaces *Accessibility *Mobile applications design *
Организация Глобальной инициативы в области инклюзивных ИКТ (G3ict) в сотрудничестве с Adobe Systems Incorporated выпустила белую книгу по вопросам разработки доступных интерфейсов для мобильных приложений с помощью фреймворка PhoneGap, также известного как Apache Callback или Apache Cordova. Данный десятистраничный документ описывает текущее состояние доступности мобильных приложений, преимущества, присущие подходу PhoneGap в отношении создания доступных кросс-платформенных приложений этой категории, а также мотивы Adobe в отношении создания специального плагина, который сокращает разрыв между технологиями web-доступности и нативными accessibility API мобильных платформ.

Напомним, что представленный около года назад PhoneGap Mobile Accessibility Plugin, передаёт приложениям такую информацию, как состояние настроек увеличения шрифта и прочего. В результате, PhoneGap-приложения получают более тесное взаимодействие с функциональностью доступности в той или иной операционной системе, сопоставимую с нативными приложениями.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Views 5.9K
Comments 0

Node-Webkit без вебкита

JavaScript *Node.JS *
Как-то мы обсуждали десктопные приложения nw.js. Всё хорошо, но необходимость распространять весь движок браузера (который с течением времени и добавлением новых фич меньше не становится и сейчас весит сжатый 30МБ) — удручает.
А что если сделать модуль для node.js, умеющий показывать UI в системном браузере?
Под катом расскажу о попытке — как оно, стоит ли усилий, можно ли использовать, и что в результате получилось.
Читать дальше →
Total votes 29: ↑29 and ↓0 +29
Views 16K
Comments 16

Android WebView: актуальные проблемы и их решение

VK corporate blog Instant Messaging *Development of mobile applications *Development for Android *
На прошедшей встрече AndroidDevs Meetup выступили несколько разработчиков из команды мессенджера ICQ. Мой доклад был посвящен Android WebView. Для всех, кто не смог приехать на встречу, публикую здесь статью по мотивам выступления. Пойду по верхам, крупными штрихами. Глубоких технических деталей и много кода давать не буду. Если вас заинтересуют подробности, по ссылке в конце поста можно скачать приложение, специально написанное в качестве иллюстрации, и все увидеть на примерах.

Что такое WebView?


WebView — это компонент платформы Android, который позволяет встраивать web-страницы в Android-приложения. По сути, это встраиваемый браузер. При помощи WebView примерно год назад мы решили создать ICQ Web API для интеграции web-приложений в наш мессенджер. Что представляет собой web-приложение? По сути, это HTML-страница, которая содержит JavaScript и работает внутри ICQ. Используя ICQ Web API, web-страницы через JavaScript могут отдавать ICQ разные команды, допустим, на отправку сообщений, открытие чата и т.п.


Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Views 165K
Comments 2

Crosswalk Project — замена Android WebView. Интеграция в проект

Website development *Development of mobile applications *Development for Android *
Tutorial
CrosswalkProject

Эта статья откроет небольшой цикл из двух частей, посвященных интересному проекту под названием Crosswalk Project. В них я затрону вопросы интеграции Crosswalk в Android приложение и использовании его как замену системного WebView в обычном приложении.

Под «обычным» я подразумеваю классический проект на Java с использованием Android SDK, в противовес HTML5 приложениям и нативному C++ коду. А т.к. Crosswalk в основном используется как runtime запуска HTML5 приложений, то, чтобы не путаться в терминах, буду называть этот проект обычным.

В первой части я хочу рассказать непосредственно об интеграции Crosswalk в Android приложение и использовании Crosswalk WebView вместо системного Android WebView. Во второй части я опишу некоторые нюансы и сложности в работе с Crosswalk при интеграции, а также сделаю общие выводы.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 30K
Comments 4

Crosswalk Project — замена Android WebView. Проблемы интеграции

Website development *Development of mobile applications *Development for Android *
CrosswalkProject

В этой статье я закончу свой рассказ о проекте Crosswalk Project (первую часть вы можете найти здесь). Расскажу более детально о своем опыте интеграции Crosswalk, некоторых тонкостях при работе с ним, встреченных проблемах и их возможных решениях.

Первое и, возможно, самое очевидно решение всех вопросов — это изменение кода Crosswalk под свои нужды. Это возможно, т.к. проект открытый и даже можно помочь его авторам. Однако, нужно это не всегда и может вызвать дополнительные затруднения. В описываемых примерах такой вариант я не рассматриваю, но изучить код базовых классов полезно.
Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Views 11K
Comments 2

Однопоточность в Android WebView

Development for Android *
Sandbox

Предыстория


При разработке мобильного приложения для крупной международной компании возникла необходимость отобразить Web страничку в WebView. Страница на Java Script и содержит DOM контент порядка 10-15 Мб. В связи с большим размером страница загружается порядка 30 — 50 секунд, в зависимости от интернет соединения. Такие результаты не радовали, поэтому возникла необходимость тщательного исследования данной проблемы.

Кэширование в WebView


Единственным найденным решением было использование кэширования для загружаемого контента:
webview.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);

Скорость загрузки увеличилась вдвое. Однако, для поддержания актуальности контента, WebView проверяет каждый файл в отдельности на его валидность. Хоть скорость и выросла, время загрузки данной страницы внутри WebView по сравнению с мобильным браузером Chrome уступало в несколько раз.

Однопоточность WebView


После тщательного исследования пришел к выводу, что WebView использует всего один поток для загрузки данных. Это верно как для WebView построенном на собственном WebKit (SDK < 19) так и для WebView с Chromium движком (SDK>=19). Chrome в отличии от WebView использует много потоков (число зависит от процессора) и не использует в себе WebView. Поэтому сравнивать WebView с Chrome тоже самое, что сравнивать запорожец с Lamborghini, нет смысла. Разработчики нативного компонента Cromium для WebView не предполагают внедрение многопоточности и считают, что один поток гарантирует стабильную работу.
Читать дальше →
Total votes 15: ↑11 and ↓4 +7
Views 9.2K
Comments 10

Векторизация, небольшой баг и семистильный костыль

JavaScript *Development of mobile applications *Development for Windows Phone *
Только что я нашёл решение странного бага, который преследовал меня целую неделю. Эта небольшая эпопея произвела на меня такое впечатление, что я решил поделиться ею с сообществом. Ошибка, которую я обнаружил, возможно, присутствует лишь в моей прошивке и, скорее всего, никогда вас не затронет. Разве что вы решите делать Cordova/PhoneGap/HTML5 приложение с векторной графикой для Windows Phone 8.1
Подробности
Total votes 17: ↑16 and ↓1 +15
Views 8.9K
Comments 8

Простой, естественный вопрос: какие бывают библиотеки UWP?

Development for Windows Phone *Development for Windows *


Повторное использование кода и совместимость под различные платформы в наше время довольно актуальный вопрос. Кроме того MSFT в последнее время старается угодить разработчикам различных платформ и языков программирования. Именно поэтому, вероятно, возможности универсальной платформы Windows позволяют использовать не один тип библиотек. Под катом о том, какие библиотеки, как и зачем можно использовать в приложениях UWP.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 5.8K
Comments 4

Crosswalk Project — замена Android WebView. Развитие проекта

Development of mobile applications *Development for Android *


Эта заметка-обзор продолжит короткий цикл из двух статей, посвященных интересному проекту под названием Crosswalk. В ней я расскажу о том, что изменилось в проекте Crosswalk с версии 14.43.343.17 и стало ли удобнее им пользоваться теперь.


Напомню, что Crosswalk Project — это runtime построенный на технологиях open source для HTML приложений. Основой для Crosswalk Project служит Google Chromium. Crosswalk Project также является open source проектом и распространяется под BSD License. В общем, если вы всё ещё поддерживаете ранние версии Android, то это неплохая замена для системного Android WebView.


Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 13K
Comments 14

Безопасность Android-приложений. Лекция в Яндексе

Яндекс corporate blog Information Security *Development of mobile applications *Development for Android *Mobile applications testing *
Разработчик Дмитрий Лукьяненко, чью лекцию мы публикуем сегодня, не только является специалистом Яндекса, но и умеет проверять на прочность решения разработчиков других компаний. Это позволяет учиться на чужих ошибках — не исключая порой своих, конечно. В докладе Дмитрий поделится примерами Android-уязвимостей, в том числе найденных им собственноручно. Каждый пример сопровождается рекомендациями — как нужно и как не нужно писать приложения под Android.



Меня зовут Дмитрий, я работаю в компании Яндекс в минском офисе, занимаюсь разработкой аккаунт-менеджера. Это библиотека, которая отвечает за авторизацию пользователей. Поэтому мы поговорим о безопасности Android-приложений.
Total votes 68: ↑68 and ↓0 +68
Views 31K
Comments 14

Интеграция Cordova в нативный iOS проект

Development for iOS *Development of mobile applications *
Tutorial
image

Продолжая небольшую серию статей «Crosswalk Project — замена Android WebView», есть смысл разобрать аналогичную задачу для iOS. Основой для интеграции на этот раз был выбран проект Cordova, т.к. он имеет больший функционал и в данном случае лучше подходит для поставленной задачи.

Оба решения и Cordova, и Crosswalk основываются на WKWebView в своей версии для iOS. Поэтому в данном случае прямой заменой системному WebView они не являются, а только расширяют его.

Целевой язык демо-проекта — Swift, но для проекта на Objective-C всё будет аналогично. Не нужно только выполнять последний шаг по адаптации Cordova для использования со Swift.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 7K
Comments 0

Blue Shift или оптимизация времени запуска iOS-приложения. Лекция Яндекса

Яндекс corporate blog Client optimization *Development for iOS *Browsers
Казалось бы, при загрузке приложения можно и потерпеть секунду-другую. Но когда ваша программа используется часто, а в конкурентах — аналог от производителя самой ОС, то даже время запуска начинает сказываться. Разработчик Яндекса Виктор Брыксин bobermaniac выступил на встрече сообщества CocoaHeads в офисе наших коллег в Mail.Ru и рассказал, как заставить iOS-приложение запускаться побыстрее.


— Долгое время я занимался разработкой Яндекс.Браузера. Собственно, из оптимизации времени старта этого приложения и родился мой доклад.
Total votes 37: ↑37 and ↓0 +37
Views 6.4K
Comments 0

Chrome 57 будет активно подавлять работу фоновых вкладок

Programming *


Ближайшие изменения в браузере Chrome вряд ли порадуют разработчиков Slack, Discord и других программ, которые работают во вкладках браузера. В бета-версии Chrome 56 реализован новый механизм оптимизации таймеров для фоновых вкладок.

На первый взгляд, инициатива разработчиков выглядит хорошим делом. В сентябрьском плане внедрения (Intent to Implement) объясняются причины, которые сподвигли разработчиков на такое решение.

Главная причина — некоторые плохо спроектированные приложения (например, скрипты аналитики и javascript-реклама) потребляют много ресурсов CPU, хотя находятся в фоновом режиме. Это негативно отражается на производительности браузера и потребляет энергию аккумулятора на мобильных устройствах. Такая обработка активности в фоновых вкладках совершенно ни к чему. Идея состоит в том, чтобы установить максимальный лимит вычислительных ресурсов, которые можно дать фоновому приложению.
Читать дальше →
Total votes 38: ↑37 and ↓1 +36
Views 25K
Comments 78

Две стороны WebView: о быстром запуске проектов и краже персональных данных

Сбер corporate blog JavaScript *Development of mobile applications *Development for Android *Mobile applications design *
Привет, Хабр!

Меня зовут Евгений, я Full Stack JS разработчик, текущий стек Node.js + React + React Native. В разработке я более 10 лет. В мобильной разработке пробовал разные инструменты от Cordova до React Native. Получив опыт работы с Cardova, я понял, что мне хотелось бы создавать нативные интерфейсы, на мой взгляд WebView не должно быть всем приложением. Но это не значит, что его не надо использовать вовсе.

По приглашению коллег из Сбербанка, в этом посте хочу рассказать про гибридные мобильные приложения. При правильном подходе, это отличный способ быстро реализовать идею в виде хорошо работающего продукта, достаточного для первого запуска вашего стартапа.


Источник: srishta.com

Также немного расскажу о том, как вы можете использовать WebView и как его могут использовать против вас злоумышленники. Примеры в статье будут показаны с использованием фреймворка React Native, но те же идеи можно реализовать и без него.
Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Views 41K
Comments 9
1