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

Неделю назад у нас выступал Слава Савицкий — Senior Android Developer в Spotify. Слава рассказывал о том, как айтишники живут в Швеции (например, он брал декретный отпуск по уходу за ребенком), о работе в Spotify, о новом приложении Spotify Lite для слабых андроидов, и, конечно, об Андроид-разработке в целом.

Делимся с вами записью и расшифровкой эфира.

Меня зовут Слава Савицкий. Я сегодня буду рассказывать о жизни и работе в Швеции, о Spotify, как устроиться работать, про Spotify Lite, анализ перфоманса Android-приложений. Постараюсь охватить все, что было в анонсе. Не могу отвечать на вопросы о будущем и планах Spotify и разных числах, которые не были опубликованы в публичных документах.

Я из города Саров Нижегородской области. Федеральный ядерный центр, 100 тысяч населения. Как ни странно, в Spotify есть еще один сотрудник из Сарова.

Я закончил мехмат МГУ в 2009 году, с 2006 работал в Институте системного программирования по контракту с компанией Klocwork, канадской; занимался статическим анализом для поиска дефектов. Статический анализ исходного кода – я, по сути, писал компиляторы, которые на выходе давали не объектный код, а сообщения о потенциальных ошибках.

В 2013 году я переехал в Швецию, в Стокгольм, работать в компании Blackberry. Это была моя первая работа с мобильными устройствами. Я писал для системы Blackberry X приложения для работы с мультимедиа – story maker, video editor. Потом я работал в компании Sinch, которая занималась VoIP, SDK для мобильных приложений. После этого работал в одном банке, переписывал социальное приложение для инвесторов. Последние 2.5 года я работаю в компании Spotify, тоже с мобильными приложениями.
Читать полностью »

Модуляризация iOS-приложения Badoo: борьба с последствиями - 1

В предыдущей статье я рассказывал о том, как мы выделили модуль чата в нашем приложении. Всё прошло успешно, и мы собирались распространить этот опыт — начать тотальную модуляризацию в iOS-разработке Badoo. Даже презентовали подход продуктовым командам, командам, занимающимся тестированием и непрерывной интеграцией, и постепенно стали внедрять модуляризацию в наши процессы. 

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

Топ-10 уязвимостей мобильных приложений и способы их устранения - 1

По данным Statista в мире насчитывается около 3.5 млрд. пользователей смартфонов. Это значит, что жертвами небезопасных мобильных приложений могут стать очень многие.

Подготовленный фондом OWASP cписок 10 наиболее актуальных уязвимостей приложений – это отличный ресурс для разработчиков, стремящихся создавать защищенные продукты. Дело в том, что многие мобильные приложения по своей природе уязвимы для угроз безопасности. Вспомним, к примеру, ряд нашумевших атак, произошедших за последние годы. К ним можно отнести шпионское ПО Pegasus для WhatsApp, посредством которого злоумышленники смогли заполучить управление устройствами пользователей мессенджера. Еще одним примером явился взлом приложения Pokémon Go, который позволил пользователям с помощью реверс-инжиниринга манипулировать GPS-данными и ловить больше покемонов. Читать полностью »

Чаты на вебсокетах, когда на бэкенде WAMP. Теперь про Android - 1

Мой коллега уже писалЧитать полностью »

Привет!

В последнее время Яндекс изо всех сил пытается испортить свои мобильные приложения, превращая их в «суперапп», будь это слово неладно. И одно из двух приложений компании, для которых такое направление развития наиболее заметно — это такси.

Не так давно его переименовали в «Яндекс Go», допихнув заодно внутрь Еду, Лавку, общественный транспорт, кучу рекламы. И здесь-то я вероломно, без объявления войны наткнулся на проблему, которая в конечном счёте послужила идеей для написания сией микростатьи.

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

Не баян: ищем дубликаты изображений на основе Milvus с индексом FAISS внутри - 1

В user-generated проектах часто приходится бороться с дубликатами, а для нас это особенно актуально, так как основной контент мобильного приложения iFunny — это изображения, которые постятся десятками тысяч ежедневно. Для поиска повторов мы написали отдельную систему, чтобы облегчить процесс и сэкономить море времени.

Под катом рассмотрим используемые инструменты, а потом перейдём к примеру реализации.
Читать полностью »

Чаты на вебсокетах в iOS, если у вас WAMP - 1

Разработка заняла примерно 9 месяцев, а я занимался реализацией клиент-серверного общения по сокету для iOS. Особенности нашей ситуации:

  1. Поддержка старых версий iOS, где нативных методов для общения по сокетам ещё не было — пришлось искать рабочую библиотеку и фиксить баги.
  2. Протокол WAMP на бэкенде — предстояло научить клиент декодировать any, декодировать протоколы и создать объект, который отвечает за отправку и приём сообщений.

Примечание: описанные ниже способы декодирования, можно применить и в других задачах.
Читать полностью »

Адаптируем UITableView под MVVM - 1

Введение

UITableView один из самых часто используемых компонентов UIKit. Табличное представление зарекомендовало себя как одно из самых удобных взаимодействий пользователя с контентом представленным на экране смартфона.

На сегодняшний день, каждому iOS разработчику необходимо в совершенстве владеть UITableView, знать тонкости и понимать как его адаптировать под разные архитектуры, чтобы использование не вызывало лишних проблем и трудностей.

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

В этом выпуске — сравнение “карт” iOS 1 и 14, паяльник для разработчиков, базовые концепции и базовые ошибки, продуктовые исследования и тренды рынка мобильных приложений в итоговом отчете за 2020 год. Подключайтесь!

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

В тюрьму за приложение - 1

Разработчик приложений провёл полторы недели в тюрьме за то, что создал приложение для быстрого бронирования билетов. Его арестовали после жалобы железнодорожных властей. Делимся подробностями этой истории.

Днём 23 октября С. Ювараджа был в своем доме в Тирупуре и писал программное обеспечение, когда в его дверь постучали сотрудники полиции.

«Вы разработали это приложение?Читать полностью »


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