DSL на Swift
Большое количество примеров того, как на Swift можно определять свои DSL, и строить на их основе архитектуру всего приложения.
Большое количество примеров того, как на Swift можно определять свои DSL, и строить на их основе архитектуру всего приложения.
Jenkins для iOS разработки
Подробный гайд по тому, как поднять CI сервер на Jenkins: настроить окружение, сконфигурировать джобы и написать Jenkinsfile.
Перевод на русский язык
Подробный гайд по тому, как поднять CI сервер на Jenkins: настроить окружение, сконфигурировать джобы и написать Jenkinsfile.
Перевод на русский язык
www.roger.ml
✍️ Step-by-Step Jenkins Setup for iOS in 2023 | Ultimate Guide
I spent over 3 weeks setting it up the first time. Don't make the same mistakes I did!
This media is not supported in your browser
VIEW IN TELEGRAM
Squirrel – приложение, которое чинит скроллинг в симуляторе
В iOS симуляторе не работает скроллинг. Вернее работает, но он не интегрируется с колесиком мыши или трекпадом. Squirrel – приложение, которое висит в трее, следит за скроллом, и с помощью Accessibility делает нужный жест в симуляторе.
В iOS симуляторе не работает скроллинг. Вернее работает, но он не интегрируется с колесиком мыши или трекпадом. Squirrel – приложение, которое висит в трее, следит за скроллом, и с помощью Accessibility делает нужный жест в симуляторе.
Code Scanning и Dependabot для Swift на GitHub
GitHub анонсировали расширенную поддержку Swift. Во-первых, на пулл реквестах вы будете автоматически получать уведомления о различных потенциальных дырах в безопасности. Во-вторых, Dependabot будет сообщать о том, что в ваших зависимостях найдены уязвимости.
Пока поддержка в Beta, но вы можете попробовать ее на своем опенсорсном проекте и оставить команде фидбэк.
GitHub анонсировали расширенную поддержку Swift. Во-первых, на пулл реквестах вы будете автоматически получать уведомления о различных потенциальных дырах в безопасности. Во-вторых, Dependabot будет сообщать о том, что в ваших зависимостях найдены уязвимости.
Пока поддержка в Beta, но вы можете попробовать ее на своем опенсорсном проекте и оставить команде фидбэк.
Swift Forums
Beta testers wanted: Get a sneak peek at GitHub’s code scanning support for Swift!
👋 Pierre from GitHub here. What’s happening? On June 1 2023, just ahead of WWDC 23, GitHub is adding Swift support to a number of our Advanced Security features: GitHub code scanning support for Swift enters public beta to help open-source and enterprise…
Дайджест Swift Evolution за апрель-май
✅SE-0314: AsyncStream and AsyncThrowingStream
✅SE-0388: Convenience AsyncStream.makeStream methods
✅SE-0389: Attached Macros
✅SE-0391: Package Registry Publish
✅SE-0393: Value and Type Parameter Packs
✅SE-0394: Package Manager Support for Custom Macros
Перевод на русский язык
✅SE-0314: AsyncStream and AsyncThrowingStream
✅SE-0388: Convenience AsyncStream.makeStream methods
✅SE-0389: Attached Macros
✅SE-0391: Package Registry Publish
✅SE-0393: Value and Type Parameter Packs
✅SE-0394: Package Manager Support for Custom Macros
Перевод на русский язык
Substack
Swift Evolution Monthly: March + April '23
1-Year Anniversary: Summaries on GitHub! AsyncStream, Attached Macros (in SwiftPM), Package Publish, Parameter Packs, Feature Flags & Foundation Preview.
This media is not supported in your browser
VIEW IN TELEGRAM
Dynamic Island как индикатор прогресса чтения
Обязательно посмотрите весь тред – там еще две реализации. Эта, правда, моя любимая.
Обязательно посмотрите весь тред – там еще две реализации. Эта, правда, моя любимая.
DeviceDiscoveryUI – системный фреймворк для соединения tvOS и iOS
Год назад Apple выпустили DeviceDiscoveryUI – фреймворк, который позволяет приложению на Apple TV обмениваться данными с iPhone, iPad и Apple Watch по локальной сети.
Статья – золото, так как официальная документация практически отсутствует, тестовые примеры не компилируются и используют не существующий API, а сам фреймворк работает не особо надежно.
Год назад Apple выпустили DeviceDiscoveryUI – фреймворк, который позволяет приложению на Apple TV обмениваться данными с iPhone, iPad и Apple Watch по локальной сети.
Статья – золото, так как официальная документация практически отсутствует, тестовые примеры не компилируются и используют не существующий API, а сам фреймворк работает не особо надежно.
SwiftFiddle – онлайн Swift плейграунд
SwiftFiddle – онлайн редактор Swift кода. Из интересного:
➡️Можно шарить сниппеты по ссылке.
➡️Код можно собирать любой версией компилятора, начиная со Swift 2, заканчивая последними nightly сборками.
➡️Можно использовать некоторые официальные библиотеки, например swift-collections.
SwiftFiddle – онлайн редактор Swift кода. Из интересного:
➡️Можно шарить сниппеты по ссылке.
➡️Код можно собирать любой версией компилятора, начиная со Swift 2, заканчивая последними nightly сборками.
➡️Можно использовать некоторые официальные библиотеки, например swift-collections.
SwiftFiddle - Swift Online Playground
Swift Online Playground
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles (little Swift programs that run directly in your browser).
Обзор CI в Airbnb
Команда Airbnb рассказывает, как они используют AWS, Terraform и Packer, чтобы управлять фермой из 300 Mac устройств и легко обновлять их окружение.
Перевод на русский язык
Команда Airbnb рассказывает, как они используют AWS, Terraform и Packer, чтобы управлять фермой из 300 Mac устройств и легко обновлять их окружение.
Перевод на русский язык
Дизайнерский гайд по паттернам навигации
Human Interface Guidelines не очень подробно распространяются на тему навигации. Вместо них держите супер-подробный сторонний гайд, в котором рассматриваются все часто встречающиеся способы организации структуры экранов, и детали поведения их интерфейсов.
Human Interface Guidelines не очень подробно распространяются на тему навигации. Вместо них держите супер-подробный сторонний гайд, в котором рассматриваются все часто встречающиеся способы организации структуры экранов, и детали поведения их интерфейсов.
Как Uber трекает время старта приложения
В iOS 15 появился автоматический прогрев приложений. Иногда операционная система сама запускает процесс приложения, чтобы, если пользователь захочет его включить, ждать пришлось бы меньше. Эта фича сильно усложнила мониторинг времени старта приложения, и в статье инженеры Uber рассказывают, как перепилили свою систему мониторинга.
Если кратко – с помощью MetrikKit собираются pre-launch метрики, с помощью собственной логики – post-launch метрики. Дальше они отправляются на сервер, там склеиваются, и попадают в мониторинг.
В iOS 15 появился автоматический прогрев приложений. Иногда операционная система сама запускает процесс приложения, чтобы, если пользователь захочет его включить, ждать пришлось бы меньше. Эта фича сильно усложнила мониторинг времени старта приложения, и в статье инженеры Uber рассказывают, как перепилили свою систему мониторинга.
Если кратко – с помощью MetrikKit собираются pre-launch метрики, с помощью собственной логики – post-launch метрики. Дальше они отправляются на сервер, там склеиваются, и попадают в мониторинг.
Ищем инженера, который займется интеропом Kotlin и Swift
Одно из главных направлений развития Kotlin Multiplatform – хороший интероп с iOS экосистемой. Сейчас интероп Kotlin со Swift работает только через Objective-C. Мы хотим это улучшить, в том числе за счет интеропа напрямую со Swift. В команду, которая занимается этой задачей, мы ищем сильного инженера с iOS бэкграундом.
Какие основные требования у вакансии (сразу предупреждаю, что опыта разработки языков и рантаймов мы не ожидаем):
💻Сильный бэкграунд в любых нативных языках (C++/Swift/Objective-C/Rust)
🤔Базовое понимание того, как работают виртуальные машины, рантаймы и операционные системы.
Вакансия с релокацией: Нидерланды, Германия, Кипр, Сербия или Армения. Отправляйте резюме, а если будут вопросы – пишите напрямую мне (@etolstoy).
*️⃣А если вы работали в платформенных командах, занимались инфрой, сборками и CI/CD, то вот еще одна кайфовая вакансия в тему.
Одно из главных направлений развития Kotlin Multiplatform – хороший интероп с iOS экосистемой. Сейчас интероп Kotlin со Swift работает только через Objective-C. Мы хотим это улучшить, в том числе за счет интеропа напрямую со Swift. В команду, которая занимается этой задачей, мы ищем сильного инженера с iOS бэкграундом.
Какие основные требования у вакансии (сразу предупреждаю, что опыта разработки языков и рантаймов мы не ожидаем):
💻Сильный бэкграунд в любых нативных языках (C++/Swift/Objective-C/Rust)
🤔Базовое понимание того, как работают виртуальные машины, рантаймы и операционные системы.
Вакансия с релокацией: Нидерланды, Германия, Кипр, Сербия или Армения. Отправляйте резюме, а если будут вопросы – пишите напрямую мне (@etolstoy).
*️⃣А если вы работали в платформенных командах, занимались инфрой, сборками и CI/CD, то вот еще одна кайфовая вакансия в тему.
This media is not supported in your browser
VIEW IN TELEGRAM
DocC туториалы по Composable Architecture
Если вы хотите вкатиться в ТСА, но смотреть кучу видеоуроков не ваш формат, то попробуйте новый интерактивный туториал на DocC, в котором разбирается создание новой фичи, работа с сайд-эффектами и покрытие всего тестами.
Если вы хотите вкатиться в ТСА, но смотреть кучу видеоуроков не ваш формат, то попробуйте новый интерактивный туториал на DocC, в котором разбирается создание новой фичи, работа с сайд-эффектами и покрытие всего тестами.
Новые Accessibility фичи
Как всегда в последние годы, Apple за несколько недель до WWDC представляет новые фичи доступности, которые появятся в следующей iOS. В этом году все особенно интересно!
👉Assistive Access. Новый упрощенный интерфейс для системных приложений, в котором выпилили все лишнее, оставили самые базовые элементы интерфейса и увеличили их в несколько раз. Куда там занести деньги, чтобы этот режим везде был по дефолту?
👉Live Speech. Генерация голоса, похожего на ваш, для озвучки введенного текста.
👉Point ans Speak. Озвучивание текстовых надписей, которые попадают на камеру.
Как всегда в последние годы, Apple за несколько недель до WWDC представляет новые фичи доступности, которые появятся в следующей iOS. В этом году все особенно интересно!
👉Assistive Access. Новый упрощенный интерфейс для системных приложений, в котором выпилили все лишнее, оставили самые базовые элементы интерфейса и увеличили их в несколько раз. Куда там занести деньги, чтобы этот режим везде был по дефолту?
👉Live Speech. Генерация голоса, похожего на ваш, для озвучки введенного текста.
👉Point ans Speak. Озвучивание текстовых надписей, которые попадают на камеру.
Как Apple могли бы переписать Core Data на Swift
Вторая вещь, которая происходит каждый год перед WWDC – люди скрещивают пальчики и ждут, что Apple выпустит современную замену для Core Data. Подписываюсь под всеми хотелками из статьи!
Перевод на русский язык
Вторая вещь, которая происходит каждый год перед WWDC – люди скрещивают пальчики и ждут, что Apple выпустит современную замену для Core Data. Подписываюсь под всеми хотелками из статьи!
Перевод на русский язык
Medium
What I Hope to See for Core Data at WWDC 2023
The WWDC23 Core Data Wishlist includes a Swift rewrite, API refactoring, improved SQLite support, a revamped Model Editor, and more.
package – новый access modifier
В Swift 5.9 появится новый модификатор доступа – package. К символам, помеченным таким образом, можно будет получить доступ только коду из того же пакета. В статье разбирается несколько примеров его использования и его совместимость с другими модификаторамич
Перевод на русский язык
В Swift 5.9 появится новый модификатор доступа – package. К символам, помеченным таким образом, можно будет получить доступ только коду из того же пакета. В статье разбирается несколько примеров его использования и его совместимость с другими модификаторамич
Перевод на русский язык
Проектирование навигации с учетом диплинков
Обработку Universal Links лучше всего не костылить, а встраивать прямо в вашу систему навигации.
Приходите на вебинар, где на практике разберут, как лучше всего спроектировать систему диплинков в SwiftUI приложении.
Вебинар является частью продвинутого онлайн-курса «iOS Developer. Professional» от OTUS
📆 Дата: 26 мая в 20:00
👉 Регистрация на вебинар
Обработку Universal Links лучше всего не костылить, а встраивать прямо в вашу систему навигации.
Приходите на вебинар, где на практике разберут, как лучше всего спроектировать систему диплинков в SwiftUI приложении.
Вебинар является частью продвинутого онлайн-курса «iOS Developer. Professional» от OTUS
📆 Дата: 26 мая в 20:00
👉 Регистрация на вебинар