Рубрика «iOS»

image

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

К сожалению, у Apple с локализацией наблюдаются реальные проблемы. В этой статье я хочу рассмотреть ряд примеров, на которых становится очевидным недостаточно качественный подход компании к адаптации iOS и macOS под российского пользователя. Я бы даже сказал, местами откровенно наплевательский.

Это моя первая публикация на Хабре, надеюсь, вам понравится. Не откажусь от инвайта.

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

Привет! Я Богдан, работаю в мобильной команде Badoo iOS-разработчиком.

В этой статье мы рассмотрим использование паттернов «Синглтон» и «Локатор сервисов» (service locator) в iOS и обсудим, почему их часто называют антипаттернами. Я расскажу, как и где их стоит применять, сохраняя код пригодным для тестирования.

Синглтон, локатор сервисов и тесты в iOS - 1
Читать полностью »

Интернет бурлит. Reddit-юзер TeckFire уличил Apple в замедлении его iPhone 6S. И это не шутка, компания действительно снижает тактовую частоту процессора у своих старых, бывших в употреблении девайсов. Правда, есть способ с этим бороться, а некоторые модели падению скорости оказались не подвержены.

Apple специально замедляет старые iPhone - 1Читать полностью »

Прошёл четвёртый по счёту традиционный iOS Meetup в Avito. Мы обсуждали Data Driven подход к разработке, практическое применение Mach-O, lldb и dSYM, возможности расширения lldb, методологию Type Driven и концептуальные различия архитектур. Если же вы не успели к нам на доклады и глинтвейн, или просто были не в Москве, то под катом мы выложили видеозаписи выступлений, слайды от докладчиков и немного фидбэка от участников встречи.

Avito iOS Winter Edition — видео, фото, слайды, отзывы - 1

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

Распознавание лиц. Создаем и примеряем маски - 1

Пока сообщество iOS-разработчиков спорит, как писать проекты, пока пытается решить, использовать ли MVVM или VIPER, пока пытается подSOLIDить проект или добавить туда реактивную турбину, я попытаюсь оторваться от этого и рассмотреть, как работает под капотом еще одна технология с графика Hype-Driven-Development.

В 2017 году на вершине графика хайпа — машинное обучение. И понятно почему:

  • Появилось больше открытых наборов данных.
  • Появились соответствующее аппаратные средства. В том числе облачные решения.
  • Технологии из этой области стали применяться в production-проектах.

Машинное обучение — широкая тема, остановлюсь на распознавании лиц и попытаюсь разобраться, какие технологии были до рождества христова CoreML, и что появилось после релиза фреймворка Apple.

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

После переезда в солнечный Будапешт я осознал, что изучать новый язык по карточкам или с помощью онлайн-курсов — не для такого прокрастинатора, как я. А что если сделать приложение без карточек, курсов и механического заучивания, в таком контексте, который был бы мне интересен? Так родилась идея приложения, о котором я рассказывать не буду, но расскажу о том, с какими сложностями пришлось столкнуться, изучая программирование практически с нуля. Материал может быть полезен для людей, которые хотели бы развиваться в сфере мобильной разработки на iOS.

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

Анонс конференции Mobius 2018 Piter - 1

В мобильной разработке так бурлит жизнь, что порой это даже становится проблемой. Например, когда всё движется и меняется, как в анонсе конференции описать её программу за пять месяцев? Но хотя многие подробности Mobius 2018 Piter станут известны позже, есть те, которые мы уже готовы рассказать — и их может хватить для принятия решения.

Для начала озвучим дату: 20-21 апреля 2018 года, Санкт-Петербург. Остальное — под катом.
Читать полностью »

Дневник техлида: полгода разработки мобильного PvP - 1

В марте 2017 года мы собрали небольшую команду и взялись за разработку нового перспективного проекта. Без особых деталей могу сказать, что задача стояла интересная и соблазнительная — мобильный, синхронный, командный PvP. Спустя 7 месяцев активной разработки мне захотелось рассказать коллегам из других проектов и отделов Pixonic технические детали и я подготовил для них презентацию, которая в дальнейшем превратилась в эту статью.

Как техлид команды, я расскажу, с какими задачами и проблемами мы успели столкнуться, как их решаем и почему. Мы используем итеративный подход добавления функционала в проект и в данный момент у нас реализованы: PvP на iOS и Android (обе платформы играют на одних серверах); набор персонажей, три десятка игровых механик, боты; матчмейкинг; набор мета-фич (кастомизация персонажей, прокачка и другие); решена задача масштабируемости на весь мир.

Итак, поехали.Читать полностью »

Нейросеть для определения лиц, встроенная в смартфон - 1Apple начала использовать глубинное обучение для определения лиц начиная с iOS 10. С выпуском фреймворка Vision разработчики теперь могут использовать в своих приложениях эту технологию и многие другие алгоритмы машинного зрения. При разработке фреймворка пришлось преодолеть значительные проблемы, чтобы сохранить приватность пользователей и эффективно работать на железе мобильного устройства. В статье обсуждаются эти проблемы и описывается, как работает алгоритм.

Введение

Впервые определение лиц в публичных API появилось во фреймворке Core Image через класс CIDetector. Эти API работали и в собственных приложениях Apple, таких как Photos. Самая первая версия CIDetector использовала для определения метод на базе алгоритма Виолы — Джонса [1]. Последовательные улучшения CIDetector были основаны на достижениях традиционного машинного зрения.

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

Всем привет! На московской конференции Mobius 2017 мы провели конкурс Мамин Архитектор, в котором просили участников придумать свои оригинальные архитектуры мобильных приложений. В результате мы получили около ста пятидесяти заявок на победу! Под катом мы собрали лучшие работы участников и проанализировали основные тренды.
А ещё мы адаптировали наш конкурс для проведения онлайн. Вдохновляйтесь и присоединяйтесь!
Осторожно, очень много картинок, 18+!

Мамин архитектор: как мы собирали мобильные архитектуры и радовали родителей - 1

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