Рубрика «разработка мобильных приложений» - 37

Google официально анонсировала, что теперь за удачный поиск уязвимостей в любых приложениях для Android из Google Play Store, у которых более 100 млн. пользовательских установок, будут выплачиваться награды, а также появилась новая программа Developer Data Protection Reward Program (DDPRP), по которой будут производится выплаты за обнаружение злоупотребления пользовательскими данными.
Читать полностью »

Вас тоже бесят всплывающие окна в приложениях? В этой статье я покажу, как интерактивно скрывать и показывать всплывающие окна, делать анимацию прерываемой и не бесить своих клиентов.

Не всплывай! Прерываемые транзишены в iOS - 1

Читать полностью »

FunCorp Mobile Hiring Event - 1

Мы рады анонсировать наш четвёртый Hiring Event, приуроченный ко Дню программиста! На этот раз предлагаем принять участие iOS и Android-разработчиков. Кроме iFunny у нас развивается ряд новых проектов, поэтому мы решительно пополняем мобильные команды. Читать полностью »

Счетная палата РФ при аудите не нашла обновления сайта и мобильные приложения для Росстата за десятки миллионов рублей - 1

В опубликованном бюллетене Счетной палаты Российской Федерации №8 представлена информация о результатах контрольных мероприятий на 29 августа 2019 года. В результате проверки использования средств займа Международного банка реконструкции и развития (МБРР) на реализацию проекта №4867-RU «Развитие системы государственной статистики – 2» в 2008-2018 годах» выяснилось, что Росстат заключил контракт с ЗАО «Ланит» на 65 млн. рублей, в рамках которого должны были быть выполнены: обновление дизайна сайта Росстата, внедрение единой системы управления контентом и создание мобильных приложений для iOS и Android.

В результате аудита выяснилось, что сайт не обновлен, мобильный приложений нет, а Росстатом приняты и оплачены работы, не в полной мере соответствующие техническим требованиям контракта на сумму 64 566,7 тыс. рублей.
Читать полностью »

Со стороны пользователя почтовый клиент — приложение нехитрое. Разработчики Яндекс.Почты даже шутят, что в приложении всего три экрана: список писем; отправка письма; экран about.

Но очень много интересного происходит под капотом. Как многие мобильные приложения, Почта использует push-уведомления, чтобы взаимодействовать с пользователями. Как многие iOS-приложения, Почта теряет часть уведомлений в силу особенностей работы Apple Push Notification Service.

Руководитель iOS-группы Яндекс.Почты Ася Свириденко докажет, что даже с учетом ограничений системы, с потерями push-уведомлений можно и нужно бороться, если они критичны для вашего приложения. Для Почты это так, потому что push-уведомления о новых письмах — это то, ради чего пользователь устанавливает приложение. Если же для вашего приложения доставка push-уведомлений не так критична, узнать, какие велосипеды нагородила мобильная Яндекс.Почта, все равно интересно.

Речь пойдет о remote notification, то есть уведомлениях, которые приходят с сервера через APNs (Apple Push Notification Service). Локальные уведомления затрагивать не будем и поговорим о том:

  • Как выглядит API для работы с push-уведомлениями. Рассмотрим схему доставки push-уведомлений и то, где в этой схеме могут возникать потери. 
  • Как решили бороться с потерями в Яндекс.Почте — об очереди push-уведомлений.
  • Как логировать и какие еще сложности могут встретиться.

Читать полностью »

Вводные слова

Как бы ни ругали Apple за закрытость платформы и самой экосистемы, некоторые их решения являются исключением. На рынке много стриминговых сервисов, но предоставляющих полноценный SDK для стриминга в сторонних продуктах крайне мало, для российского рынка список официально доступных SDK ограничивается Deezer и Apple Music. Конечно, когда на наш рынок придёт Spotify, на один доступный SDK станет больше, но пока есть два игрока и только один из них имеет широкую пользовательскую базу.

Так получилось, что я имел опыт работы с Deezer SDK под Android и прямо сейчас активно работаю с SDK Apple Music (MusicKit) под iOS. И главное отличие от опыта с Deezer состоит в том, что MusicKit — это верхушка айсберга, она же публично доступный API. В отличие от Deezer, где повторить большую часть функциональности официального приложения — это просто длительный процесс, повторить функциональность даже веб-страницы Apple Music, используя только публичный API, невозможно. Даже если Apple использует MusicKit в своих решениях, то кроме него она использует ещё массу недокументированных API запросов и приватных API, которые простым смертным использовать запрещено.

В статье я расскажу про работу с MusicKit с точки зрения разработчика в контексте реализации достаточно "простых задач": поискать в каталоге, показать картинки в результатах поиска, получить песни, рекомендации и даже проиграть какую-то музыку. Забегая вперёд скажу, что многое из рассказанного будет справедливо и для работы с Apple Music в Android и Javascript.

Если понадобится, готов дать детальные ответы с кодом на вопросы в комментариях.

Читать полностью »

В нашей еженедельной подборке PWA в Google Play, запись нажатий, декларативный UI, изменения логотипа и нумерации версий Android, история создателя FBReader, отслеживание рук и многое другое!

Дайджест интересных материалов для мобильного разработчика #312 (19 — 25 августа) - 1Читать полностью »

Последнее, что хочется увидеть во время дебага кода — это хаос. Но что если этот хаос управляемый и запущен руками самого разработчика? Зачем умышленно устраивать турбулентность в слаженной работе своего приложения, как добиться душевного спокойствия при релизе важных фич и где точно вам пригодится практика хаос-инженерии, читайте в разговоре ведущих подкаста AppsCast с Павлом Осиповым PavelOsipov.

Chaos engineering - 1
Читать полностью »

Привет! Всем нравятся отзывчивые приложения. Ещё лучше, когда в них есть уместные анимации. В этой статье я расскажу и покажу со всем «мясом», как правильно показывать, скрывать, крутить, вертеть и делать всякое с всплывающими экранами.

Всплывай! Транзишены в iOS - 1

Читать полностью »

image

Какая разница между первым и вторым примером?

За что отвечает таргет?

В каком случае вызывается метод при нажатие кнопки?

TL;DR

При нажатии на кнопку наш метод вызывается в обоих случаях.

Только в первом примере UIKit попытается вызвать метод в назначенном таргете(у нас это ViewController). Будет краш, если этого метода не существует.

Во втором же примере используется iOS Responder Chain, UIKit будет искать самого ближнего UIResponder-a у которого есть данный метод. Краша не будет, если наш метод не найден.

UIViewController, UIView, UIApplication наследуют от UIResponder.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js