Как стать автором
Обновить
69.7
Карма
0
Рейтинг
Анатолий Ларин @junk

Пользователь

  • Публикации
  • Комментарии

Как мы придумали TableAdapter и упростили работу с UITableView

Разработка под iOSРазработка мобильных приложенийSwift
Из песочницы


При работе с UITableView хотелось избежать написания шаблонного кода, который еще больше усложняется, если нужно обновлять состояние таблицы анимировано. Apple представила свое решение этой проблемы на WWDC 2019, но оно работает только с iOS 13. А у нас, как у студии разработки мобильных приложений, нет такой роскоши в выборе минимальной версии iOS.


Поэтому мы реализовали наше видение data-driven подхода для работы с таблицами, попутно упростив настройку ячеек. И добавили анимированное обновление таблицы, которое основано на автоматическом подсчете различий между старыми и новыми данными за линейное время O(n). Все это мы оформили в небольшую библиотеку, которую назвали TableAdapter.


О том, что у нас получилось и как мы к этому пришли, и пойдет речь в статье.

Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Просмотры3.7K
Комментарии 6

Новости

Показать еще

Геймдизайнер мало чем отличается от психа. Как мы делали игру CMAN

Блог компании Dodo EngineeringРазработка игрУправление проектамиУправление продуктомИгры и игровые приставки
/start

Вечер пятницы, конец рабочего дня. Вы находитесь в офисе. Что будете делать?

— Поехать домой поспать
— Пойти в бар с друзьями
— Отправиться на свидание
— Проверить, почему горит свет в переговорке

Меня зовут Андрей Моревский, я архитектор в Додо и тот человек, который выбрал «Проверить, почему горит свет в переговорке». Тогда я ещё не подозревал, чем закончится эта история.

Читать дальше →
Всего голосов 41: ↑38 и ↓3 +35
Просмотры11.9K
Комментарии 8

Машинное обучение в Додо. Как запустить новое направление, если ты разработчик

Блог компании Dodo EngineeringData MiningАлгоритмыМашинное обучение
Под катом история о том, как в Додо появилось направление машинного обучения. Спойлер: это я его запустил. Хардкорных технических подробностей тут не будет, обязательно посвящу им отдельную статью. Сегодня больше про мотивацию и поддержку коллег.


Читать дальше →
Всего голосов 42: ↑37 и ↓5 +32
Просмотры14K
Комментарии 22

Виртуальная квартира: как покупают реальность вместо бетонной коробки

Блог компании LenovoГаджетыAR и VRНоутбуки
При покупке квартиры на этапе строительства людям приходится ориентироваться на планировку, часто распечатанную на чёрно-белом принтере, или на красивый цветной буклет, дающий примерно столько же информации. Когда дом уже построен, то у покупателей есть возможность вживую посмотреть на своё будущее жильё — вернее, на бетонную коробку, которая всегда кажется меньшей, чем будет после ремонта.

Для застройщиков и продавцов недвижимости важно показать, как именно он будет жить, чтобы не бороться с неоправданными ожиданиями. И тут на помощь приходит 3D-визуализация дома вместе с мебелью и очки виртуальной реальности, которые позволяют внимательно оглядеть будущий дом.

Директор по решениям для бизнеса Planoplan Алексей Ёжиков рассказал, как VR помогает покупателям не брать «кота в мешке».


Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Просмотры11K
Комментарии 20

Алиса, Google Assistant, Siri, Alexa. Как писать приложения для голосовых ассистентов

Блог компании Touch InstinctРазработка мобильных приложенийGoogle APIЯндекс APIГолосовые интерфейсы
image

Рынок голосовых ассистентов расширяется, особенно для русскоязычных пользователей. 2 недели назад Яндекс рассказала впервые про платформу Яндекс.Диалоги, 2 месяца назад Google представила возможность писать диалоги для Google Assistant на русском языке, 2 года назад со сцены Bill Graham Civic Auditorium Apple выпустила в открытое плавание SiriKit. Фактически, появляется новая отрасль разработки, где должны быть свои проектировщики, архитекторы и разработчики. Идеальный момент, чтобы поговорить про голосовые помощники и api для них.

