Clock в Swift неэффективны
Автор статьи уткнулся в плохую производительность работы с
Автор статьи уткнулся в плохую производительность работы с
ContinuousClock
и SuspendingClock
, побенчмаркал их работу, и оказалось, что они работают намного медленнее обычного Date
. Вместо них он предлагает переходить на функцию mach_absolute_time
.🔥36👍7
Тренируем и запускаем ML модель на девайсе
Хороший туториал по тому, как с нуля обучить свою ML модель для того, чтобы предсказывать вероятность закрытия диалогового окна в зависимости от уровня заряда батареи.
Хороший туториал по тому, как с нуля обучить свою ML модель для того, чтобы предсказывать вероятность закрытия диалогового окна в зависимости от уровня заряда батареи.
👍14
SwiftSecurity – обертка над Keychain API
Подписчик канала поделился своей новой библиотекой SwiftSecurity. Вот основные фичи:
👉Поддерживает все сущности Keychain API.
👉Дает компайл-тайм проверки для kSetAttr.
👉Совместима со SwiftUI и CryptoKit.
Подписчик канала поделился своей новой библиотекой SwiftSecurity. Вот основные фичи:
👉Поддерживает все сущности Keychain API.
👉Дает компайл-тайм проверки для kSetAttr.
👉Совместима со SwiftUI и CryptoKit.
👍33❤9🔥7💅5👎3
Hello Developer: май 2024
Новый выпуск ежемесячной рассылки Apple для разработчиков.
👉Pathways – обучающие треки с подборкой статей, видео и документации по разным темам.
👉Интервью с победителями Swift Student Challenge.
👉Регистрация на онлайн встречи с App Review Team.
👉Обзор Apple Pencil Pro.
👉Q&A от команды SharePlay.
👉Новый фреймворк для конвертации документов в PDF.
Новый выпуск ежемесячной рассылки Apple для разработчиков.
👉Pathways – обучающие треки с подборкой статей, видео и документации по разным темам.
👉Интервью с победителями Swift Student Challenge.
👉Регистрация на онлайн встречи с App Review Team.
👉Обзор Apple Pencil Pro.
👉Q&A от команды SharePlay.
👉Новый фреймворк для конвертации документов в PDF.
❤10
Недостаток unidirectional архитектур
Основной недостаток однонаправленных архитектур, по мнению автора – размазывание бизнес-логики по разным местам в коде, из-за чего сложно получить цельную картинку происходящего. В статье он показывает, почему это кажется проблемой, на примере одного экрана.
Основной недостаток однонаправленных архитектур, по мнению автора – размазывание бизнес-логики по разным местам в коде, из-за чего сложно получить цельную картинку происходящего. В статье он показывает, почему это кажется проблемой, на примере одного экрана.
👎43👍18💅9
Динамическая тень Apple Pencil Pro
Apple Pencil Pro отбрасывает различную тень на экран в зависимости от того, какой конкретно инструмент рисования сейчас выбран.
Apple Pencil Pro отбрасывает различную тень на экран в зависимости от того, какой конкретно инструмент рисования сейчас выбран.
💅72🔥26👍14❤4👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Новые фичи accessibility
Как всегда перед WWDC Apple показывает новые фичи accessibility, которые релизнутся в следующем обновлении iOS.
👉Борьба с укачиванием при чтении в автомобиле
👉Управление iPad и iPhone движением глаз
👉Воспроизведение музыки через haptic вибрацию
Как всегда перед WWDC Apple показывает новые фичи accessibility, которые релизнутся в следующем обновлении iOS.
👉Борьба с укачиванием при чтении в автомобиле
👉Управление iPad и iPhone движением глаз
👉Воспроизведение музыки через haptic вибрацию
🔥38❤12👍3
Оптимизация перфоманса с помощью Accelerate фреймворка
Недавно я делился хорошей русскоязычной статьей с обзором фреймворка Accelerate. Держите пример того, как его использование помогло улучшить перфоманс конверсии видео и процессинга аудио на несколько порядков.
Недавно я делился хорошей русскоязычной статьей с обзором фреймворка Accelerate. Держите пример того, как его использование помогло улучшить перфоманс конверсии видео и процессинга аудио на несколько порядков.
👍14
Инструмент для тестирования universal links
getuniversal.link – бесплатный сервис для тестирования того, насколько корректно Apple закешировали ваш AASA файл.
Детали – в блогпосте.
getuniversal.link – бесплатный сервис для тестирования того, насколько корректно Apple закешировали ваш AASA файл.
Детали – в блогпосте.
👍31🔥9❤2
Опыт разработки на 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 При…
❤16💅6👍2
Проблемы работы со SwiftUI на iOS 14 и их решения
Команда Яндекс Диска написала шикарный лонгрид про то, как они добавляли SwiftUI в легаси проект на UIKit и столкнулись с миллионом проблем по ходу интеграции:
👉Баги в шаринге файлов
👉Борьба с CocoaPods и превью
👉Проблемы в работе с коллекциями
👉Проблемы с анимациями
Помимо решения этих проблем ребята делятся и советами по улучшению перфоманса, которые помогли получить прирост порядка 3х.
Команда Яндекс Диска написала шикарный лонгрид про то, как они добавляли SwiftUI в легаси проект на UIKit и столкнулись с миллионом проблем по ходу интеграции:
👉Баги в шаринге файлов
👉Борьба с CocoaPods и превью
👉Проблемы в работе с коллекциями
👉Проблемы с анимациями
Помимо решения этих проблем ребята делятся и советами по улучшению перфоманса, которые помогли получить прирост порядка 3х.
👎38👍30❤2
Как и когда запрашивать ревью на приложение
Тред с обсуждением особенностей работы с
👉Примерные бенчмарки количества рейтингов к количеству загрузок: 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…
👍10❤4💅1
Function Body Macros
В Swift приняли пропозал, добавляющий в систему макросов возможность подменять или аугментировать тело функции. Короче, такой свиззлинг, но в компайл-тайме.
Такая штука открывает кучу возможностей, например:
👉Автоматическое логирование вызова функции и переданных аргументов
👉Превращение обычных функций в RPC
В Swift приняли пропозал, добавляющий в систему макросов возможность подменять или аугментировать тело функции. Короче, такой свиззлинг, но в компайл-тайме.
Такая штука открывает кучу возможностей, например:
👉Автоматическое логирование вызова функции и переданных аргументов
👉Превращение обычных функций в RPC
💅35🔥15👍7
mise – удобный version manager для тулинга
mise – менеджер версий, который позволяет вам централизованно управлять версиями консольных тулов, используемых как локально, так и на CI. Создаете toml файл, определяете там нужные версии, добавляете его в репозиторий проекта – и готово!
mise – менеджер версий, который позволяет вам централизованно управлять версиями консольных тулов, используемых как локально, так и на CI. Создаете toml файл, определяете там нужные версии, добавляете его в репозиторий проекта – и готово!
🔥22❤5👎2
Про 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…
🔥46👎22👍16❤2
Get API – новый аналог Postman
Если вы устали от перегруженности Postman фичами, а Insomnia почему-то тоже не подходит, посмотрите на Get API. Основные плюшки:
👉Нативное macOS приложение, не перегруженное фичами и сложным интерфейсом
👉Умеет работать и с REST, и с вебсокетами
👉Не требует заведения учетных записей, работает с GitHub как с источником правды
Если вы устали от перегруженности Postman фичами, а Insomnia почему-то тоже не подходит, посмотрите на Get API. Основные плюшки:
👉Нативное macOS приложение, не перегруженное фичами и сложным интерфейсом
👉Умеет работать и с REST, и с вебсокетами
👉Не требует заведения учетных записей, работает с GitHub как с источником правды
💅39👍11❤3🔥3
Финалисты 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
Apple Design Awards - 2025 winners and finalists - Apple Developer
Meet the winners and finalists for the 2025 Apple Design Awards
🔥9❤3👍2