Нативный код Android и iOS в Qt на примере status bar

Автор: admin от 28-01-2017, 22:55, посмотрело: 504

Здравствуйте! Уверен, многие слышали о том, что Qt очень хорош для кросплатформенной разработки мобильных приложений. Однако, для решения некоторых задач приходится иметь дело с нативным кодом (Java, Objective-C), к примеру, вызов камеры, галереи, вызов стороннего api.


В этой статье на простом примере задания прозрачности для status bar я покажу, как осуществляется вызов нативного кода Java и Objective-C.


Нативный код Android и iOS в Qt на примере status bar

Категория: Веб-разработка / Android / iOS

 

iOS: Работа с галереей (Photos framework). Часть 2

Автор: admin от 28-01-2017, 15:05, посмотрело: 391

Привет, Хабр! В этой статье я расскажу про работу с видео, live-фото и отслеживание изменений в галерее с помощью Photos framework. Для лучшего понимания статьи рекомендую ознакомиться с предыдущей статьей.

Категория: Веб-разработка / iOS

 

Security Week 04: пропавший ботнет, уязвимость в Webex, патчи Apple

Автор: admin от 28-01-2017, 13:25, посмотрело: 331

Security Week 04: пропавший ботнет, уязвимость в Webex, патчи AppleВажной технической новостью недели в сфере ИБ стало исследование (новость) специалиста по безопасности в проекте Google Project Zero Тависа Орманди об уязвимости в плагине Cisco Webex для браузера Chrome. Тавис специализируется на неординарных уязвимостях (несколько патчей для продуктов «Лаборатории», кстати, выпущены благодаря ему), но проблема в плагине для популярного сервиса видеоконференций относится к совсем уж нестандартным.

Конференция Webex — это по сути отдельная программа, которая запускается на вашем компьютере, после того как участие было инициировано в браузере. Соответственно, для выполнения нативного кода, плагин Cisco Webex использует интерфейс Native Messaging. Суть бага в том, что если передать плагину URL с определенной «магической строкой», то он запустит любой код, без всяких проверок. Пожалуй, следует назвать это фичей: явно было сделано для упрощения процесса запуска нужного приложения без особых церемоний. В итоге, пользователь может словить троян, посетив подготовленную веб-страницу (любую), и кликнув один раз OK на предложение начать веб-конференцию.

Уязвимость была пофикшена быстро, но, по мнению ряда исследователей (включая самого Тависа), не до конца. Новая версия плагина для Chrome ограничивает возможность запуска кода при наличии чудо-строки, только если URL начинается с https://*.webex.com/. Очевидно, что это значительно ограничивает возможность эксплуатации, но любая XSS уязвимость на webex.com может быть использована в паре с магической строкой для атаки.

Категория: Информационная безопасность / iOS

 

Будущее мобайла — не приложения, а браузеры

Автор: admin от 24-01-2017, 11:10, посмотрело: 364

Будущее мобайла — не приложения, а браузеры

В дискуссиях о будущем мобайла постоянно звучит тезис о том, что «в конце концов останутся только мобильные приложения под iOS или Android». Старший менеджер по продукту в Intercom Хью Даркин решил с этим поспорить. Он считает: у многих, кто говорит об этом, есть личная заинтересованность в выживании нативных мобильных приложений.

Статья переведена компанией-локализатором Alconost

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

Категория: Веб-разработка / Android / iOS

 

Дайджест интересных материалов для мобильного разработчика #187 (16-22 января)

Автор: admin от 23-01-2017, 09:10, посмотрело: 316

В новом дайджесте история приложения для изучения русского языка, покупка платформы Fabric, «индустриальный» отчет App Annie за 2016 год, магия воды и библиотеки, дизайн, инфраструктура. Хорошего чтения!
Дайджест интересных материалов для мобильного разработчика #187 (16-22 января)

Категория: Веб-разработка / Android / iOS

 

UIColor и UIImage в XCode 8 при помощи литералов

