Как обучить команду 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 и настройки алертов.
Traits в Swift Testing
Traits – различные атрибуты тестов, которые можно настраивать через специальный макрос. Например, автоматическое отключение теста в зависимости от окружения, ассоциация его с конкретным багом в вашем трекере или ограничения на время его прогона.
Traits – различные атрибуты тестов, которые можно настраивать через специальный макрос. Например, автоматическое отключение теста в зависимости от окружения, ассоциация его с конкретным багом в вашем трекере или ограничения на время его прогона.
SwiftLee
Using Traits to annotate and customize test behavior
Customize and annotate tests with traits in the Swift Testing framework. Learn how to configure behaviors and skip certain tests.
Как запретить удалять ваше приложение
Оказывается, в iOS есть официальный API, с помощью которого можно запретить удалять ваше приложение. Он входит в Screen Time API. Но есть два нюанса. Во-первых, нужно получить специальный аппрув Apple, во-вторых, пользователь тоже должен дать явное согласие на этот запрет.
Оказывается, в iOS есть официальный API, с помощью которого можно запретить удалять ваше приложение. Он входит в Screen Time API. Но есть два нюанса. Во-первых, нужно получить специальный аппрув Apple, во-вторых, пользователь тоже должен дать явное согласие на этот запрет.
tiny coder
Preventing app removal on iOS - tiny coder
These days, I am developing an alarm app called ‘SuperAlarm’.
To ensure a user is awake, SuperAlarm can be turned off only after a user completes a mission(e.g., taking a picture...
To ensure a user is awake, SuperAlarm can be turned off only after a user completes a mission(e.g., taking a picture...