В этой статье не будет подробных туториалов. Это статья об идеях и интересных технических деталях, на которых построены инструменты для сторонних разработчиков основных игроков рынка: Apple Siri, Google Assistant и Алисы от Яндекса.
Читать дальше →
Всего голосов 43: ↑43 и ↓0 +43
Просмотры27.7K
Комментарии 11

Порхающие* велосипеды. Что делать с сохранением состояния во Flutter?

Блог компании Touch InstinctРазработка мобильных приложенийРазработка под AndroidDartFlutter

(*одно из значений слова flutter — порхать)


Разбираемся, есть ли жизнь сохранение состояния во Flutter-приложении. Что будет, если ОС решит его перезапустить. Куда денется пользовательский ввод и навигация, и как с этим справляться.


Дисклеймеры:


  • для понимания нужно иметь стартовые знания о Flutter;
  • рассуждаю с точки зрения Android, про iOS — это не ко мне;
  • не являюсь специалистом по Flutter/Dart, подхожу с позиции новичка;
  • в некоторых местах опускаю второстепенные моменты (например, реализации вспомогательных функций), найти недостающее можно в полном коде проекта.
Читать дальше →
Всего голосов 38: ↑38 и ↓0 +38
Просмотры8.6K
Комментарии 12

Дизайн в условиях хакатона

Блог компании Touch InstinctВеб-дизайнИнтерфейсыХакатоныДизайн мобильных приложений


Меня зовут Алиса, я старший дизайнер в Touch Instinct. Мы — аутсорс-компания. Скорость — один из важнейших критериев оценки нашей работы, наравне с качеством. Иногда для подготовки предложения для нового клиента нужно изучить, придумать и воплотить в жизнь концепцию приложения всего за пару дней. В таких ситуациях нет права на ошибку.

В марте я выступала на хакатоне, который мы организовали вместе с Партией еды. Рассказала участникам, как сделать хорошо за короткий срок. По мотивам лекции подготовила статью-памятку. Она будет полезна участникам команд, которые планируют участвовать в хакатонах, а также начинающим дизайнерам.
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Просмотры9.3K
Комментарии 4

Выиграй 100к на хакатоне Партии еды и Touch Instinct в Петербурге

Блог компании Touch InstinctРазработка под iOSРазработка мобильных приложенийРазработка под AndroidРазработка под AR и VR


3-4 марта в Санкт-Петербурге Партия еды делает свой первый большой хакатон. И, кажется, первый в России на тему Фудтеха. Touch Instinct помогает.

Лендинг про хакатон получился знатным, но вопросов от участников все равно много. Мы ответили на все, даже про цыган с первого канала.
Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Просмотры3.3K
Комментарии 4

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

Блог компании Touch InstinctРазработка под iOSРазработка мобильных приложенийВизуализация данныхДизайн мобильных приложений


В 2017 году для MacOS вышла программа Kite compositor, которая может стать посредником между дизайнерами и разработчиками. Основная идея — быстрое создание анимации и прототипирование с последующей генерацией кода для платформы iOS. На структуре программы мы останавливаться не будем, на эту тему уже есть подробный материал. Цель нашей статьи — эксперимент. Дизайнер попробует создать анимацию с помощью программы, а разработчики проверят код и дадут обратную связь.
Читать дальше →
Всего голосов 34: ↑33 и ↓1 +32
Просмотры9.5K
Комментарии 8

Выкладываем приложение в App Store. Даже если вы не разработчик

Блог компании Touch InstinctРазработка под iOSXcodeУправление проектамиУправление продуктом
Tutorial


Ранее писали про этап подготовки к релизу. Сейчас расскажем про публикацию приложения в AppStore. Пошаговый гайд будет полезен новичкам, которые до этого не сталкивались с полицией нравов из Купертино.

