bootg.com »
United States »
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT » Telegram Web
Детали миникарты в Xcode
Миникарта в большиестве случаев не особо помогает в навигации по файлу. Держите хинт, как сделать ее более полезной. Наведите на нее курсор, удерживая зажатым Cmd, и на ней появится дополнительный слой информации.
Миникарта в большиестве случаев не особо помогает в навигации по файлу. Держите хинт, как сделать ее более полезной. Наведите на нее курсор, удерживая зажатым Cmd, и на ней появится дополнительный слой информации.
Построение пайплайна из Metal шейдеров и CIFilter
Чтобы получить эффект анимированного дыма, автор смешивает семь шейдеров и фильтров в один пайплайн. Поиграться с последовательностью нод можно в опенсорсном проекте с несколькими разными пайплайнами.
Чтобы получить эффект анимированного дыма, автор смешивает семь шейдеров и фильтров в один пайплайн. Поиграться с последовательностью нод можно в опенсорсном проекте с несколькими разными пайплайнами.
Medium
Mixing and Digital Compositing Metal Shaders and CIFilter
This article explores the fun of mixing, chaining, and digital compositing photo Images, graphic Shaders (Apple Metal Shaders), and image…
VK поддержит разработчиков мини-приложений облачными ресурсами
Разработчики мини-приложений на платформе VK Mini Apps получили доступ к программе поддержки VK Cloud. Каждому участнику программы будет ежемесячно начисляться бонус в 2500 рублей на счет в личном кабинете, которые можно потратить на облачные сервисы и вычислительные ресурсы. Всего же на платформе доступно около 30 инфраструктурных и платформенных сервисов, а также современные инструменты для разработки отказоустойчивых приложений.
Программа действует до конца 2023 года. Для участия необходимо создать учетную запись на платформе VK Cloud и заполнить специальную форму, указав ID проекта.
Разработчики мини-приложений на платформе VK Mini Apps получили доступ к программе поддержки VK Cloud. Каждому участнику программы будет ежемесячно начисляться бонус в 2500 рублей на счет в личном кабинете, которые можно потратить на облачные сервисы и вычислительные ресурсы. Всего же на платформе доступно около 30 инфраструктурных и платформенных сервисов, а также современные инструменты для разработки отказоустойчивых приложений.
Программа действует до конца 2023 года. Для участия необходимо создать учетную запись на платформе VK Cloud и заполнить специальную форму, указав ID проекта.
Анонс WWDC 2023
Главная неделя всех iOS разработчиков в этом году пройдет 5-9 июня. Большая часть конференции пройдет в онлайне, но на кейноут и State of the Union можно попасть вживую.
Короче, ждем Swift Data и кучи обновлений для будущей xrOS!
Главная неделя всех iOS разработчиков в этом году пройдет 5-9 июня. Большая часть конференции пройдет в онлайне, но на кейноут и State of the Union можно попасть вживую.
Короче, ждем Swift Data и кучи обновлений для будущей xrOS!
Релиз Swift 5.8
- Новые языковые фичи, которые можно потрогать в плейграунде.
- Полностью переработана реализация result builder’ов.
- Документацию, собранную DocC, теперь можно кастомизировать.
- Парсер в SwiftSyntax переписан на С++ и научился показывать более понятные ошибки.
- Новые языковые фичи, которые можно потрогать в плейграунде.
- Полностью переработана реализация result builder’ов.
- Документацию, собранную DocC, теперь можно кастомизировать.
- Парсер в SwiftSyntax переписан на С++ и научился показывать более понятные ошибки.
Swift.org
Swift 5.8 Released!
Swift 5.8 is now officially released! 🎉 This release includes major additions to the language and standard library, including hasFeature to support piecemeal adoption of upcoming features, an improved developer experience, improvements to tools in the Swift…
DocCGPT – автоматическая документация для ваших пакетов
- DocCGPT – инструмент, который автоматически генерирует документацию для вашего кода с использованием моделей OpenAI.
- Особой разницы между GPT-3.5 и GPT-4 не видно.
- Инструмент пока экспериментальный, результаты надо докручивать руками – но попробовать уже точно стоит!
Перевод на русский язык
- DocCGPT – инструмент, который автоматически генерирует документацию для вашего кода с использованием моделей OpenAI.
- Особой разницы между GPT-3.5 и GPT-4 не видно.
- Инструмент пока экспериментальный, результаты надо докручивать руками – но попробовать уже точно стоит!
Перевод на русский язык
The Swift Package Index
DoccGPT – Swift Package Index
DoccGPT by Gonzalo Nuñez on the Swift Package Index – 🧹 Self-documenting Swift code with GPT and DocC
CoreTransferrable и ShareLink
В последней версии SwiftUI появился новый подход для шаринга данных из приложения – ShareLink. Это вьюха, на вход которой можно отдать любую структуру, реализующую протокол Transferable. Этот протокол поддержан во многих системных типах данных, например, в изображениях. А при желании, реализовать его можно и в кастомных типах.
Перевод на русский язык
В последней версии SwiftUI появился новый подход для шаринга данных из приложения – ShareLink. Это вьюха, на вход которой можно отдать любую структуру, реализующую протокол Transferable. Этот протокол поддержан во многих системных типах данных, например, в изображениях. А при желании, реализовать его можно и в кастомных типах.
Перевод на русский язык
Swift with Majid
Sharing content in SwiftUI
Apple introduced a brand new CoreTransferable framework and ShareLink view in SwiftUI, allowing us to share and export content from our apps very declaratively. This week we will learn how to make data transferable and use the new ShareLink view in SwiftUI.
Сможете ли вы работать мобильным разработчиком в Тинькофф?
Сравните свои скиллы с требованиями и откликайтесь на вакансии в Тинькофф, если интересно решать сложные финтех-задачи: https://l.tinkoff.ru/mob_pro
Сравните свои скиллы с требованиями и откликайтесь на вакансии в Тинькофф, если интересно решать сложные финтех-задачи: https://l.tinkoff.ru/mob_pro
Рациональная сторона вложений в accessibility
Первая реакция любого человека на доклад про доступность – круто, и социально-значимо, но как продать ценность бизнесу, решительно непонятно. Миша Рубанов из Додо рассказал про три кейса, в которых работа над accessibility принесла понятную пользу для компании:
💰Доработка интерфейса экрана заказа пиццы с учетом требований доступности принесла дополнительных 8млн рублей в месяц.
🤔Советы скринридера помогли сделать интерфейс понятнее и для обычных людей.
🧱Учет требований доступности помог не допустить архитектурных ошибок при проектировании дизайн-системы.
Первая реакция любого человека на доклад про доступность – круто, и социально-значимо, но как продать ценность бизнесу, решительно непонятно. Миша Рубанов из Додо рассказал про три кейса, в которых работа над accessibility принесла понятную пользу для компании:
💰Доработка интерфейса экрана заказа пиццы с учетом требований доступности принесла дополнительных 8млн рублей в месяц.
🤔Советы скринридера помогли сделать интерфейс понятнее и для обычных людей.
🧱Учет требований доступности помог не допустить архитектурных ошибок при проектировании дизайн-системы.
Drag and Drop в SwiftUI
Протокол Transferable помогает не только шарить данные с помощью специального диалога, но и реализовывать Drag and Drop. В статье разбирается, как сделать вьюхи перетягиваемыми, и как обрабатывать переданные данные.
Протокол Transferable помогает не только шарить данные с помощью специального диалога, но и реализовывать Drag and Drop. В статье разбирается, как сделать вьюхи перетягиваемыми, и как обрабатывать переданные данные.
Swift with Majid
Drag and drop transferable data in SwiftUI
Last week we discussed the new ShareLink view and the Transferable protocol powering it. The new Transferable protocol is useful for sharing your data from the app, but it also powers drag and drop in your app. This week we will learn how we can drag and…
Как удержать пользователей в приложении и сэкономить на этом при помощи новой предиктивной модели оттока
Большинство компаний бесперебойно высылают пуш-уведомления с промокодами, что вовсе не является инструментом удержания клиентов. Предоставлять эти промокоды со скидками нужно точечно, на основе поведения клиента.
Разработчики Крипты, являющиеся технологическим подразделением Яндекса, создали новую предиктивную модель. Благодаря инфраструктуре AppMetrica, на основе которой разработана фича, модель способна предсказывать вероятность того, что пользователь перестанет пользоваться сервисом.
Для тестирования модели оттока запустили небольшой A/B-тест, в котором сравнивали разные подходы для модели с новыми данными. Число выданных промокодов уменьшилось, но просадки по продажам не случилось. Наоборот, продажи без промокодов выросли на 7,8 %.
Результат эксперимента и сами тесты разработчики подробно описали в блоге компании. Там же вы найдете ссылку на закрытую бету технологии.
Большинство компаний бесперебойно высылают пуш-уведомления с промокодами, что вовсе не является инструментом удержания клиентов. Предоставлять эти промокоды со скидками нужно точечно, на основе поведения клиента.
Разработчики Крипты, являющиеся технологическим подразделением Яндекса, создали новую предиктивную модель. Благодаря инфраструктуре AppMetrica, на основе которой разработана фича, модель способна предсказывать вероятность того, что пользователь перестанет пользоваться сервисом.
Для тестирования модели оттока запустили небольшой A/B-тест, в котором сравнивали разные подходы для модели с новыми данными. Число выданных промокодов уменьшилось, но просадки по продажам не случилось. Наоборот, продажи без промокодов выросли на 7,8 %.
Результат эксперимента и сами тесты разработчики подробно описали в блоге компании. Там же вы найдете ссылку на закрытую бету технологии.
Swift Power Assert – подробная информация об ассертах
Power Assert – известное семейство библиотек для разных языков. Их основная задача показывать информацию о состоянии всех переменных ассерта в виде удобной диаграммы.
Теперь такая библиотека появилась и для Swift. Она работает поверх экспериментальных макросов, поэтому использовать ее пока получится только с пререлизной версией тулчейна.
Перевод на русский язык
Power Assert – известное семейство библиотек для разных языков. Их основная задача показывать информацию о состоянии всех переменных ассерта в виде удобной диаграммы.
Теперь такая библиотека появилась и для Swift. Она работает поверх экспериментальных макросов, поэтому использовать ее пока получится только с пререлизной версией тулчейна.
Перевод на русский язык
Polyglot – автоматическая локализация приложений
Локализацию в приложениях часто делают по остаточному принципу. Основная причина, конечно – количество времени, требуемого на то, чтобы перевести все строки и поддерживать их актуальными при последующих релизах. Ребята выпустили новый инструмент, который автоматизирует вообще все. Вот как он работает:
1️⃣Добавляете один шаг в Build Phases (прям как swiftlint)
2️⃣Запускаете сборку, и мгновенно получаете машинный перевод (не абы какой, а сделанный с помощью ChatGPT с использованием контекста, где собственно текст будет использоваться). На данном шаге вы потратили 10 минут и уже можно смело отправлять в App Store.
3️⃣При последующих сборках переводы будут корректироваться и улучшаться по мере того, как переводчики сервиса их проверяют.
Ребята только запустились и будут рады обратной связи и помочь с интеграцией. Писать за помощью можно вот сюда.
Локализацию в приложениях часто делают по остаточному принципу. Основная причина, конечно – количество времени, требуемого на то, чтобы перевести все строки и поддерживать их актуальными при последующих релизах. Ребята выпустили новый инструмент, который автоматизирует вообще все. Вот как он работает:
1️⃣Добавляете один шаг в Build Phases (прям как swiftlint)
2️⃣Запускаете сборку, и мгновенно получаете машинный перевод (не абы какой, а сделанный с помощью ChatGPT с использованием контекста, где собственно текст будет использоваться). На данном шаге вы потратили 10 минут и уже можно смело отправлять в App Store.
3️⃣При последующих сборках переводы будут корректироваться и улучшаться по мере того, как переводчики сервиса их проверяют.
Ребята только запустились и будут рады обратной связи и помочь с интеграцией. Писать за помощью можно вот сюда.
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация, зависимая от уровня освещенности
Демка использует не SensorKit, а экспозицию фронтальной камеры устройства.
Демка использует не SensorKit, а экспозицию фронтальной камеры устройства.
Автоматизация релизов CLI тулы на Swift через GitHub Actions
В статье разбирается, как построить релизный пайплайн на GitHub Actions, который будет публиковать ваш CLI инструмент в Homebrew.
Перевод на русский язык
В статье разбирается, как построить релизный пайплайн на GitHub Actions, который будет публиковать ваш CLI инструмент в Homebrew.
Перевод на русский язык
www.polpiella.dev
Automating Swift command line tool releases with GitHub Actions
How I use GitHub Actions to automate the release of my Swift command line tools.
Как написать свой браузерный движок на Swift
Ходят слухи, что Apple скоро разрешат публиковать в сторе браузеры, основанные не на стандартном WebView. В честь этого автор статьи решил разработать полностью свой браузер, начиная от парсинга HTML, заканчивая рендерингом в SwiftUI.
Конечно, все максимально просто, никакой поддержки CSS и, тем более, JavaScript, но все равно интересно!
Ходят слухи, что Apple скоро разрешат публиковать в сторе браузеры, основанные не на стандартном WebView. В честь этого автор статьи решил разработать полностью свой браузер, начиная от парсинга HTML, заканчивая рендерингом в SwiftUI.
Конечно, все максимально просто, никакой поддержки CSS и, тем более, JavaScript, но все равно интересно!
Review Rocket – инструмент для автоматического анализа отзывов в App Store
Инструмент работает так:
1️⃣Вводите ссылку на ваше приложение
2️⃣Все отзывы пользователей выгружаются и прогоняются через LLM
3️⃣На выходе получаете список основных фиче-реквестов и жалоб
Инструмент работает так:
1️⃣Вводите ссылку на ваше приложение
2️⃣Все отзывы пользователей выгружаются и прогоняются через LLM
3️⃣На выходе получаете список основных фиче-реквестов и жалоб
Canvas в SwiftUI
Canvas – особый тип View, который позволяет процедурно рисовать различные фигуры, определяя их геометрию и стили. Помимо фигур, на канвас можно добавлять текст. изображения. Поддерживаются и анимации с помощью TimelineView.
Canvas – особый тип View, который позволяет процедурно рисовать различные фигуры, определяя их геометрию и стили. Помимо фигур, на канвас можно добавлять текст. изображения. Поддерживаются и анимации с помощью TimelineView.
Как работают механизмы синхронизации в CloudKit
Автор библиотеки CloudKitSession, которая позволяет сохранять в CloudKit произвольные данные без зависимости на Core Data, делится особенностями работы CloudKit, которых нет в документации:
✋Как избегать ошибок, и обрабатывать их, если они все же случатся
🤝Как работают алгоритмы разрешения конфликтов
📝Как работать со схемой данных
Автор библиотеки CloudKitSession, которая позволяет сохранять в CloudKit произвольные данные без зависимости на Core Data, делится особенностями работы CloudKit, которых нет в документации:
✋Как избегать ошибок, и обрабатывать их, если они все же случатся
🤝Как работают алгоритмы разрешения конфликтов
📝Как работать со схемой данных
Советы по работе с Codable в реальной жизни
При первом знакомстве Codable выглядит магией – структура автоматически наполняется нужными значениями из ответа сервера, все супер. Но в реальности все сложнее – бэкендеры могут возвращать пустые строки там, где ожидался url, случайно добавлять или удалять параметры, меняя схему ответа сервера.
В статье разбирается несколько советов по тому, как сделать парсинг ответов сервера более устойчивым к неожиданным изменениям, и как получать больше информации о его ошибках.
При первом знакомстве Codable выглядит магией – структура автоматически наполняется нужными значениями из ответа сервера, все супер. Но в реальности все сложнее – бэкендеры могут возвращать пустые строки там, где ожидался url, случайно добавлять или удалять параметры, меняя схему ответа сервера.
В статье разбирается несколько советов по тому, как сделать парсинг ответов сервера более устойчивым к неожиданным изменениям, и как получать больше информации о его ошибках.
Swiftjective-C
Debugging Codable
Codable is impressive, but it bails out quickly if .json doesn't appear exactly how it expects. Here's how I cleaned things up to pinpoint errors quickly.