Telegram Web Link
Опыт разработки на Swift под Playdate

Михаил Рубанов вдохновился недавно появившейся поддержкой Swift в консоли Playdate, и попробовал сделать для нее пет-проект. В видео он рассказывает про:

👉Доступный API
👉Особенности разработки без тестов, логгера и дебаггера
👉Работу с UnsafeMutablePointer и ручным управлением памятью
Проблемы работы со SwiftUI на iOS 14 и их решения

Команда Яндекс Диска написала шикарный лонгрид про то, как они добавляли SwiftUI в легаси проект на UIKit и столкнулись с миллионом проблем по ходу интеграции:

👉Баги в шаринге файлов
👉Борьба с CocoaPods и превью
👉Проблемы в работе с коллекциями
👉Проблемы с анимациями

Помимо решения этих проблем ребята делятся и советами по улучшению перфоманса, которые помогли получить прирост порядка 3х.
Как и когда запрашивать ревью на приложение

Тред с обсуждением особенностей работы с requestReview API, которое показывает пользователю предложение оценить приложение. Основная сложность с тем, что разработчик напрямую не управляет появлением этого алерта, равно как и не может узнать, был ли он показан.

👉Примерные бенчмарки количества рейтингов к количеству загрузок: 1.5-2.5%.
👉Конкретных стратегий очень много, но народная мудрость говорит о том, что лучше запрашивать отзыв не сразу на старте приложения, а после завершения целевого действия.
👉Больше всего хвалят показ по сочетанию следующих факторов: 5 запусков приложения, несколько совершенных целевых действий, и хотя бы неделя, прошедшая с первого запуска.
Function Body Macros

В Swift приняли пропозал, добавляющий в систему макросов возможность подменять или аугментировать тело функции. Короче, такой свиззлинг, но в компайл-тайме.

Такая штука открывает кучу возможностей, например:
👉Автоматическое логирование вызова функции и переданных аргументов
👉Превращение обычных функций в RPC
mise – удобный version manager для тулинга

mise – менеджер версий, который позволяет вам централизованно управлять версиями консольных тулов, используемых как локально, так и на CI. Создаете toml файл, определяете там нужные версии, добавляете его в репозиторий проекта – и готово!
Про iOS разработку в Revolut

Обзорная статья про то, как в Revolut организована iOS разработка во всех их приложениях. Интересные факты:

👉Используется Clean Architecture, смешанная с MVVM-C.
👉Приложения побиты на модули, 160 пошарены между всеми проектами, еще 170 в основном приложении.
👉По техстеку: Swift, Bazel, минимум зависимостей от сторонних фреймворков.
👉Всего над их проектами работает 120 айосеров.
👉Регулярно гоняются 150.000 юнит тестов и 3.000 UI тестов.
Get API – новый аналог Postman

Если вы устали от перегруженности Postman фичами, а Insomnia почему-то тоже не подходит, посмотрите на Get API. Основные плюшки:

👉Нативное macOS приложение, не перегруженное фичами и сложным интерфейсом
👉Умеет работать и с REST, и с вебсокетами
👉Не требует заведения учетных записей, работает с GitHub как с источником правды
Swift исполняется 10 лет

10 лет назад на WWDC Apple впервые представили Swift🎉

Расскажите в комментариях про то, что вы подумали про Swift в первое время после анонса!
Финалисты Apple Design Awards 2024

Объявили финалоистов ежегодной предввдцшной премии Apple Design Awards. Из самого интересного:

👉Arc Search получает премию в категории Interaction за перепридумывание мобильного браузера.
👉Crouton, инди-приложение для менеджмента рецептов, тоже награждается за Interaction.
👉Meditate, приложение для медитаций, награждается в Visuals за крутые анимации мандалы на SwiftUI.
👉Copilot Money, премия за инновации, за применение ML для управления личными финансами.
Современный UIKit

PointFree начали серию выпусков, в которых они показывают, как может выглядеть современная разработка на чистом UIKit, без всяких SwiftUI примесей. В качестве примера реализуется экран выбора и настроек Wi-Fi сети.
Not Private APIs

Community-driven документация по некоторым из приватных API.
Генерация DocC документации для нескольких таргетов

У DocC есть ограничение – он генерирует документацию только для одного таргета. Команда PSPDFKit рассказывает, как обойти это ограничение, и с посощью набора скриптов собрать документацию сразу нескольких фреймворков в один архив.
Современный UIKit, часть 2

Продолжение серии выпусков от Pointfree про современную разработку на чистом UIKit. Основной фокус этой части на работе с UICollectionView.

Первая часть вот здесь.
Concurrency в Swift 6

Подробный разбор всех новых языковых фичей в Swift 6, которые связаны с concurrency в формате проблема-решения-ограничения.
На этой неделе будет очень много материалов по мотивам только что прошедшего WWDC, так что готовьтесь! А начнем с конспекта Platforms State of the Union!
Что нового в SwiftUI в iOS 18

👉Создание кастомных коллекций вью, аналогичных List и TabView.
👉Новый Tab-бар, который автоматически с классной анимацией преобразуется в сайдбар и обратно.
👉Новые анимации для переходов между вьюхами.
👉Возможность сдвинуть скролл на конкретную позицию.
👉Макрос Entry, с помощью которого можно быстро задавать разные параметры окружения.
👉Макрос Previewable, с помощью которого можно задавать стейт для превью.
Что нового в UIKit в iOS 18

👉Автоматическое отслеживание изменений trait'ов без необходимости вызова registerForTraitChanges.
👉Новый класс для анимаций UIUpdateLink, более продвинутый аналог CADisplayLink.
👉Новые стили анимаций для SFSymbols.
👉Добавление опций форматирования текста для любого UITextView.
Dark mode app icons

Рекомендации по тому, как адаптировать иконки приложений разной композиции к темному режиму таким образом, чтобы она не выделялась из всех избыточной яркостью, но при этом сохраняла узнаваемость.
2024/09/28 04:20:30
Back to Top
HTML Embed Code: