bootg.com »
United States »
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT » Telegram Web
Новые 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
👉 Регистрация на вебинар
Документация и схема событий аналитики
В какой-то момент в приложении Headhunter стало так много разных событий аналитики, что ребята решили навести в них порядок. Вот что получилось:
👉Отдельный репозиторий, который стал источником правды про все события.
👉Каждое событие описывается yaml файлом, который содержит название, описание, категории, к которым оно относится, и параметры.
👉Схема умеет рендериться в маркдаун, и благодаря этому генерируется человекочитаемый справочник всех событий.
👉Аналитики сами пишут yaml файлы.
👉Из схемы также генерируется код для приложения.
В какой-то момент в приложении Headhunter стало так много разных событий аналитики, что ребята решили навести в них порядок. Вот что получилось:
👉Отдельный репозиторий, который стал источником правды про все события.
👉Каждое событие описывается yaml файлом, который содержит название, описание, категории, к которым оно относится, и параметры.
👉Схема умеет рендериться в маркдаун, и благодаря этому генерируется человекочитаемый справочник всех событий.
👉Аналитики сами пишут yaml файлы.
👉Из схемы также генерируется код для приложения.
Как адоптить новые фичи в кроссплатформенной кодовой базе на iOS и macOS
Из-за того, что Apple выпускает стабильные версии новой iOS и новой macOS в разное время, вы можете столкнуться с довольно неприятной проблемой – после выхода Xcode 15.0 ваш кроссплатформенный код с поддержкой новых фичей перестанет собираться под мак. В статье разбирается, как комбинировать compile-time и runtime проверки, чтобы облегчить свою жизнь.
Из-за того, что Apple выпускает стабильные версии новой iOS и новой macOS в разное время, вы можете столкнуться с довольно неприятной проблемой – после выхода Xcode 15.0 ваш кроссплатформенный код с поддержкой новых фичей перестанет собираться под мак. В статье разбирается, как комбинировать compile-time и runtime проверки, чтобы облегчить свою жизнь.
Обзорная статья про Compose Multiplatform
На Хабре вышла неплохая обзорная статья на русском языке про то, как работает Compose Multiplatform, и как собрать свой первый простой проект. Если стало интересно, вот еще несколько материалов по теме:
Официальный блог пост с анонсом
Подробный доклад
На Хабре вышла неплохая обзорная статья на русском языке про то, как работает Compose Multiplatform, и как собрать свой первый простой проект. Если стало интересно, вот еще несколько материалов по теме:
Официальный блог пост с анонсом
Подробный доклад
Памятка по тому, как репортить баги Apple
Приближается выход Beta версий Xcode и новых SDK, а значит – тонны новых багов. Apple подготовили новую страницу документации про то, как репортить проблемы с максимально подробным контекстом, и какие инструменты могут это облегчить.
Ничего все равно не исправят, конечно же.
Приближается выход Beta версий Xcode и новых SDK, а значит – тонны новых багов. Apple подготовили новую страницу документации про то, как репортить проблемы с максимально подробным контекстом, и какие инструменты могут это облегчить.
Ничего все равно не исправят, конечно же.
Act – инструмент для локального запуска GitHub Actions
Act – консольная тула, которая позволяет прогонять любой GitHub Action локально. Нужен только установленный Docker Desktop.
Вызов экшна выглядит так:
Перевод на русский язык
Act – консольная тула, которая позволяет прогонять любой GitHub Action локально. Нужен только установленный Docker Desktop.
Вызов экшна выглядит так:
act pull_request --container-architecture linux/amd64
Перевод на русский язык
Grantisom
Using Act to Run Github Actions Locally
https://github.com/nektos/act
The Act package offers a convenient way to execute your GitHub Action workflows locally. It’s a valuable tool when debugging or working on issues that either have a long runtime or are complex, saving you those precious minutes.…
The Act package offers a convenient way to execute your GitHub Action workflows locally. It’s a valuable tool when debugging or working on issues that either have a long runtime or are complex, saving you those precious minutes.…
Как устроена DispatchQueue под капотом
В статье разбирается, как с нуля написать аналог DispatchQueue на мьютексах, который умеет выполнять операции синхронно и асинхронно.
В статье разбирается, как с нуля написать аналог DispatchQueue на мьютексах, который умеет выполнять операции синхронно и асинхронно.
Собираем каталог митапов с просмотром WWDC
Кейноут WWDC пройдет вот уже через неделю. Если вы планируете организовать совместный просмотр – напишите в личку @tatiana_2209. Мы соберем каталог всех событий, чтобы вам проще было найти что-то рядом с вами.
👉Ссылка на каталог
Кейноут WWDC пройдет вот уже через неделю. Если вы планируете организовать совместный просмотр – напишите в личку @tatiana_2209. Мы соберем каталог всех событий, чтобы вам проще было найти что-то рядом с вами.
👉Ссылка на каталог
Почему мы всё время начинаем и бросаем учить английский?
Одна из причин — мы не знаем свой уровень языка и берёмся за контент, который нам не по силам. Например, сериал «Друзья» часто советуют смотреть тем, кто начинает учить язык, но в нём полно юмора, который начинающие пока понять не могут. В итоге разрыв знаний удручает и мотивация учить язык падает.
Если вы готовы дать английскому ещё один шанс, Яндекс Практикум поможет поверить в свои силы и довести дело до конца. Приходите на бесплатную консультацию в Яндекс Практикум:
- Проведут устный тест на уровень языка,
- Покажут, чего реально добиться и за какой срок,
- Расскажут, как данные курсы помогут достичь цели.
P. S. С 1 июня курсы станут больше: количество занятий с личным преподавателем увеличится с 72 до 80. Цена вырастет тоже. До 31 мая вы можете купить курс по старой цене: целиком или по частям. И если решите купить полный курс сразу — сэкономите и получите обновлённую программу из 80 занятий по прежней цене.
Одна из причин — мы не знаем свой уровень языка и берёмся за контент, который нам не по силам. Например, сериал «Друзья» часто советуют смотреть тем, кто начинает учить язык, но в нём полно юмора, который начинающие пока понять не могут. В итоге разрыв знаний удручает и мотивация учить язык падает.
Если вы готовы дать английскому ещё один шанс, Яндекс Практикум поможет поверить в свои силы и довести дело до конца. Приходите на бесплатную консультацию в Яндекс Практикум:
- Проведут устный тест на уровень языка,
- Покажут, чего реально добиться и за какой срок,
- Расскажут, как данные курсы помогут достичь цели.
P. S. С 1 июня курсы станут больше: количество занятий с личным преподавателем увеличится с 72 до 80. Цена вырастет тоже. До 31 мая вы можете купить курс по старой цене: целиком или по частям. И если решите купить полный курс сразу — сэкономите и получите обновлённую программу из 80 занятий по прежней цене.
Номинанты Apple Design Awards
Объявили номинантов на ежегодную премию Apple Design Awards. Этот список – отличный пример того, что Apple ценит в приложениях. Вот несколько интересных приложений:
✈️Flighty – за интуитивный интерфейс и хорошую интеграцию с платформой
🧘Headspace – за социальный импакт
🎥Riveo – за интерфейс и анимации
🏓SwingVision – за инновации в пользовательском опыте
Победителей объявят через неделю после кейноута WWDC.
Объявили номинантов на ежегодную премию Apple Design Awards. Этот список – отличный пример того, что Apple ценит в приложениях. Вот несколько интересных приложений:
✈️Flighty – за интуитивный интерфейс и хорошую интеграцию с платформой
🧘Headspace – за социальный импакт
🎥Riveo – за интерфейс и анимации
🏓SwingVision – за инновации в пользовательском опыте
Победителей объявят через неделю после кейноута WWDC.
Apple
2024 winners and finalists - Apple Design Awards - Apple Developer
Meet the winners and finalists for the 2024 Apple Design Awards
Про работу с dynamicMemberLookup
Аннотация
Аннотация
dynamicMemberLookup
позволяет проксировать обращение к свойствам объекта. Например, вместо cache
.storage["profile"]
дергать сразу cache
.profile
. Основной минус такого подхода – компилятор не предупредит вас, что вы обращаетесь к несуществующему свойству. В статье разбирается, как использование KeyPath вместо строковых ключей поможет вернуть compile-time safety.Swift with Majid
Dynamic member lookup in Swift
One of my favorite features of the Swift Language is the dynamic member lookup. We don’t use it very often, but it improves the API of the provided type significantly by improving the way we access the data of the particular type.
Организация межмодульного взаимодействия в многомодульном приложении
Разбор того, как архитектура межмодульного взаимодействия может влиять на скорость компиляции, вес приложения и релизный процесс. А начать чтение можно с первой статьи цикла – про то, кому вообще стоит выбирать распил приложения на модули.
Разбор того, как архитектура межмодульного взаимодействия может влиять на скорость компиляции, вес приложения и релизный процесс. А начать чтение можно с первой статьи цикла – про то, кому вообще стоит выбирать распил приложения на модули.