Обновить
8K+
69

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

14
Рейтинг
248
Подписчики
Отправить сообщение

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

Время на прочтение11 мин
Охват и читатели3.8K

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

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

Читать далее

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

Время на прочтение5 мин
Охват и читатели4.1K

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

Читать далее

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

Время на прочтение13 мин
Охват и читатели7.3K

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

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

Читать далее

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

Время на прочтение6 мин
Охват и читатели6.6K

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

Читать далее

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

Время на прочтение7 мин
Охват и читатели71K

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

Читать далее

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

Время на прочтение15 мин
Охват и читатели29K

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

Читать далее

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

Время на прочтение10 мин
Охват и читатели12K

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

Читать далее

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

Время на прочтение7 мин
Охват и читатели19K

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

Читать далее

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

Время на прочтение22 мин
Охват и читатели21K

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

Читать далее

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

Время на прочтение8 мин
Охват и читатели8.5K

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

Читать далее

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

Время на прочтение7 мин
Охват и читатели40K

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

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

Читать далее

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

Время на прочтение10 мин
Охват и читатели14K

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

Читать далее

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

Время на прочтение6 мин
Охват и читатели5.2K

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

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

Читать далее

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

Время на прочтение8 мин
Охват и читатели16K

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

Читать далее

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

Время на прочтение6 мин
Охват и читатели14K

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

Читать далее

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

Время на прочтение11 мин
Охват и читатели8.2K

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

Читать далее

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

Время на прочтение7 мин
Охват и читатели10K

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

Читать далее

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

Время на прочтение5 мин
Охват и читатели4.2K

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

Читать далее

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

Время на прочтение10 мин
Охват и читатели1.5K

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

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

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

Читать далее

Инструкция: как написать собственный GitHub Action на Dart

Время на прочтение4 мин
Охват и читатели3.6K

Привет! Меня зовут Дмитрий Круцких, я Flutter-тимлид в компании Surf. Сегодня расскажу, как написать простейший GitHub Action, используя язык программирования Dart. 

Читать далее

Информация

В рейтинге
586-й
Зарегистрирован
Активность