Pull to refresh
61
74.2
Send message

Выход из ада зависимостей: взгляд iOS-разработчика

Reading time11 min
Views3.4K

Как не попасть в ад из внешних зависимостей? Как сделать так, чтобы проект собирался с одинаковыми версиями зависимостей на машинах разных разработчиков? Рассказываем, зачем нужны менеджеры зависимостей и как ими пользоваться правильно.

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

Читать далее

Создай себе инструмент. Часть 1: скрипт на Dart

Reading time5 min
Views3.8K

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

Читать далее

Как нативно визуализировать голос в iOS

Reading time13 min
Views6.8K

Реализовать запись и проигрывание аудиофайлов в iOS несложно. Но если к этому добавляется задача визуализировать звук в момент записи с микрофона, это может вызвать сложности даже у опытного программиста, который мало работал с AVFoundation — мультимедийным фреймворком для работы с аудиовизуальными носителями.

В статье расскажу, как в iOS нативно визуализировать голос в процессе записи и проведу краткий экскурс в физику звукозаписи.

Читать далее

Один на всех, или как компания с несколькими десятками проектов сидит на одном Apple Developer-аккаунте

Reading time6 min
Views6K

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

Читать далее

Гайд по архитектуре приложений для Android. Часть 1: обзор

Reading time7 min
Views61K

Перевод обновлённого гайда Android по архитектуре приложений. Это — первая часть из пяти: обзор рекомендаций по архитектуре.

Читать далее

Гайд по архитектуре приложений для Android. Часть 2: слой UI

Reading time15 min
Views24K

Перевод обновлённого гайда Android по архитектуре приложений. Это — вторая часть из пяти: про слой UI.

Читать далее

Гайд по архитектуре приложений для Android. Часть 3: cобытия UI

Reading time10 min
Views10K

Перевод обновлённого гайда Android по архитектуре приложений. Это — третья часть из пяти: рассказываем про события UI.

Читать далее

Гайд по архитектуре приложений для Android. Часть 4: доменный слой

Reading time7 min
Views16K

Перевод обновлённого гайда Android по архитектуре приложений. Это — четвёртная часть из пяти: рассказываем про доменный слой.

Читать далее

Гайд по архитектуре приложений для Android. Часть 5: слой данных

Reading time22 min
Views18K

Перевод обновлённого гайда Android по архитектуре приложений. Это — заключительная часть: рассказываем про слой данных.

Читать далее

Бизнес-анализ и мобильные приложения: почему заказчики не видят ценности в аналитике и как им её донести

Reading time8 min
Views7.2K

Часто заказчики не понимают ценности бизнес-аналитика. Кажется, что эти функции могут выполнять другие члены команды: разработчики, тестировщики, менеджеры проектов. Рассказываем, почему так происходит и как показать заказчику ценность аналитика.  

Читать далее

Material You: раскладываем по полочкам обновление дизайн-системы Material

Reading time7 min
Views32K

Персонализация смартфона, свежая палитра цветов Material, обновлённые компоненты — от кнопок до диалогов.

Всё это — про Material You, новую дизайн-систему от Google для мобильных и веб-приложений! Разбираем новую систему цветов и все нововведения Material.

Читать далее

Как аналитику спроектировать интеграцию со сторонними системами

Reading time10 min
Views12K

Как бизнес-аналитику выбрать лучшие средства разработки и насколько он должен быть погружен в разработку? Разберём критерии выбора лучших вариантов интеграции со сторонними системами для мобильного приложения на примере трёх фич:
— электронных чеков,
— пуш-уведомлений,
— чата.

Читать далее

Как вести проект без релизов

Reading time6 min
Views5K

Без релизов в прямом смысле: приложение готово, оно работает, но заказчик по личным причинам пока не готов его публиковать. Проект при этом развивается, команда продолжает наполняет его фичами из бэклога. Просто... без единого релиза. Это приводит к неожиданным последствиям: команда начинает терять мотивацию, а заказчик перестаёт замечать изменения, которые происходят в продукте.

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

Читать далее

Топ-5 заблуждений в работе аналитика

Reading time8 min
Views15K

Про работу аналитика полно заблуждений: причем даже не со стороны заказчиков, а со стороны самих аналитиков. Собрали основные и рассказываем, что с этим делать.

Читать далее

BottomSheet в iOS 15: возможности ​​UISheetPresentationController

Reading time6 min
Views11K

В iOS 15 наконец-то появился способ управления высотой модальных контроллеров. Но насколько гибкой и удобной получилась реализация от Apple? Чтобы разобраться, вспомним, как эта задача решалась раньше, рассмотрим возможности и поведение нового UISheetPresentationController, оценим перспективы его применения в реальных проектах.

Читать далее

Бить или не бить? Модули в Xcode: сравниваем XcodeGen и Tuist

Reading time11 min
Views7.1K

Монолитный проект порос мхом, и хочется разбить его на модули? Рассказываем, какие инструменты помогут сделать это быстрее.

Читать далее

Как проводить тестирование на удалёнке и обходиться без тонн разных девайсов. Опыт Surf

Reading time7 min
Views9.8K

Осень, ковид, «нерабочие дни». Это у разработчиков рабочее место там, где есть компьютер. А вот тестировщикам мобильных приложений на удалёнке гораздо сложнее: им, помимо прочего, нужно много девайсов разных версий и ОС. Наши тестировщики научились работать откуда угодно и не таскать за собой сумку с устройствами. В статье найдёте, как это сделать и вам. 

Читать далее

Функциональный подход в Jetpack Compose: каррирование функций

Reading time5 min
Views3.9K

Современные языки программирования всё чаще становятся мультипарадигменными, и Kotlin не исключение. С появлением Jetpack Compose наблюдается уход от ООП  в функциональное программирование. Изучая новые средства разработки, такие как Jetpack Compose, давайте вспомним и те, которым уже около 60 лет. А главное — разберёмся, как их можно применить к современным подходам для получения большей эффективности.

Читать далее

Reactive Data Display Manager. История одного рефакторинга

Reading time10 min
Views1.3K

Борясь с рутиной по конфигурации UITableView и UICollectionView, мы создали библиотеку RDDM. В её основе — адаптер, имплементирующий DataSource и Delegate, и генератор, соответствующий ячейке коллекции.

Библиотека дорабатывалась и становилась мощнее. Но чем больше мы вносили улучшений, тем больше понимали, что с архитектурой библиотеки что-то не так. Последней каплей стала попытка подружить RDDM с мощным UITableViewDiffableDataSource, которая завершилась провалом.

Настало время для рефакторинга.

Читать далее

Information

Rating
45-th
Works in
Registered
Activity