Как заточить билд систему Xcode под агентов
Tuist выпустили великолепный материал с исследованием того, как работает билд-система в Xcode, что из результатов ее работы может быть полезно агентам, а что, наоборот, только мешает.
Tuist выпустили великолепный материал с исследованием того, как работает билд-система в Xcode, что из результатов ее работы может быть полезно агентам, а что, наоборот, только мешает.
👍19👎2
Penpot – open source аналог Figma
Penpot, конечно, гораздо более простой, чем Figma, но основные фичи там есть:
👉Коллаборативная работа
👉Поддержка дизайн-систем
👉Поддержка плагинов
👉Inspect mode, упрощающий жизнь разработчикам
Penpot, конечно, гораздо более простой, чем Figma, но основные фичи там есть:
👉Коллаборативная работа
👉Поддержка дизайн-систем
👉Поддержка плагинов
👉Inspect mode, упрощающий жизнь разработчикам
👍15
Swift Configuration 1.0
Swift Configuration, библиотеку для удобного управления конфигами и секретами, представили только в октябре – и уже выкатили первую стабильную версию! Помимо использования в серверных приложениях, библиотеку уже начали затаскивать во фреймворки вроде Vapor и Hummingbird.
Детально познакомиться с ней можно в этом докладе.
Swift Configuration, библиотеку для удобного управления конфигами и секретами, представили только в октябре – и уже выкатили первую стабильную версию! Помимо использования в серверных приложениях, библиотеку уже начали затаскивать во фреймворки вроде Vapor и Hummingbird.
Детально познакомиться с ней можно в этом докладе.
Swift.org
Swift Configuration 1.0 released
Every application has configuration: in environment variables, configuration files, values from remote services, command-line flags, or repositories for stored secrets like API keys. But until now, Swift developers have had to wire up each source individually…
👍9
Видео Swift Server Side Meetup
Раз начали неделю с серверного Swift, давайте им и продолжим. Держите запись докладов с последнего митапа:
👉Как настроить деплой одной кнопкой
👉Serverless с библиотекой Breeze
Раз начали неделю с серверного Swift, давайте им и продолжим. Держите запись докладов с последнего митапа:
👉Как настроить деплой одной кнопкой
👉Serverless с библиотекой Breeze
YouTube
Swift Server Side Meetup #7
Swift Server-Side Meetup: Deployment Pipelines & Serverless Backends
Join us for two incredible talks exploring the server-side of Swift! Learn how to deploy Swift servers to production and build serverless backends entirely in Swift.
🎯 TIMESTAMPS
00:00…
Join us for two incredible talks exploring the server-side of Swift! Learn how to deploy Swift servers to production and build serverless backends entirely in Swift.
🎯 TIMESTAMPS
00:00…
🔥11👍1
Kotlin Multiplatform становится одним из ключевых инструментов для разработки кросс-платформенных приложений, а использование gRPC открывает возможность создавать быстрые и прозрачные сетевые взаимодействия.
На открытом уроке мы разберём, как настроить KMP-проект, построить сетевой слой на gRPC, интегрировать это с iOS и учесть особенности платформы. Мы покажем структуру приложения, разберём реальные кейсы и обсудим, где KMP действительно даёт преимущества мобильным разработчикам.
Урок будет полезен разработчикам, которые изучают iOS, интересуются кросс-платформенными технологиями и хотят усилить архитектурную насмотренность. Это возможность посмотреть на KMP и gRPC без абстракций, на уровне практических решений и интеграции в реальные проекты.
Встречаемся 22 декабря в 20:00 МСК в преддверие старта курса «iOS Developer. Professional». Регистрация открыта: https://clck.ru/3Qs4pR
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
На открытом уроке мы разберём, как настроить KMP-проект, построить сетевой слой на gRPC, интегрировать это с iOS и учесть особенности платформы. Мы покажем структуру приложения, разберём реальные кейсы и обсудим, где KMP действительно даёт преимущества мобильным разработчикам.
Урок будет полезен разработчикам, которые изучают iOS, интересуются кросс-платформенными технологиями и хотят усилить архитектурную насмотренность. Это возможность посмотреть на KMP и gRPC без абстракций, на уровне практических решений и интеграции в реальные проекты.
Встречаемся 22 декабря в 20:00 МСК в преддверие старта курса «iOS Developer. Professional». Регистрация открыта: https://clck.ru/3Qs4pR
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👎62💅7❤3👍2
SQLiteData – тур по библиотеке
Pointfree выпустили бесплатный урок по основам работы со своей библиотекой SQLiteData – API-совместимой заменой SwiftData, под капотом которой, как можно догадаться по названию, наш любимый SQLite.
Pointfree выпустили бесплатный урок по основам работы со своей библиотекой SQLiteData – API-совместимой заменой SwiftData, под капотом которой, как можно догадаться по названию, наш любимый SQLite.
www.pointfree.co
Episode #347: Tour of SQLiteData: Basics
We give a tour of our SQLiteData library, a fast and lightweight alternative to SwiftData. We’ll set up a fresh project with the package, define models and configure the database, and even write SQL migrations with the help of Xcode’s Coding Assistant.
💅12👎6
Почему уведомления на macOS отображаются вверх ногами
Отличное исследование случайно воспроизводящегося бага, при котором уведомления от macOS приложения ChatGPT отображались вверх ногами, по ходу которого вы узнаете много интересных особенностей CoreAnimation.
Отличное исследование случайно воспроизводящегося бага, при котором уведомления от macOS приложения ChatGPT отображались вверх ногами, по ходу которого вы узнаете много интересных особенностей CoreAnimation.
💅16👍7🔥2
Observable классы внутри иерархии SwiftUI
Разбираемся с примерами того, как работать с @Observable классами, как их инициализировать, хранить в стейте, и что вообще может пойти не так.
Разбираемся с примерами того, как работать с @Observable классами, как их инициализировать, хранить в стейте, и что вообще может пойти не так.
Nil Coalescing
Initializing @Observable classes within the SwiftUI hierarchy
Learn the recommended ways to initialize and store @Observable classes in SwiftUI views, and see what can go wrong when observable state is managed incorrectly.
💅6👍2👎2❤1
Non-exhaustive enums в Swift 6.2.3
В Swift 6.2.3 появится улучшение enum'ов, которое особенно важно авторам библиотек – теперь в них можно добавлять новые значения, не ломая при этом обратную совместимость.
В Swift 6.2.3 появится улучшение enum'ов, которое особенно важно авторам библиотек – теперь в них можно добавлять новые значения, не ломая при этом обратную совместимость.
GitHub
swift-evolution/proposals/0487-extensible-enums.md at main · swiftlang/swift-evolution
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swiftlang/swift-evolution
🔥23👎4❤1💅1
FAQ про Swift на Android
Разбор самых частых вопросов, которые появились после анонса Swift для Android:
👉Swift компилируется в машинный код, бандлит нативный рантайм со стандартной библиотекой, а для взаимодействия с платформенными фичами Android через java interop дергает Android Runtime.
👉Android приложения на Swift уже есть в продакшне: email-клиент Spark, тренер игры на пианино, маркетплейс продуктов.
👉Все важные направления будущего развития есть на этой борде. Среди них поддержка нормальной работы в VS Code и Android Studio.
👉Рабочая группа не планирует заниматься UI, только шарингом бизнес-логики. Вот тут можно посмотреть проекты от коммьюнити.
Разбор самых частых вопросов, которые появились после анонса Swift для Android:
👉Swift компилируется в машинный код, бандлит нативный рантайм со стандартной библиотекой, а для взаимодействия с платформенными фичами Android через java interop дергает Android Runtime.
👉Android приложения на Swift уже есть в продакшне: email-клиент Spark, тренер игры на пианино, маркетплейс продуктов.
👉Все важные направления будущего развития есть на этой борде. Среди них поддержка нормальной работы в VS Code и Android Studio.
👉Рабочая группа не планирует заниматься UI, только шарингом бизнес-логики. Вот тут можно посмотреть проекты от коммьюнити.
Swift.org
Exploring the Swift SDK for Android
Since the announcement of the preview Swift SDK for Android,
the Android workgroup has seen a lot of interest in how it works and what’s next.
Please read on for some answers to common questions about the technology and its
future, and try out the new Swift…
the Android workgroup has seen a lot of interest in how it works and what’s next.
Please read on for some answers to common questions about the technology and its
future, and try out the new Swift…
👍22💅5
This media is not supported in your browser
VIEW IN TELEGRAM
Как ваше приложение влияет на батарею
Если вы не знали, то в последней версии iOS в Control Center появилась возможность прямо на телефоне запускать профилирование вашего приложения и оценивать то, как оно влияет на батарею.
Если вы не знали, то в последней версии iOS в Control Center появилась возможность прямо на телефоне запускать профилирование вашего приложения и оценивать то, как оно влияет на батарею.
👍32❤6🔥6
Если у вас есть свободный час времени, подключайтесь на традиционный новогодний стрим подкаста Подлодка – будем подводить итоги года, рассказывать про наши главные открытия, самые полезные книги и всякое такое. А главное – разыграем среди зрителей Switch 2!
👉Начинаем через 10 минут
👉Начинаем через 10 минут
YouTube
Новогодний стрим
Полезные ссылки:
—
❓ Хочешь обсудить выпуск или задать вопрос эксперту? Вступай в наш Telegram-чат: https://t.me/podlodka
📰 Не любишь чаты, но хочешь оставаться в курсе дел и прокачивать свой IT кругозор? Подписывайся на наш Telegram-канал: там публикуются…
—
❓ Хочешь обсудить выпуск или задать вопрос эксперту? Вступай в наш Telegram-чат: https://t.me/podlodka
📰 Не любишь чаты, но хочешь оставаться в курсе дел и прокачивать свой IT кругозор? Подписывайся на наш Telegram-канал: там публикуются…
👎17❤3👍2
Дайджест лучших постов за 2025 год
Писать посты в канал – просто, а вот успевать читать их все – та еще боль. Так что всем спаисбо за то, что были с каналом весь этот год ❤️
Держите дайджест самых заплюсованных постов, чтобы было что почитать, подъедая остатки оливье.
🦅Swift
Правильный поиск вхождения строки
Выпуск Подлодки про Swift
Typed Throws в Swift 6
🎨UI и покраска кнопок
Как рисовать карты на Swift Charts
Находим SwiftUI View, которые обновляются чаще всего
Dragula – drag'n'drop движок для SwiftUI
Что нового в UIKit
🛠️Инструменты
Нет ничего хуже Xcode
Как скрывать логи от библиотек в Xcode
Создание файлов через Copy-Paste в Xcode 16
Apple заопенсорсили Swift Build
🤖AI
AnyLanguageModel – используем любые LLM в приложениях
Документация Xcode Intelligence для AI-агентов
🕸️Swift Everywhere
Как бэкенд Things переехал на Swift
Android на пути к официальной поддержке в Swift
Как завести CarPlay в McLarens
Писать посты в канал – просто, а вот успевать читать их все – та еще боль. Так что всем спаисбо за то, что были с каналом весь этот год ❤️
Держите дайджест самых заплюсованных постов, чтобы было что почитать, подъедая остатки оливье.
🦅Swift
Правильный поиск вхождения строки
Выпуск Подлодки про Swift
Typed Throws в Swift 6
🎨UI и покраска кнопок
Как рисовать карты на Swift Charts
Находим SwiftUI View, которые обновляются чаще всего
Dragula – drag'n'drop движок для SwiftUI
Что нового в UIKit
🛠️Инструменты
Нет ничего хуже Xcode
Как скрывать логи от библиотек в Xcode
Создание файлов через Copy-Paste в Xcode 16
Apple заопенсорсили Swift Build
🤖AI
AnyLanguageModel – используем любые LLM в приложениях
Документация Xcode Intelligence для AI-агентов
🕸️Swift Everywhere
Как бэкенд Things переехал на Swift
Android на пути к официальной поддержке в Swift
Как завести CarPlay в McLarens
Telegram
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
Правильный поиск вхождения строки
❌ name.lowercased().contains(searchText.lowercased())
✅ name.localizedStandardContains(searchText)
Чем второй вариант лучше:
👉По умолчанию case insensitive
👉Игнорирует диакритические знаки (cafe vs café)
👉Нормально справляется…
❌ name.lowercased().contains(searchText.lowercased())
✅ name.localizedStandardContains(searchText)
Чем второй вариант лучше:
👉По умолчанию case insensitive
👉Игнорирует диакритические знаки (cafe vs café)
👉Нормально справляется…
👍11👎5🔥3❤1
Forwarded from Mobile VK Hub
This media is not supported in your browser
VIEW IN TELEGRAM
Конец года, и снова заканчиваются все подписки 😱
Узнали? Согласны? Не беда — мы как раз разыгрываем промокоды на год от Облака Mail и VK Музыки!
Условия участия простые:
🔹 подпишитесь на наш канал @mobilehubvk
🔹нажмите кнопку «Участвовать»
🔹 дождитесь 30 декабря — в этом посте мы выберем случайным образом 6 победителей
Информацию об организаторе, правилах и призах ищите по ссылке.
Удачи!
Узнали? Согласны? Не беда — мы как раз разыгрываем промокоды на год от Облака Mail и VK Музыки!
Условия участия простые:
🔹 подпишитесь на наш канал @mobilehubvk
🔹нажмите кнопку «Участвовать»
🔹 дождитесь 30 декабря — в этом посте мы выберем случайным образом 6 победителей
Информацию об организаторе, правилах и призах ищите по ссылке.
Удачи!
👎31❤2👍1💅1
Как устроен NSVisualEffectView
Автор статьи хотел повторить внешний вид панелей в macOS Control Center в своем собственном приложении. Чтобы это сделать, ему пришлось реверс-инжинирить нативный NSVisualEffectView и создать его полную кастомизируемую копию, которую можно изучить на GitHub.
Автор статьи хотел повторить внешний вид панелей в macOS Control Center в своем собственном приложении. Чтобы это сделать, ему пришлось реверс-инжинирить нативный NSVisualEffectView и создать его полную кастомизируемую копию, которую можно изучить на GitHub.
❤39
Fucking Approachable Swift Concurrency
Еще одна попытка объяснить базовые ментальные модели за Swift Concurrency, в том числе, как работает изоляция, на простых примерах кода и пончтных метафорах.
Еще одна попытка объяснить базовые ментальные модели за Swift Concurrency, в том числе, как работает изоляция, на простых примерах кода и пончтных метафорах.
Fucking Approachable Swift Concurrency
A no-bullshit guide to Swift concurrency. Learn async/await, actors, Sendable, and MainActor with simple mental models. No jargon, just clear explanations.
🔥17👍2💅1