bootg.com »
United States »
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT » Telegram Web
Текущий статус интеропа С++ и Swift
Рабочая группа в команде Swift, отвечающая за интероп между Swift и C++, поделилась своим статусом:
- Вижн того, как должен работать интероп Swift -> C++ и C++ -> Swift.
- Завезли довольно много языковых изменений, которые помогают переводить разные системы типов друг в друга. Часть из изменений попала в Swift 5.7, а часть уедет в следующие версии.
Рабочая группа в команде Swift, отвечающая за интероп между Swift и C++, поделилась своим статусом:
- Вижн того, как должен работать интероп Swift -> C++ и C++ -> Swift.
- Завезли довольно много языковых изменений, которые помогают переводить разные системы типов друг в друга. Часть из изменений попала в Swift 5.7, а часть уедет в следующие версии.
Swift Forums
Report: Swift and C++ interoperability project progress in the Swift-5.7 time frame
This post presents the progress that the Swift and C++ interoperability workgroup has made during the first eight months of this year by highlighting the major documentation and compiler changes that landed in that time frame. The span of this time frame…
Как выполнить код в SwiftUI ровно один раз
- .onAppear не подходит – он будет вызываться каждый раз, когда вы возвращаетесь на View. Блоки .task и init тоже не подходят.
- Вместо этого можно подписаться на изменение приватной переменной, значение которой привязано к жизненному циклу View.
- .onAppear не подходит – он будет вызываться каждый раз, когда вы возвращаетесь на View. Блоки .task и init тоже не подходят.
- Вместо этого можно подписаться на изменение приватной переменной, значение которой привязано к жизненному циклу View.
Swiftjective-C
Running Code Only Once in SwiftUI
We often look to `.onAppear` or the nascent `.task` modifier to run single purpose tasks. But, those aren't reliable in all cases.
Октябрьский выпуск дайджеста Swift Evolution
- Принят пропозал, который позволит использовать любые переменные в ViewBuilder. Например, в body в SwiftUI. Любые переменные – это lazy, computed vars и другие, которые раньше не работали.
- В стадию ревью перешли пропозалы по добавлению метода sleep(for:) в Clock, модификаторов borrow и take для тюнинга ARC.
- Принят пропозал, который позволит использовать любые переменные в ViewBuilder. Например, в body в SwiftUI. Любые переменные – это lazy, computed vars и другие, которые раньше не работали.
- В стадию ревью перешли пропозалы по добавлению метода sleep(for:) в Clock, модификаторов borrow и take для тюнинга ARC.
Подкаст Санделла про техники создания быстрых и отзывчивых интерфейсов
В гостях – Adam Bell, UI инженер в Netflix, автор библиотеки для анимаций Motion и кучи другого опенсорса.
В гостях – Adam Bell, UI инженер в Netflix, автор библиотеки для анимаций Motion и кучи другого опенсорса.
Swift by Sundell
121: “Responsive and smooth UIs”, with special guest Adam Bell | Swift by Sundell
Adam Bell returns to the podcast to discuss different techniques and approaches for optimizing UI code, and how to utilize tools like animations in order to build iOS apps that feel fast and responsive.
This media is not supported in your browser
VIEW IN TELEGRAM
Приходите на стажировку в Яндекс!
Стажёры в Яндексе — это полноценные члены команды. Плечом к плечу с опытными разработчиками они улучшают сервисы Яндекса и помогают миллионам людей. Стажёры работают как полную неделю, так и по 20–30 часов. Можно выбрать удобный график.
Стажёров ищут почти во всех командах, в том числе в Поиске, Рекламе, Алисе, Облаке, Картах, Инфраструктуре, Такси, Лавке, Еде, Кинопоиске, Музыке.
Приходите на стажировку в Яндекс, чтобы узнать больше о продуктах, найти новых коллег и друзей в команде!
Переходите по ссылке, чтобы узнать все подробности и подать заявку: https://clck.ru/32dzhn
Стажёры в Яндексе — это полноценные члены команды. Плечом к плечу с опытными разработчиками они улучшают сервисы Яндекса и помогают миллионам людей. Стажёры работают как полную неделю, так и по 20–30 часов. Можно выбрать удобный график.
Стажёров ищут почти во всех командах, в том числе в Поиске, Рекламе, Алисе, Облаке, Картах, Инфраструктуре, Такси, Лавке, Еде, Кинопоиске, Музыке.
Приходите на стажировку в Яндекс, чтобы узнать больше о продуктах, найти новых коллег и друзей в команде!
Переходите по ссылке, чтобы узнать все подробности и подать заявку: https://clck.ru/32dzhn
accessibilityUserInputLabels для Voice Control
Чтобы пользователю Voice Control не нужно было угадывать, как именно вы назвали какую-то кнопку, и не нужно было бы просить скрин ридер зачитать названия всех элементов на экране, с помощью свойства accessibilityUserInputLabels можно задать сразу много возможных названий.
Если стало интересно, почитайте реплаи – там обсуждают нетривиальную задачу локализации этих названий.
Чтобы пользователю Voice Control не нужно было угадывать, как именно вы назвали какую-то кнопку, и не нужно было бы просить скрин ридер зачитать названия всех элементов на экране, с помощью свойства accessibilityUserInputLabels можно задать сразу много возможных названий.
Если стало интересно, почитайте реплаи – там обсуждают нетривиальную задачу локализации этих названий.
Ask Apple возвращается на этой неделе
Ask Apple – новый движ от Apple, который помогает разработчикам достучаться до инженеров чаще, чем раз в год на WWDC. Проходит в форме 1-1 сессий и групповых Q&A. Судя по всему, Ask Apple планируют проводить на ежемесячной основе, что прямо очень круто.
📆Расписание Q&A
📝Регистрация (нужен акк разработчика)
Ask Apple – новый движ от Apple, который помогает разработчикам достучаться до инженеров чаще, чем раз в год на WWDC. Проходит в форме 1-1 сессий и групповых Q&A. Судя по всему, Ask Apple планируют проводить на ежемесячной основе, что прямо очень круто.
📆Расписание Q&A
📝Регистрация (нужен акк разработчика)
Последний шанс влететь на Podlodka iOS Crew
Примета: если пропустить ноябрьскую Подлодку, то весь следующий год у вас будут проблемы с архитектурой на проекте.
Зачем идти на конфу:
- узнаете, почему семантика в архитектуре важнее типизированных подходов.
- разберетесь в гибридной архитектуре SwiftUI и UIKit.
- перестроитесь под реактивную архитектуру.
- научитесь проходить архитектурный собес.
- ну, и, конечно, отлично проведете неделю в нашей Телеге, общаясь с русскоязычными iOS разработчиками, которые расползлись по миру.
Старт уже сегодня, залетайте!
Примета: если пропустить ноябрьскую Подлодку, то весь следующий год у вас будут проблемы с архитектурой на проекте.
Зачем идти на конфу:
- узнаете, почему семантика в архитектуре важнее типизированных подходов.
- разберетесь в гибридной архитектуре SwiftUI и UIKit.
- перестроитесь под реактивную архитектуру.
- научитесь проходить архитектурный собес.
- ну, и, конечно, отлично проведете неделю в нашей Телеге, общаясь с русскоязычными iOS разработчиками, которые расползлись по миру.
Старт уже сегодня, залетайте!
podlodka.io
Онлайн-конференция Podlodka iOS Crew, сезон #14
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам iOS-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Реализация JWT авторизации с рефреш токенами
- JWT – один из частых стандартов авторизации. Сервер генерирует токен, а вы его используете, чтобы подписывать запросы. Когда токен протухает, используете рефреш-токен, чтобы сгенерировать новый.
- В статье на примере простого мобильного приложения и бэкенда разбирается устройство JWT авторизации, архитектура и реализация клиентского кода, который отвечает за работу с токенами.
Перевод на русский язык
- JWT – один из частых стандартов авторизации. Сервер генерирует токен, а вы его используете, чтобы подписывать запросы. Когда токен протухает, используете рефреш-токен, чтобы сгенерировать новый.
- В статье на примере простого мобильного приложения и бэкенда разбирается устройство JWT авторизации, архитектура и реализация клиентского кода, который отвечает за работу с токенами.
Перевод на русский язык
Swift и Objective-C в рейтингах языков программирования
1️⃣Redmonk – индекс, рассчитываемый на основе количества вопросов на StackOverflow и проектов на GitHub
Swift – 11 место
Objective-C – 12 место
2️⃣SlashData – индекс, основанный на регулярном опросе 26.000 разработчиков со всего мира
Swift – 9 место (4.2 млн разработчиков)
Objective-C – 11 место (3 млн разработчиков)
3️⃣Octoverse – индекс, который строится GitHub на основе мх данных об опенсорсных проектах
Swift и Objective-C не попали в топ-10
4️⃣PYPL – индекс, который рассчитывается по частотности Google поисков вида «язык tutorial»
Swift – 10 место (доля рынка 2.11%)
Objective-C – 9 место (доля рынка 2.17%)
1️⃣Redmonk – индекс, рассчитываемый на основе количества вопросов на StackOverflow и проектов на GitHub
Swift – 11 место
Objective-C – 12 место
2️⃣SlashData – индекс, основанный на регулярном опросе 26.000 разработчиков со всего мира
Swift – 9 место (4.2 млн разработчиков)
Objective-C – 11 место (3 млн разработчиков)
3️⃣Octoverse – индекс, который строится GitHub на основе мх данных об опенсорсных проектах
Swift и Objective-C не попали в топ-10
4️⃣PYPL – индекс, который рассчитывается по частотности Google поисков вида «язык tutorial»
Swift – 10 место (доля рынка 2.11%)
Objective-C – 9 место (доля рынка 2.17%)
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUICraft – Minecraft на SwiftUI
Кто-то делает троллейбус из буханки хлеба, а кто-то – воксельную игру на SwiftUI. Реализовано все поверх Prism, легковесного 3D движка, про который я как-то в канале уже рассказывал.
Кто-то делает троллейбус из буханки хлеба, а кто-то – воксельную игру на SwiftUI. Реализовано все поверх Prism, легковесного 3D движка, про который я как-то в канале уже рассказывал.
Решение проблем с single size App Icon
При использовании новой фичи Xcode, app icon универсального размера, вы можете столкнуться с двумя ошибками: «CoreData: API Misuse: Attempt to serialize store access on non-owning coordinator» и «Command CompileAssetCatalog failed with a nonzero exit code». В статье разбирают причины их возникновения, связь фичи с CoreData и способы их решить.
Перевод на русский язык
При использовании новой фичи Xcode, app icon универсального размера, вы можете столкнуться с двумя ошибками: «CoreData: API Misuse: Attempt to serialize store access on non-owning coordinator» и «Command CompileAssetCatalog failed with a nonzero exit code». В статье разбирают причины их возникновения, связь фичи с CoreData и способы их решить.
Перевод на русский язык
ngrok – используем localhost как бэкенд
- ngrok – reverse proxy, который помогает дать доступ к сервису, поднятому на localhost, из внешнего интернета.
- Для этого достаточно выполнить всего одну команду:
- ngrok – reverse proxy, который помогает дать доступ к сервису, поднятому на localhost, из внешнего интернета.
- Для этого достаточно выполнить всего одну команду:
ngrok http <port>
- Это очень удобно для того, чтобы быстро поднять локальный бэкенд для своего приложения и протестировать что-то без необходимости его деплоить.Чтобы быть в тренде последних новостей из мира iOS разработки тебе надо подписаться на канал @iOS_broadcast.
📌 Там ты найдешь ежедневную подборку новостей с кратким обзором, а также интересные опросы, чтобы проверить свои знания.
Что интересно можно узнать:
▶️ iOS: Навигация по-новому
▶️ 4 видео для мобильных разработчиков. Анимации в React Native, keyboard avoiding в SwiftUI и другое
▶️ Продвинутый дебаг в Xcode: средства отладки, про которые часто забывают
▶️ Для чего нужна Witness Table?
Канал создан авторами @android_broadcast
📌 Там ты найдешь ежедневную подборку новостей с кратким обзором, а также интересные опросы, чтобы проверить свои знания.
Что интересно можно узнать:
▶️ iOS: Навигация по-новому
▶️ 4 видео для мобильных разработчиков. Анимации в React Native, keyboard avoiding в SwiftUI и другое
▶️ Продвинутый дебаг в Xcode: средства отладки, про которые часто забывают
▶️ Для чего нужна Witness Table?
Канал создан авторами @android_broadcast
Циферблат для Apple Watch, динамически генерирующийся по текущей топографии
David Smith, тот самый разработчик приложений для watchOS, реализовал один из самых красивых циферблатов, что я видел. На основе данных о вашей локации генерируется контурная топографическая карта. Выглядит потрясающе.
А вот еще циферблаты от него же, но уже с анимацией текущей погоды.
David Smith, тот самый разработчик приложений для watchOS, реализовал один из самых красивых циферблатов, что я видел. На основе данных о вашей локации генерируется контурная топографическая карта. Выглядит потрясающе.
А вот еще циферблаты от него же, но уже с анимацией текущей погоды.
Xbase – набор инструментов для iOS разработки в Neovim
Для любителей писать код в неконвенциональных для iOS экосистемы редакторах, например, в Neovim, появился набор инструментов, которые упростят эту задачу:
- Поддержка автокомплита и навигации по исходникам
- Возможность быстрого запуска симуляторов
- Логи билдов и print()
- Генерация xcodeproj
- Поддержка всяких фичей nvim
Кстати, если вы не понимаете, зачем вообще кто-то может хотеть писать код в Vim, послушайте недавний выпуск Подлодки с Кириллом Мокевниным про продуктивность разработки, где мы в том числе много обсуждали Vim.
Для любителей писать код в неконвенциональных для iOS экосистемы редакторах, например, в Neovim, появился набор инструментов, которые упростят эту задачу:
- Поддержка автокомплита и навигации по исходникам
- Возможность быстрого запуска симуляторов
- Логи билдов и print()
- Генерация xcodeproj
- Поддержка всяких фичей nvim
Кстати, если вы не понимаете, зачем вообще кто-то может хотеть писать код в Vim, послушайте недавний выпуск Подлодки с Кириллом Мокевниным про продуктивность разработки, где мы в том числе много обсуждали Vim.
Как освободить место от неиспользуемых платформ в Xcode
Xcode не очень хорошо справляется с подчисткой неиспользуемых версий платформ симуляторов. Может так оказаться, что вы продолжаете тратить бесценные гигабайты на харде на то, чтобы хранить образы платформ, которые уже не совместимы с вашей версией Xcode. В статье разбирается, где они хранятся, как их можно почистить и при необходимости скачать заново.
Перевод на русский язык
Xcode не очень хорошо справляется с подчисткой неиспользуемых версий платформ симуляторов. Может так оказаться, что вы продолжаете тратить бесценные гигабайты на харде на то, чтобы хранить образы платформ, которые уже не совместимы с вашей версией Xcode. В статье разбирается, где они хранятся, как их можно почистить и при необходимости скачать заново.
Перевод на русский язык