EditorConfig в Xcode 16
В Xcode 16 появилась возможность программно задавать настройки редактора, которые зависят от текущего открытого проекта. Например, в одном проекте максимальная длина строки кода может быть 120 символов, а в другом – без ограничений.
В Xcode 16 появилась возможность программно задавать настройки редактора, которые зависят от текущего открытого проекта. Например, в одном проекте максимальная длина строки кода может быть 120 символов, а в другом – без ограничений.
Большой доклад про стратегию автотестирования iOS приложений
Михаил Рубанов, статьями которого я тут регулярно делюсь, сделал классный доклад про различные виды автотестов в iOS: чем различаются, как сочетать, и как выбрать правильную стратегию покрытия ими именно для вашего проекта.
Михаил Рубанов, статьями которого я тут регулярно делюсь, сделал классный доклад про различные виды автотестов в iOS: чем различаются, как сочетать, и как выбрать правильную стратегию покрытия ими именно для вашего проекта.
YouTube
QA GURU Михаил Рубанов «Стратегия автотестирования для iOS приложений»
00:00 - Начало
00:35 - Покрытие тестами крупного проекта
03:23 - Виды тестов
8:30 - UI-тесты
14:00 - Интеграционные/Компонентные тесты
25:45 - Снепшот-тестирование
31:00 - Скриншот-тесты
42:50 - Юнит-тесты
47:57 - Разработка через тестирование
56:00 - Вопросы…
00:35 - Покрытие тестами крупного проекта
03:23 - Виды тестов
8:30 - UI-тесты
14:00 - Интеграционные/Компонентные тесты
25:45 - Снепшот-тестирование
31:00 - Скриншот-тесты
42:50 - Юнит-тесты
47:57 - Разработка через тестирование
56:00 - Вопросы…
Как обучить команду SwiftUI
Команда, решившая переехать с UIKit на SwiftUI, делится опытом системного подхода к переезду. До того, как сесть за масштабный рефакторинг, ребята организовали полноценное обучение всей команды, в основе которого решало совместное решение близких к реальным задач.
Команда, решившая переехать с UIKit на SwiftUI, делится опытом системного подхода к переезду. До того, как сесть за масштабный рефакторинг, ребята организовали полноценное обучение всей команды, в основе которого решало совместное решение близких к реальным задач.
Хабр
Как мы соединили обучение с рабочими задачами и не остались в пустой аудитории. Опыт подготовки команды к SwiftUI
Сочетать учёбу и работу в IT – задача, мягко говоря, непростая. Даже если вы только ходите на занятия и делаете «домашку». А уж если вы захотите сами организовать обучение – сложности будут расти в...
Роадмап Vapor 5
Vapor – один из основных серверных фреймворков на Swift. Команда опубликовала роадмап на следующую мажорную версию, первую альфу которой хотят выпустить вместе с Swift 6. Ключевое изменение, конечно, полный переезд на Swift Concurrency, но помимо него есть и другие интересные планы.
Vapor – один из основных серверных фреймворков на Swift. Команда опубликовала роадмап на следующую мажорную версию, первую альфу которой хотят выпустить вместе с Swift 6. Ключевое изменение, конечно, полный переезд на Swift Concurrency, но помимо него есть и другие интересные планы.
The Vapor Blog
The Future of Vapor | The Vapor Blog
Discussing what the future holds for Vapor
Server-side Swift Meetup #3
В продолжение темы Swift на сервере, ловите ссылку на следующий митап от команды, занимающейся его развитием. В программе:
👉Swift и WebAssembly
👉Подготовка проектов к Swift 6
📆Митап пройдет 17 сентября
В продолжение темы Swift на сервере, ловите ссылку на следующий митап от команды, занимающейся его развитием. В программе:
👉Swift и WebAssembly
👉Подготовка проектов к Swift 6
📆Митап пройдет 17 сентября
YouTube
Swift Server Side Meetup #03
Announcing the Third Swift Server-Side Meetup: APJ Edition
This gathering is designed for Swift developers and enthusiasts interested in server-side development. We'll delve into the latest trends, techniques, and best practices in the Swift ecosystem.…
This gathering is designed for Swift developers and enthusiasts interested in server-side development. We'll delve into the latest trends, techniques, and best practices in the Swift ecosystem.…
Распознаем скриншоты банковских приложений
Классный подход к решению задачи получения информации о выбранных категориях кэшбека в разных банках. Вместо того, чтобы пытаться вытащить нужную информацию по API, которого может и не быть, автор статьи использует Vision фреймворк, скармливая ему скриншоты приложений. И работает!
Классный подход к решению задачи получения информации о выбранных категориях кэшбека в разных банках. Вместо того, чтобы пытаться вытащить нужную информацию по API, которого может и не быть, автор статьи использует Vision фреймворк, скармливая ему скриншоты приложений. И работает!
Переезд с CocoaPods на SwiftPM+Tuist
Недавний переход CocoaPods в режим поддержки послал еще один сигнал всем сомневающимся – пора уже переходить на SwiftPM. А одновременно с этим можно посмотреть и на Tuist, который поможет проще реализовать модульность, и уйти от конфиктов в файле проекта. Да и вообще, последнее время они релизят кучу классных фичей.
Недавний переход CocoaPods в режим поддержки послал еще один сигнал всем сомневающимся – пора уже переходить на SwiftPM. А одновременно с этим можно посмотреть и на Tuist, который поможет проще реализовать модульность, и уйти от конфиктов в файле проекта. Да и вообще, последнее время они релизят кучу классных фичей.
Хабр
От Cocoapods к Tuist+SPM быстрыми шагами
Не так давно прогремела новость , что Cocoapods переходит в режим поддержки. В связи с этим встал вопрос, что дальше. В начале мы склонялись к чисто Swift Package Manager, но потом пришло понимание,...
libcimbar – протокол передачи данных на QR кодах
Не знаю, зачем вам этот проект, но выглядит как клевая идея для основы какого-нибудь пет-проекта! На базе анимированного QR кода реализована передача данных со скоростью около 100 кбит/сек.
Не знаю, зачем вам этот проект, но выглядит как клевая идея для основы какого-нибудь пет-проекта! На базе анимированного QR кода реализована передача данных со скоростью около 100 кбит/сек.
Релиз Hummingbird 2
В последнее время количество новостей вокруг серверного Swift какое-то зашкаливающее. На этот раз речь про мажорный релиз еще одного сравнительно популярного фреймворка. Ключевое изменение, конечно же, Swift Concurrency. Полные релиз ноуты можно прочитать тут.
В последнее время количество новостей вокруг серверного Swift какое-то зашкаливающее. На этот раз речь про мажорный релиз еще одного сравнительно популярного фреймворка. Ключевое изменение, конечно же, Swift Concurrency. Полные релиз ноуты можно прочитать тут.
hummingbird.codes
Hummingbird 2
Version 2.0 of Hummingbird - the swift server framework has been released.
Используем Cursor для iOS разработки
Cursor – хайповая IDE, позиционирующая себя как AI-centric. Если вам интересно попробовать разрабатывать в ней под iOS, то в статье рассказывается, как с помощью библиотеки Inject можно обойтись без необходимости работать с симулятором через Xcode.
Cursor – хайповая IDE, позиционирующая себя как AI-centric. Если вам интересно попробовать разрабатывать в ней под iOS, то в статье рассказывается, как с помощью библиотеки Inject можно обойтись без необходимости работать с симулятором через Xcode.
Rudrank Riyam
Exploring Indie Life: Reducing Friction with Cursor
Boost your iOS development with Cursor AI editor! Reduce context-switching, overcome Xcode limitations, and ship faster. Learn how to streamline your workflow, use hot reloading, and run simulators directly from Cursor. Discover practical tips and aliases…
Обновление Apple Design Resources
С выходом новых девайсов обновились и UI библиотеки Apple для Figma и Sketch. А главное, конечно – 10 новых сочетаний корпусов и ремешков для часов!
С выходом новых девайсов обновились и UI библиотеки Apple для Figma и Sketch. А главное, конечно – 10 новых сочетаний корпусов и ремешков для часов!
Как использовать Morphology для строк без чисел
Morphology – набор API в Foundation, которые позволяют правильным образом склонять ваши строки. Например, указывать правильное окончание у "You have X messages" в зависимости от значения Х.
При этом задача отображения строки "You have unread messages", которая не включает в себя Х, гораздо менее тривиальна.
Morphology – набор API в Foundation, которые позволяют правильным образом склонять ваши строки. Например, указывать правильное окончание у "You have X messages" в зависимости от значения Х.
При этом задача отображения строки "You have unread messages", которая не включает в себя Х, гораздо менее тривиальна.
Lickability
Morphology in Swift – Lickability
A guide to automatic numberless pluralization
История странного креша Core Data
Замечательная история одного EXC_BAD_ACCESS, который появлялся, когда менялось значение одного из свойств entity в нужном для этого контексте. Причина –название изменяемого атрибута начиналось со слова new .
Замечательная история одного EXC_BAD_ACCESS, который появлялся, когда менялось значение одного из свойств entity в нужном для этого контексте. Причина –
nemecek.be
The weirdest Core Data crash I have seen
Careful how you name your attributes...
Релиз Swift 6
Swift 6 наконец-то вышел! Все фичи мы уже сто раз успели обсудить, но, если вы это пропустили, официалтный блогпост – хороший способ освежить память. Из интересных наблюдений – и в релизном твите, и в блогпосте Swift активно позиционируется не как мобильный язык, а как кроссплатформенный язык общего назначения, позволяющий писать быстрый и безопасный код.
Swift 6 наконец-то вышел! Все фичи мы уже сто раз успели обсудить, но, если вы это пропустили, официалтный блогпост – хороший способ освежить память. Из интересных наблюдений – и в релизном твите, и в блогпосте Swift активно позиционируется не как мобильный язык, а как кроссплатформенный язык общего назначения, позволяющий писать быстрый и безопасный код.
Swift.org
Announcing Swift 6
We’re delighted to announce the general availability of Swift 6. This is a major new release that expands Swift to more platforms and domains.
SwiftPM Snippets
Сниппеты появились еще в Swift 5.7, но используются они редко, а официальной документации мало, поэтому статья – на вес золота. Автор разбирает, как добавлять сниппеты в пакеты, встраивать их в DocC документацию, и использовать кучу их малоизвестных фичей.
Сниппеты появились еще в Swift 5.7, но используются они редко, а официальной документации мало, поэтому статья – на вес золота. Автор разбирает, как добавлять сниппеты в пакеты, встраивать их в DocC документацию, и использовать кучу их малоизвестных фичей.
Изменения структуры проекта в Xcode 16
В Xcode 16 изменился дефолтный способ организации структуры проекта – вместо групп теперь вы работаете с реальными папками. В статье разбираются последствия этого решения.
В Xcode 16 изменился дефолтный способ организации структуры проекта – вместо групп теперь вы работаете с реальными папками. В статье разбираются последствия этого решения.
Официальная спецификация для Lottie
У Lottie теперь есть официальная спецификация версии 1.0. Она включает в себя все базовые фичи вроде layers, shapes, transforms. Сама спека описана здесь, а будущий роадмап – тут.
У Lottie теперь есть официальная спецификация версии 1.0. Она включает в себя все базовые фичи вроде layers, shapes, transforms. Сама спека описана здесь, а будущий роадмап – тут.
У Swift теперь есть интероп с Java
Вчера на конференции про serverside Swift анонсировали новый проект – официальный интероп Swift с Java. Работает в обе стороны, подробности можно почитать тут.
А если вы захотите побольше разобраться с тем, как работают интеропы между разными языками, послушайте последний выпуск Подлодки, мы эту тему разобрали максимально подробно.
Вчера на конференции про serverside Swift анонсировали новый проект – официальный интероп Swift с Java. Работает в обе стороны, подробности можно почитать тут.
А если вы захотите побольше разобраться с тем, как работают интеропы между разными языками, послушайте последний выпуск Подлодки, мы эту тему разобрали максимально подробно.
GitHub
GitHub - swiftlang/swift-java
Contribute to swiftlang/swift-java development by creating an account on GitHub.
Backend-Driven UI в ЦИАН
Маркетплейсы обычно идеальные кандидаты для использования backend-driven UI – логика экранов постоянно изменяется, для разных категорий требуется разное отображение товаров, а продакты хотят проводить бесконечность экспериментов. В статье ЦИАН делится своим подходом к решению задачи.
Маркетплейсы обычно идеальные кандидаты для использования backend-driven UI – логика экранов постоянно изменяется, для разных категорий требуется разное отображение товаров, а продакты хотят проводить бесконечность экспериментов. В статье ЦИАН делится своим подходом к решению задачи.
Телеметрия в мобильных приложениях
Подробный материал про организацию телеметрии – от выбора метрик для отправки и агрегации их на бэкенде до визуализации всего этого в Grafana и настройки алертов.
Подробный материал про организацию телеметрии – от выбора метрик для отправки и агрегации их на бэкенде до визуализации всего этого в Grafana и настройки алертов.