Автор: admin от 22-01-2017, 00:00, посмотрело: 426

Работа с UIImage и UIColor из кода была не слишком удобной, потому что трудно представить себе цвет UIColor(red: 0.2, green: 0.4, blue: 0.6, alpha: 1) или UIImage(named: "pattern25"), если ты не дизайнер, конечно.


Для меня было чудом то, что Apple сделали в последних версиях Playground, а именно



  • Возможность указывать цвет, выбирая из палитры цветов:


UIColor и UIImage в XCode 8 при помощи литералов



  • Возможность выбирать изображение из тех, что находятся в ресурсах:


UIColor и UIImage в XCode 8 при помощи литералов


Цвет представлен очень наглядно и при клике на него, можно узнать какие значения RGBA он имеет и подтюнить его по необходимости.


Миниатюры картинок тоже выглядят гораздо нагляднее, чем просто названия ресурсов. К тому же инициализируя UIImage при помощи failable initializer init(named: String) -> UIImage? мы рискуем получить nil, неправильно указав имя ресурса. Литералы же всегда возвращают значение.

Категория: Веб-разработка / iOS

 

Пишем универсальный UICollectionViewLayout

Автор: admin от 21-01-2017, 15:25, посмотрело: 339

UICollectionView может иметь практически любое расположение элементов. Элементы могут иметь как фиксированные размеры, так и динамические. В данной публикации внимание будет уделено только тем UICollectionViewLayout, размеры элементов которых фиксированы и задаются определенным алгоритмом (типичный пример — расположение иконок на экране Home вашего iPhone). Так же будет сделана попытка описать подход к формированию единого UICollectionViewLayout.

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

Пишем универсальный UICollectionViewLayout

Категория: Веб-разработка / iOS

 

Анонс конференции Mobius 2017: Больше мобильной разработки, хорошей и разной

Автор: admin от 16-01-2017, 13:35, посмотрело: 433

Анонс конференции Mobius 2017: Больше мобильной разработки, хорошей и разнойПривет Хабр!

Анонс прошлого Mobius мы начали с того, что разобрались с фидбеками и пообещали сделать конференцию лучше. Если верить отзывам участников – с поставленной целью мы справились:

«В целом все очень понравилось. До этого был 2 года назад и скажу, что конференция изменилась просто в разы. Появилось множество интересных докладов, не было нудных пересказов и продвижений своих продуктов.»

Однако мы не останавливаемся на достигнутом и продолжаем серию Mobius. В этот раз конференция состоится 21-22 апреля 2017 года в Санкт-Петербурге. Да, в этот раз конференция пройдет в течение двух дней: в прошлый раз участники часто сетовали на чересчур высокую загрузку к концу для, теперь за счет двухдневного формата и докладов станет больше, и воспринимать их будет проще. В программу войдут не только лучшие спикеры прошлых Mobius, но и новые лица. Кроме того, планируется новый формат докладов и общения со спикерами.

Подробности под катом.

Категория: Веб-разработка / Android / iOS

 

ASP.NET Core: Создание серверных служб для мобильных приложений

Автор: admin от 16-01-2017, 11:10, посмотрело: 734

Представляем вторую часть из серии статей, посвящённых разработке на ASP.NET Core. В этом обучающем материале вы узнаете, как создавать серверные службы с помощью ASP.NET Core MVC для поддержки мобильных приложений.


ASP.NET Core: Создание серверных служб для мобильных приложений

Категория: Программирование / Веб-разработка / Microsoft / Android / Windows / iOS

 

Одно приложение для трех платформ

Автор: admin от 16-01-2017, 10:40, посмотрело: 253

Одно приложение для трех платформ

Мы сейчас очень довольны внутренним устройством приложения Aword: его легко поддерживать, развивать и тестировать, а деплой новых версий происходит одновременно на всех платформах. Но так было не всегда. Сегодня мы расскажем о том, как мы шли по пути универсализации, наступая на грабли и набираясь опыта.

Категория: Программирование / Веб-разработка / Android / iOS