Читать дальше →
Всего голосов 25: ↑23 и ↓2 +21
Просмотры84.4K
Комментарии 4

Готовимся к релизу в App Store. Инструкция для новичков и лайфхаки

Блог компании Touch InstinctРазработка под iOSРазработка мобильных приложенийУправление проектамиУправление продуктом
Tutorial


Подготовили гайд для заказчиков, которые занимаются публикацией приложения самостоятельно. Рассказываем о предрелизных хлопотах: как создать аккаунт разработчика, сколько времени заложить на оформление D-U-N-S number, какие скрины подготовить для стора.
Читать дальше →
Всего голосов 30: ↑25 и ↓5 +20
Просмотры60.7K
Комментарии 4

Как получить D-U-N-S number бесплатно

Блог компании Touch InstinctРазработка под iOSРазработка мобильных приложенийУправление проектамиУправление продуктом
Tutorial


D-U-N-S number — международный идентификатор юридических лиц. В России добровольно его добывают в одном случае: когда в AppStore нужно зарегистрировать компанию-разработчика.

Расскажем, как добыть этот номер бесплатно и сэкономить 12 240.
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры83.7K
Комментарии 11

«Коллеги, все нравится, но...» или как построить работу с заказчиком

Блог компании Touch InstinctВеб-дизайнИнтерфейсыДизайн мобильных приложенийГрафический дизайн


6 лет наша компания занимается дизайном и разработкой мобильных приложений. Мы много экспериментировали с оптимизацией процессов как внутри компании, так и при работе с клиентами. В итоге у нас сформировался свой, во многом уникальный, стиль работы.

Я руковожу отделом дизайна и хочу поделиться нашим подходом к работе. В этой статье расскажу, как построить работу с клиентом так, чтобы она была эффективной и комфортной для обеих сторон.
Читать дальше →
Всего голосов 31: ↑30 и ↓1 +29
Просмотры17.8K
Комментарии 12

Тестовая документация. Превращаем таблицы в деревья

Блог компании Touch InstinctРазработка под iOSРазработка мобильных приложенийРазработка под AndroidТестирование мобильных приложений


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

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

Вид тестовой документации также зависит от ситуации на проекте и ожиданий заказчика.
Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Просмотры60.9K
Комментарии 12

Android Architecture Components в связке с Data Binding

Блог компании Touch InstinctРазработка мобильных приложенийРазработка под Android


Не так давно для андроид-разработчиков Google представил новую библиотеку — Android Architecture Components. Она помогает реализовать в приложении архитектуру на основе паттернов MVx (MVP, MVVM etc.). Кроме того, уже давно выпущена другая библиотека от Google — Data Binding Library. Она позволяет прямо в разметке связывать отображение UI-контролов со значениями, содержащимися в объектах. Это важная особенность паттерна MVVM — связывать слой View со слоем ViewModel.


Обе библиотеки направлены на построение архитектуры Android-приложений в MVVM стиле.
Я расскажу, как можно использовать их вместе для создания проекта с архитектурой на основе MVVM.


Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры20.9K
Комментарии 8

Определяем номера с помощью CallKit

Блог компании Touch InstinctПрограммированиеРазработка под iOSРазработка мобильных приложенийSwift
Tutorial


Когда в CRM 57000 контактов, людям совсем не хочется записывать их в айфон вручную. Надо найти решение поизящней, которое позволит не просто искать контакты в отдельном приложении, но и отображать имя человека при входящем звонке. Мы долго гуглили, а потом вспомнили про анонс фреймворка CallKit с WWDC. Информации по этой теме оказалось не так много: немногословная документация, статья на Хабре и ни одного пошагового руководства. Хочу восполнить этот пробел. На примере создания простого приложения покажу, как научить CallKit определять тысячи номеров.
Читать дальше →
Всего голосов 24: ↑23 и ↓1 +22
Просмотры17.6K
Комментарии 5

