Pull to refresh
9
0
Andrey Baskov @AndreyBaskov

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

Send message

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

Reading time9 min
Views5.4K


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


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


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

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments6

UICollectionViewLayout для пиццы из разных половинок

Reading time15 min
Views18K

Чтобы сделать пиццу из половинок мы использовали два UICollectionViewLayout. Рассказываю о том, как мы написали такой лейаут для iOS, с чем столкнулись и от чего отказались.


Total votes 42: ↑37 and ↓5+32
Comments17

Анимация в мобильных приложениях: тестируем Lottie

Reading time4 min
Views39K
О библиотеке LottieFiles многие знают, но пробовать на практике не спешат. Статей на эту тему мало, поэтому я решила поделиться своим опытом создания анимации для мобильных приложений с помощью Lottie.



Читать дальше
Total votes 26: ↑23 and ↓3+20
Comments14

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

Reading time9 min
Views12K
/start

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

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

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

Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments8

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

Reading time5 min
Views15K
Под катом история о том, как в Додо появилось направление машинного обучения. Спойлер: это я его запустил. Хардкорных технических подробностей тут не будет, обязательно посвящу им отдельную статью. Сегодня больше про мотивацию и поддержку коллег.


Читать дальше →
Total votes 42: ↑37 and ↓5+32
Comments22

Why does Dodo Pizza need 250 developers?

Reading time4 min
Views3.7K
In autumn, we announced we were going to expand our IT team from 49 to 250 developers. And immediately we were buried under an avalanche of questions — mostly, people were interested why a pizza chain needs so many software engineers. How did we come up with such a number? So now I want to answer that.


Read more →
Total votes 25: ↑23 and ↓2+21
Comments0

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

Reading time5 min
Views23K
При покупке квартиры на этапе строительства людям приходится ориентироваться на планировку, часто распечатанную на чёрно-белом принтере, или на красивый цветной буклет, дающий примерно столько же информации. Когда дом уже построен, то у покупателей есть возможность вживую посмотреть на своё будущее жильё — вернее, на бетонную коробку, которая всегда кажется меньшей, чем будет после ремонта.

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

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


Total votes 23: ↑21 and ↓2+19
Comments21

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

Reading time12 min
Views31K
image

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

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

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

Reading time9 min
Views11K

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


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


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


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

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

Reading time5 min
Views11K


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

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

Android Support Library 28. Что нового?

Reading time10 min
Views24K


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

  • RecyclerView selection — выбор элементов теперь из коробки;
  • Slices — новый способ отображать контент другого приложения;
  • новые элементы дизайна: BottomAppBar, ChipGroup и другие;
  • мелкие изменения одной строкой.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments22

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

Reading time2 min
Views3.6K


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

Лендинг про хакатон получился знатным, но вопросов от участников все равно много. Мы ответили на все, даже про цыган с первого канала.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments4

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

Reading time6 min
Views10K


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

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

Reading time4 min
Views117K


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

Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments4

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

Reading time5 min
Views77K


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

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

Reading time2 min
Views123K


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

Расскажем, как добыть этот номер бесплатно и сэкономить 12 240.
Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments11

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

Reading time11 min
Views19K


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

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

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

Reading time12 min
Views22K


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


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


Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments8

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

Reading time7 min
Views20K


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

Libdispatch. Как сделать приложение отзывчивым

Reading time11 min
Views13K

image



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


  • Pthreads, или потоки POSIX. Библиотека для низкоуровневой работы с многопоточностью. Определена как набор типов и функций на языке C. Подробнее можно ознакомиться тут.
  • Background selectors. Это отправка сообщения объекту, которое будет исполнено на указанном потоке. В коде это селектор с названием performSelector и различными параметрами (например, performSelectorOnMainThread:withObject:waitUntilDone:). Документация
  • NSThread. Представлены как базовые средства для работы с потоками. Ознакомьтесь с концептуальным документом по работе с потоками и документацией.
  • Grand Central Dispatch. Библиотека, основанная на блоках — анонимных участках кода, иначе замыканиях. Рабочее название — libdispatch.
  • NSOperation. Построен на основе GCD. Стоит заметить, что сама операция является абстрактной сущностью и на практике стоит использовать NSInvocationOperation и NSBlockOperation.

В этой статье поговорим о вопросах GCD.

Читать дальше →
Total votes 45: ↑29 and ↓16+13
Comments7
1

Information

Rating
Does not participate
Location
San Francisco, California, США
Registered
Activity