Отчет со встречи Moscow CocoaHeads Meetup 15 декабря

image

На проходящих в нашем офисе встречах Moscow CocoaHeads всегда рассказывают много интересного и полезного. Так что если вы занимаетесь мобильной разработкой, но живёте не в столице или просто не смогли приехать на встречу, то можете посмотреть выступления докладчиков в нашем отчете. Видеозаписи докладов со встречи 15 декабря — под катом.
Читать дальше →

[Из песочницы] VIPER и UITableView/UICollectionView с простыми ячейками

Доброго времени суток!

Недавно я начал переводить приложение, написанное по плохому MVC на VIPER. Это был мой первый опыт с VIPER-архитектурой и в силу того, что информации на просторах интернета на данный момент по этой архитектуре мало, я столкнулся с некоторыми проблемами. Используя самые общие знания и понятия по VIPER, я вывел на данный момент оптимальные для себя паттерны написания экранов, включающие в себя таблицы или коллекции.

Простые и сложные ячейки


Я разделяю ячейки на простые и сложные.

Простые ячейки — это такие ячейки, которым для выполнения своего предназначения достаточно отображать некоторые данные (текст, картинка) и отвечать простыми действиями на действия пользователя.

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

В данной статье речь пойдет о таблице с простыми ячейками.

Проблема


Проблема заключается в том, что ячейку надо как-то собирать, как-то слушать ее события и делать это в правильном месте.
Читать дальше →

Анимация в мобильных приложениях. Тестируем Kite compositor



В 2017 году для MacOS вышла программа Kite compositor, которая может стать посредником между дизайнерами и разработчиками. Основная идея — быстрое создание анимации и прототипирование с последующей генерацией кода для платформы iOS. На структуре программы мы останавливаться не будем, на эту тему уже есть подробный материал. Цель нашей статьи — эксперимент. Дизайнер попробует создать анимацию с помощью программы, а разработчики проверят код и дадут обратную связь.
Читать дальше →

[Из песочницы] Swift-фреймворк в Objective-C-приложении

Хоть Apple и написали, казалось бы, подробную документацию о том, как можно использовать Swift-код внутри Objective-C-приложения (и наоборот), но когда доходит до дела, этого почему-то окаывается недостаточно. Когда в проекте, в котором я задействован, появилась необходимость обеспечить совместимость Swift-библиотеки одного из продуктов компании с Objective-C-приложением одного из клиентов, документация Apple породила больше вопросов, чем дала ответов (ну или по крайней мере оставила множество пробелов). Интенсивное использование поисковых систем показало, что данная тема освещена в Сети довольно скудно: парочка вопросов на StackOverflow, пара-тройка вводных статей (на англоязычных ресурсах, конечно) – вот и все, что удалось найти.

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

[Перевод] Оптимизация производительности UIKit

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

Первая проблема, на которую стоит обратить внимание — это смешивание цветов.
Читать дальше →

В поисках идеальной архитектуры

image
За 9 лет работы фич в проектах роботов становилось все больше, запутаться в коде становилось все проще.
Когда разработчиков стало больше десятка, появилась еще одна проблема – болезненная ротация людей между проектами. Аутсорс-разработка славится жесткими дедлайнами, и у разработчиков нет месяцев или недель на погружение в особенности нового проекта, в то же время работа над разными проектами нужна для развития специалистов.
Главная проблема, которая возникает при долгосрочном развитии приложения – масштабируемость. Решить ее может переход на новую архитектуру или рефакторинг кодовой базы и добавление новых сущностей, которые разгружают объекты с большим количеством обязанностей.
Читать дальше →

Поле боя — дополненная реальность. Часть III: возможности движка, анимация и POI

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

Часть I: основы распознавания объектов
Часть II: как распознать объект и показать 3D модель

Мы рады представить заключительную третью часть (юху!), в которой подробнее обсудим возможности движка и узнаем:
  • Как анимировать 3D объект для AR. Отобразим текст по нажатию на объект.
  • Как показать 3D объект по заданным координатам как POI (точку интереса).
  • Как показать 3D объект относительно Вас.

Читать дальше →

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

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


Читать дальше →

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



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


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


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

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

Читать дальше →

Приглашаем 15 декабря на Moscow CocoaHeads Meetup в Mail.Ru Group


Друзья, мы приглашаем iOS/macOS-разработчиков 15 декабря в московский офис Mail.Ru Group, где пройдёт очередная встреча сообщества CocoaHeads. Вас ждут три интересных доклада, традиционная викторина и, конечно, неформальное общение с докладчиками и остальными гостями. Программа встречи под катом.

Читать дальше →
  • Новее
  • 1


Последние посты