Как стать тимлидом и не взорваться

Блог компании Touch InstinctРазработка под iOSXcodeSwiftТестирование мобильных приложений


Два года назад я начал негласно исполнять роль iOS-lead в компании Touch Instinct и формированием стабильной работы iOS-отдела. Спустя полгода это трансформировалось в официальную должность. Из-за отсутствия опыта у меня возникало огромное количество проблем, которые вызывали жжение в области верхней части кресла. Это происходило из-за ряда факторов:


  • Нехватка опыта менеджмента.
  • Отсутствие рядом компетентного человека, уже прошедшего путь становления от новой для себя роли к человеку, который понимает устройство процессов, обязанностей и пути решения проблем.
  • Нестабильность общих процессов в компании из-за её молодого возраста на тот момент.

Если вы стали лидом и первоначальная эйфория сменилась небольшим горением и унынием, то пара советов не будет лишней.

Читать дальше →
Всего голосов 92: ↑89 и ↓3 +86
Просмотры65.9K
Комментарии 24

Утечки памяти в Android и способы их локализации

Блог компании Touch InstinctРазработка мобильных приложенийРазработка под AndroidТестирование мобильных приложений


На одном из проектов столкнулась с утечками памяти. Воспользовалась первым правилом разработчиков — загуглила. К моему глубокому разочарованию нашла много статей для программистов и совсем чуточку для тестировщиков. Большинство публикаций датированы 2011-2014 годом.

Ниже информация об утечках памяти, которая пригодится в 2017 году. Расскажу, чем их наличие грозит приложению, и перечислю несколько подходов к локализации.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры15.9K
Комментарии 4

Основы медиапланирования рекламной кампании и анализа семантического ядра в Яндекс.Директ

Контекстная реклама


Недавно к нам пришел очередной рекламодатель. Сфера деятельности — продажа светодиодного оборудования — большие прожекторы и светодиодные ленты для уличного освещения и подсветки зданий и витрин. Соответственно речь идет о B2B, клиенту интересны только крупные заказы в его тематике со стороны строительных организаций, управляющих компаний, сектора ЖКХ и «совсем не интересны те кто хочет купить пару ламп для того чтобы сделать красивое освещение у себя на балконе».

Тематика достаточно узкая, рынок зрелый, среднеконкурентный, с устойчивым и сформированным спросом. Клиент давно и успешно торговал в оффлайне и решил попробовать интернет, благо в деньгах для расширения сфер влияния проблем нет. Стоит задача покрыть всю целевую аудиторию и сконвертировать максимально доступное количество клиентов. С собой принес медиаплан, рассчитанный с помощью прогнозатора Директа его отделом маркетинга.

Читать дальше →
Всего голосов 74: ↑65 и ↓9 +56
Просмотры3.1K
Комментарии 36

Синергия с Сontinuous Integration

Разработка веб-сайтовРазработка мобильных приложений

Некоторые люди консервативны по своей природе, это всегда мешает принятию чего-то нового. Мне до сих пор непривычно использовать Google Docs вместо Word, хотя, когда речь заходит о совместной работе, преимущества первого неоспоримы. Многие компании (порой даже весьма крупные), занимаясь разработкой программного обеспечения, игнорируют доступные способы повышения производительности труда программистов. Например непрерывную интеграцию (Continuous Integration/CI), которая упрощает процесс разработки и контроль проекта. Готовые решения существуют на рынке давно. К сожалению, до сих пор кто-то продолжает издеваться над сотрудниками, теряя время и деньги. Этот пост — желание поделиться опытом успешного внедрения непрерывной интеграции, и, быть может, попытка достучаться до некоторых менеджеров. Ведь зачастую именно их недальновидность препятствует оптимизации производства.
Читать дальше →
Всего голосов 67: ↑44 и ↓23 +21
Просмотры26.1K
Комментарии 28
1

Информация

В рейтинге
5,847-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность