Инструмент для тестирования universal links
getuniversal.link – бесплатный сервис для тестирования того, насколько корректно Apple закешировали ваш AASA файл.
Детали – в блогпосте.
getuniversal.link – бесплатный сервис для тестирования того, насколько корректно Apple закешировали ваш AASA файл.
Детали – в блогпосте.
Опыт разработки на Swift под Playdate
Михаил Рубанов вдохновился недавно появившейся поддержкой Swift в консоли Playdate, и попробовал сделать для нее пет-проект. В видео он рассказывает про:
👉Доступный API
👉Особенности разработки без тестов, логгера и дебаггера
👉Работу с UnsafeMutablePointer и ручным управлением памятью
Михаил Рубанов вдохновился недавно появившейся поддержкой Swift в консоли Playdate, и попробовал сделать для нее пет-проект. В видео он рассказывает про:
👉Доступный API
👉Особенности разработки без тестов, логгера и дебаггера
👉Работу с UnsafeMutablePointer и ручным управлением памятью
YouTube
Как писать игры на Swift для Playdate
Playdate это портативная консоль с черно-белым экраном и ручкой для кручения. Недавно для нее стало можно разрабатывать на Swift, я попробовал и рассказал на встрече iOS-гильдии в Додо Инжиниринге про 4 дня экспериментов
0:00 Что еще за Playdate
2:22 При…
0:00 Что еще за Playdate
2:22 При…
Проблемы работы со SwiftUI на iOS 14 и их решения
Команда Яндекс Диска написала шикарный лонгрид про то, как они добавляли SwiftUI в легаси проект на UIKit и столкнулись с миллионом проблем по ходу интеграции:
👉Баги в шаринге файлов
👉Борьба с CocoaPods и превью
👉Проблемы в работе с коллекциями
👉Проблемы с анимациями
Помимо решения этих проблем ребята делятся и советами по улучшению перфоманса, которые помогли получить прирост порядка 3х.
Команда Яндекс Диска написала шикарный лонгрид про то, как они добавляли SwiftUI в легаси проект на UIKit и столкнулись с миллионом проблем по ходу интеграции:
👉Баги в шаринге файлов
👉Борьба с CocoaPods и превью
👉Проблемы в работе с коллекциями
👉Проблемы с анимациями
Помимо решения этих проблем ребята делятся и советами по улучшению перфоманса, которые помогли получить прирост порядка 3х.
Как и когда запрашивать ревью на приложение
Тред с обсуждением особенностей работы с
👉Примерные бенчмарки количества рейтингов к количеству загрузок: 1.5-2.5%.
👉Конкретных стратегий очень много, но народная мудрость говорит о том, что лучше запрашивать отзыв не сразу на старте приложения, а после завершения целевого действия.
👉Больше всего хвалят показ по сочетанию следующих факторов: 5 запусков приложения, несколько совершенных целевых действий, и хотя бы неделя, прошедшая с первого запуска.
Тред с обсуждением особенностей работы с
requestReview
API, которое показывает пользователю предложение оценить приложение. Основная сложность с тем, что разработчик напрямую не управляет появлением этого алерта, равно как и не может узнать, был ли он показан.👉Примерные бенчмарки количества рейтингов к количеству загрузок: 1.5-2.5%.
👉Конкретных стратегий очень много, но народная мудрость говорит о том, что лучше запрашивать отзыв не сразу на старте приложения, а после завершения целевого действия.
👉Больше всего хвалят показ по сочетанию следующих факторов: 5 запусков приложения, несколько совершенных целевых действий, и хотя бы неделя, прошедшая с первого запуска.
iOS Dev Space
Matt Corey (@[email protected])
What are folks' strategies with using the StoreKit 'requestReview' call? Given that Apple controls when the user sees this, I often see advice that you should be pretty aggressive with calling this - is this how you call it?
Have you seen any evidence…
Have you seen any evidence…
Function Body Macros
В Swift приняли пропозал, добавляющий в систему макросов возможность подменять или аугментировать тело функции. Короче, такой свиззлинг, но в компайл-тайме.
Такая штука открывает кучу возможностей, например:
👉Автоматическое логирование вызова функции и переданных аргументов
👉Превращение обычных функций в RPC
В Swift приняли пропозал, добавляющий в систему макросов возможность подменять или аугментировать тело функции. Короче, такой свиззлинг, но в компайл-тайме.
Такая штука открывает кучу возможностей, например:
👉Автоматическое логирование вызова функции и переданных аргументов
👉Превращение обычных функций в RPC
mise – удобный version manager для тулинга
mise – менеджер версий, который позволяет вам централизованно управлять версиями консольных тулов, используемых как локально, так и на CI. Создаете toml файл, определяете там нужные версии, добавляете его в репозиторий проекта – и готово!
mise – менеджер версий, который позволяет вам централизованно управлять версиями консольных тулов, используемых как локально, так и на CI. Создаете toml файл, определяете там нужные версии, добавляете его в репозиторий проекта – и готово!
Про iOS разработку в Revolut
Обзорная статья про то, как в Revolut организована iOS разработка во всех их приложениях. Интересные факты:
👉Используется Clean Architecture, смешанная с MVVM-C.
👉Приложения побиты на модули, 160 пошарены между всеми проектами, еще 170 в основном приложении.
👉По техстеку: Swift, Bazel, минимум зависимостей от сторонних фреймворков.
👉Всего над их проектами работает 120 айосеров.
👉Регулярно гоняются 150.000 юнит тестов и 3.000 UI тестов.
Обзорная статья про то, как в Revolut организована iOS разработка во всех их приложениях. Интересные факты:
👉Используется Clean Architecture, смешанная с MVVM-C.
👉Приложения побиты на модули, 160 пошарены между всеми проектами, еще 170 в основном приложении.
👉По техстеку: Swift, Bazel, минимум зависимостей от сторонних фреймворков.
👉Всего над их проектами работает 120 айосеров.
👉Регулярно гоняются 150.000 юнит тестов и 3.000 UI тестов.
Medium
The fundamentals of iOS at Revolut
We believe that it’s possible to deliver high-quality software, fast. To achieve this we follow a set of important principles and apply a…
Get API – новый аналог Postman
Если вы устали от перегруженности Postman фичами, а Insomnia почему-то тоже не подходит, посмотрите на Get API. Основные плюшки:
👉Нативное macOS приложение, не перегруженное фичами и сложным интерфейсом
👉Умеет работать и с REST, и с вебсокетами
👉Не требует заведения учетных записей, работает с GitHub как с источником правды
Если вы устали от перегруженности Postman фичами, а Insomnia почему-то тоже не подходит, посмотрите на Get API. Основные плюшки:
👉Нативное macOS приложение, не перегруженное фичами и сложным интерфейсом
👉Умеет работать и с REST, и с вебсокетами
👉Не требует заведения учетных записей, работает с GitHub как с источником правды
Финалисты Apple Design Awards 2024
Объявили финалоистов ежегодной предввдцшной премии Apple Design Awards. Из самого интересного:
👉Arc Search получает премию в категории Interaction за перепридумывание мобильного браузера.
👉Crouton, инди-приложение для менеджмента рецептов, тоже награждается за Interaction.
👉Meditate, приложение для медитаций, награждается в Visuals за крутые анимации мандалы на SwiftUI.
👉Copilot Money, премия за инновации, за применение ML для управления личными финансами.
Объявили финалоистов ежегодной предввдцшной премии Apple Design Awards. Из самого интересного:
👉Arc Search получает премию в категории Interaction за перепридумывание мобильного браузера.
👉Crouton, инди-приложение для менеджмента рецептов, тоже награждается за Interaction.
👉Meditate, приложение для медитаций, награждается в Visuals за крутые анимации мандалы на SwiftUI.
👉Copilot Money, премия за инновации, за применение ML для управления личными финансами.
Apple
2024 winners and finalists - Apple Design Awards - Apple Developer
Meet the winners and finalists for the 2024 Apple Design Awards
Современный UIKit
PointFree начали серию выпусков, в которых они показывают, как может выглядеть современная разработка на чистом UIKit, без всяких SwiftUI примесей. В качестве примера реализуется экран выбора и настроек Wi-Fi сети.
PointFree начали серию выпусков, в которых они показывают, как может выглядеть современная разработка на чистом UIKit, без всяких SwiftUI примесей. В качестве примера реализуется экран выбора и настроек Wi-Fi сети.
www.pointfree.co
Episode #281: Modern UIKit: Sneak Peek, Part 1
As we approach WWDC24 and 5 years of SwiftUI, let’s talk about… UIKit! 😜 We love SwiftUI, but there will still be times you must drop down to UIKit, and so we want to show what modern UIKit development can look like if you put in a little bit of effort to…
Готовимся к просмотру WWDC
👉Apple Developer app, в котором можно смотреть все сессии
👉Новый Youtube канал, куда будут выкладываться сессии
👉Расписание сессий, которое появится после кейноута
📆Событие календаря для кейноута
📆Событие календаря для Platforms State of the Union
👉Apple Developer app, в котором можно смотреть все сессии
👉Новый Youtube канал, куда будут выкладываться сессии
👉Расписание сессий, которое появится после кейноута
📆Событие календаря для кейноута
📆Событие календаря для Platforms State of the Union
App Store
Apple Developer
Welcome to Apple Developer, your source for developer news, features, and videos — and the best place to experience WWDC.
• Keep up to date on the latest Apple frameworks and technologies.
• Browse news, features, developer stories, and more.
• Catch up…
• Keep up to date on the latest Apple frameworks and technologies.
• Browse news, features, developer stories, and more.
• Catch up…
Генерация DocC документации для нескольких таргетов
У DocC есть ограничение – он генерирует документацию только для одного таргета. Команда PSPDFKit рассказывает, как обойти это ограничение, и с посощью набора скриптов собрать документацию сразу нескольких фреймворков в один архив.
У DocC есть ограничение – он генерирует документацию только для одного таргета. Команда PSPDFKit рассказывает, как обойти это ограничение, и с посощью набора скриптов собрать документацию сразу нескольких фреймворков в один архив.
Nutrient
Generating API documentation for multiple targets with DocC | Nutrient
Follow our process of utilizing DocC to create combined API documentation for multiple frameworks.
Современный UIKit, часть 2
Продолжение серии выпусков от Pointfree про современную разработку на чистом UIKit. Основной фокус этой части на работе с
Первая часть вот здесь.
Продолжение серии выпусков от Pointfree про современную разработку на чистом UIKit. Основной фокус этой части на работе с
UICollectionView
.Первая часть вот здесь.
Concurrency в Swift 6
Подробный разбор всех новых языковых фичей в Swift 6, которые связаны с concurrency в формате проблема-решения-ограничения.
Подробный разбор всех новых языковых фичей в Swift 6, которые связаны с concurrency в формате проблема-решения-ограничения.
Что нового в SwiftUI в iOS 18
👉Создание кастомных коллекций вью, аналогичных
👉Новый Tab-бар, который автоматически с классной анимацией преобразуется в сайдбар и обратно.
👉Новые анимации для переходов между вьюхами.
👉Возможность сдвинуть скролл на конкретную позицию.
👉Макрос Entry, с помощью которого можно быстро задавать разные параметры окружения.
👉Макрос Previewable, с помощью которого можно задавать стейт для превью.
👉Создание кастомных коллекций вью, аналогичных
List
и TabView
.👉Новый Tab-бар, который автоматически с классной анимацией преобразуется в сайдбар и обратно.
👉Новые анимации для переходов между вьюхами.
👉Возможность сдвинуть скролл на конкретную позицию.
👉Макрос Entry, с помощью которого можно быстро задавать разные параметры окружения.
👉Макрос Previewable, с помощью которого можно задавать стейт для превью.
Swift with Majid
What is new in SwiftUI after WWDC 24
WWDC 24 is here, and we have a lot to cover. Every year, SwiftUI matures by introducing more features to catch up with UIKit. This year is no exception. Let’s dive into the new features that the SwiftUI framework introduces.
Что нового в UIKit в iOS 18
👉Автоматическое отслеживание изменений trait'ов без необходимости вызова
👉Новый класс для анимаций
👉Новые стили анимаций для SFSymbols.
👉Добавление опций форматирования текста для любого
👉Автоматическое отслеживание изменений trait'ов без необходимости вызова
registerForTraitChanges.
👉Новый класс для анимаций
UIUpdateLink
, более продвинутый аналог CADisplayLink
.👉Новые стили анимаций для SFSymbols.
👉Добавление опций форматирования текста для любого
UITextView
.Swiftjective-C
iOS 18: Notable UIKit Additions
iOS 18 is out in the wild! As always, let's check in with our mature interface framework, UIKit.