Как можно использовать Sourcery
Sourcery – кодогенератор для Swift, работающий поверх библиотеки SwiftSyntax от Apple. В статье разбирается несколько кейсов, в которых он может помочь.
👉Найти в кодовой базе все классы, которые можно сделать
👉Найти все классы, которые реализуют нужный протокол.
Sourcery – кодогенератор для Swift, работающий поверх библиотеки SwiftSyntax от Apple. В статье разбирается несколько кейсов, в которых он может помочь.
👉Найти в кодовой базе все классы, которые можно сделать
final
.👉Найти все классы, которые реализуют нужный протокол.
Krzysztof Zabłocki
Practical Sourcery examples
Let's explore couple of atypical Sourcery use-cases.
Ozon Tech приглашает на митап по мобильной разработке
29 августа в 19:00 | Москва
Офлайн l Онлайн
Кому будет полезно?
Android-, iOS-разработчикам и QA mobile
О чём встреча?
Главная тема митапа — дизайн-система. Затронем вопросы:
➖ Декларативная дизайн-система и Figma + SwiftUI/Jetpack Compose
➖ Тестирование и shapshot-тесты в частности.
➖ Как подружить дизайн-систему и BDUI.
❗️ Не забудьте зарегистрироваться на офлайн/онлайн.
29 августа в 19:00 | Москва
Офлайн l Онлайн
Кому будет полезно?
Android-, iOS-разработчикам и QA mobile
О чём встреча?
Главная тема митапа — дизайн-система. Затронем вопросы:
Please open Telegram to view this post
VIEW IN TELEGRAM
Как переключаться шорткатом между версиями Xcode
С помощью Hammerspoon и скрипта на Lua пишем логику поиска всех установленных версий Xcode и их биндинга на удобный вам шорткат.
С помощью Hammerspoon и скрипта на Lua пишем логику поиска всех установленных версий Xcode и их биндинга на удобный вам шорткат.
tl;dr legal – опенсорсные лицензии простым языком
Если вы имеете дело с опенсорсными лицензиями – либо принимаете решения о затаскивании зависимостей в проект, либо распространяете свою библиотеку, сохраните себе этот сайт. Tl;dr Legal – каталог всех опенсорсных лицензий с разбором их требований простым языком.
Если вы имеете дело с опенсорсными лицензиями – либо принимаете решения о затаскивании зависимостей в проект, либо распространяете свою библиотеку, сохраните себе этот сайт. Tl;dr Legal – каталог всех опенсорсных лицензий с разбором их требований простым языком.
Обнаружение утечек памяти с помощью XCTest
С утечками памяти можно бороться не только реактивно, профилируя приложение, когда они уже случились, но и проактивно, проверяя их наличие в юнит-тестах. В статье разбирается, как написать такие тесты.
С утечками памяти можно бороться не только реактивно, профилируя приложение, когда они уже случились, но и проактивно, проверяя их наличие в юнит-тестах. В статье разбирается, как написать такие тесты.
This media is not supported in your browser
VIEW IN TELEGRAM
Lottielab – среда для создания Lottie анимаций
Вышла Beta версия приложения-редактора Lottie анимаций. Дизайн можно импортировать из Figma, есть куча готовых настраиваемых шаблонов анимаций
Вышла Beta версия приложения-редактора Lottie анимаций. Дизайн можно импортировать из Figma, есть куча готовых настраиваемых шаблонов анимаций
This media is not supported in your browser
VIEW IN TELEGRAM
Маленькие детали interaction дизайна
Эссе про то, как за счет небольших деталей в жестах и анимации Apple достигает большей ясности для пользователя.
Эссе про то, как за счет небольших деталей в жестах и анимации Apple достигает большей ясности для пользователя.
Приглашаем на Red Hot Chili Apples — бесплатный митап ЮMoney для iOS-разработчиков
⏰ Митап пройдёт в Санкт-Петербурге и онлайн 29 августа в 18:30 (мск).
Разработчики ЮMoney, Сбера и ВКонтакте поделятся своим опытом, а после докладов вы сможете задать им вопросы.
Темы докладов:
– Кодогенерация из OpenAPI
Узнаем с Дмитрием Шаколо из ЮMoney, как перестать писать код для работы с API и подружиться с кодогенератором.
– Команда Платформы — Сердце Большого Проекта
Как держать пульс технологий, управлять ростом и обеспечивать бесперебойность — откроем для себя роль команды платформы в большой современной разработке. Взгляд изнутри от заядлого платформера Сбера, Миши Харитончика.
– Автоверсионирование и как сделать его правильно
Максим Холявкин из ВКонтакте расскажет зачем нужно автоверсионирование, как сделать так, чтобы было удобно пользоваться, и как делать нельзя.
– Разработка платёжного SDK
Илья Фёдоров расскажет про mSDK ЮMoney, его архитектуру и устройство: как быстро встроить mSDK в мобильные сценарии, чтобы он стал удобным способом принимать деньги.
Все подробности — на сайте. Регистрируйтесь и зовите коллег 💜
⏰ Митап пройдёт в Санкт-Петербурге и онлайн 29 августа в 18:30 (мск).
Разработчики ЮMoney, Сбера и ВКонтакте поделятся своим опытом, а после докладов вы сможете задать им вопросы.
Темы докладов:
– Кодогенерация из OpenAPI
Узнаем с Дмитрием Шаколо из ЮMoney, как перестать писать код для работы с API и подружиться с кодогенератором.
– Команда Платформы — Сердце Большого Проекта
Как держать пульс технологий, управлять ростом и обеспечивать бесперебойность — откроем для себя роль команды платформы в большой современной разработке. Взгляд изнутри от заядлого платформера Сбера, Миши Харитончика.
– Автоверсионирование и как сделать его правильно
Максим Холявкин из ВКонтакте расскажет зачем нужно автоверсионирование, как сделать так, чтобы было удобно пользоваться, и как делать нельзя.
– Разработка платёжного SDK
Илья Фёдоров расскажет про mSDK ЮMoney, его архитектуру и устройство: как быстро встроить mSDK в мобильные сценарии, чтобы он стал удобным способом принимать деньги.
Все подробности — на сайте. Регистрируйтесь и зовите коллег 💜
Тред про проблемы макросов
Сейчас макросы работают поверх пакета SwiftSyntax. Как результат, затягивая макросы в свой проект, вы начинаете зависеть от этой библиотеки. Основная проблема – время билда вырастает на дополнительные 20 секунд. Почитайте весь тред, либо вот сразу подробный ответ от разработчиков.
Сейчас макросы работают поверх пакета SwiftSyntax. Как результат, затягивая макросы в свой проект, вы начинаете зависеть от этой библиотеки. Основная проблема – время билда вырастает на дополнительные 20 секунд. Почитайте весь тред, либо вот сразу подробный ответ от разработчиков.
Swift Forums
Macro Adoption Concerns around SwiftSyntax
Macros are one of the most celebrated new features of Swift, and many of us are excited to adopt them in our projects. Many members of the core team are also excited to suggest macros as a solution to many problems. We’d love to hit the ground running and…
Как работает CPU
Огненная серия статей про то, как процессор запускает и исполняет программы.
👉Общая архитектура процессоров
👉Что такое Syscall
👉Как работают прерывания
👉Как ядро Linux загружает и запускает программы
👉Формат ELF (линуксовый аналог Mach-O)
👉Доступ к памяти с учетом пагинации
👉Форки процессов
Огненная серия статей про то, как процессор запускает и исполняет программы.
👉Общая архитектура процессоров
👉Что такое Syscall
👉Как работают прерывания
👉Как ядро Linux загружает и запускает программы
👉Формат ELF (линуксовый аналог Mach-O)
👉Доступ к памяти с учетом пагинации
👉Форки процессов
Awesome visionOS
Подборка статей, семплов, демок и обучающих материалов, связанных с разработкой под visionOS.
Подборка статей, семплов, демок и обучающих материалов, связанных с разработкой под visionOS.
GitHub
GitHub - stevenpaulhoward/awesome-visionos: 🥽 awesome Apple visionOS related content
🥽 awesome Apple visionOS related content. Contribute to stevenpaulhoward/awesome-visionos development by creating an account on GitHub.
Удобный инструмент монетизации мобильных приложений
Статья о сервисе Яндекса «Простая монетизация» о том, как он помогает увеличить APRU приложений до 91%.
Статья о сервисе Яндекса «Простая монетизация» о том, как он помогает увеличить APRU приложений до 91%.
Выложили видео курса CS193p за 2023
Годы идут, а лучшие курсы для входящих в iOS разработку (хотя тут я предвзят, так как сам по ним учился) от Стенфорда продолжают обновляться каждый год. Большая часть материала повторяет 2021 год, но добавилась новая лекция про Swift Concurrency.
Годы идут, а лучшие курсы для входящих в iOS разработку (хотя тут я предвзят, так как сам по ним учился) от Стенфорда продолжают обновляться каждый год. Большая часть материала повторяет 2021 год, но добавилась новая лекция про Swift Concurrency.
iOS-разработчики, Ozon приглашает на месяц Mobile Offer
Что по стеку: iOS 14+, Needle, холодная сборка меньше 1 минуты; модульная архитектура; новые модули на SwiftUI+MVVM (UDF), менеджер зависимостей SPM, Unit, Snapshot, UI-тесты.
Что по проектам: основное приложение для покупателей и B2B для продавцов. В ближайших планах разработка ещё двух приложений с нуля, о них — на интервью😉
Выбор команды за тобой!
Подать заявку и уточнить подробности можно на этом лендинге.
Что по стеку: iOS 14+, Needle, холодная сборка меньше 1 минуты; модульная архитектура; новые модули на SwiftUI+MVVM (UDF), менеджер зависимостей SPM, Unit, Snapshot, UI-тесты.
Что по проектам: основное приложение для покупателей и B2B для продавцов. В ближайших планах разработка ещё двух приложений с нуля, о них — на интервью
Выбор команды за тобой!
Подать заявку и уточнить подробности можно на этом лендинге.
Please open Telegram to view this post
VIEW IN TELEGRAM
Скрипт проверки наличия required reason APIs
Как вы помните, с осени Apple будет требовать добавлять специальный манифест с объяснением, зачем вы используете некоторые API, в том числе UserDefaults. Чтобы не продолбаться добавить его, на CI можно запускать простой скрипт, проверяющий наличие в коде вызовов ключевых API.
Как вы помните, с осени Apple будет требовать добавлять специальный манифест с объяснением, зачем вы используете некоторые API, в том числе UserDefaults. Чтобы не продолбаться добавить его, на CI можно запускать простой скрипт, проверяющий наличие в коде вызовов ключевых API.
Swifty Tech by Marco Eidinger
How to check if you use a required reason API
Learn about Apple's required reason APIs (which need to be declared in your app's privacy manifest) and use a shell script helping you to identity such APIs
Как ускорить билд
Хорошая подборка советов по измерению и улучшению времени чистых и инкрементальных билдов.
Хорошая подборка советов по измерению и улучшению времени чистых и инкрементальных билдов.
manu.show
Improve the build times of your SPM Packages and your apps
Get ready to uncover some of the secrets of faster build times – an investment that’s not just about speed, but about creating a more satisfying and efficient development journey for you and your entire team. Measuring and Improving Build Times Measure the…
Swift и Objective-C в одном SDK
Новая статья на Хабре рассказывает, как заставить два языка ужиться в SDK: какие подходы используют для этого, почему не всегда подходит стандартный способ и с чем приходится мириться. Будет полезно тем, кто разрабатывает SDK, используя оба языка, а также тем, кто хочет переехать с Objective-C на Swift.
Новая статья на Хабре рассказывает, как заставить два языка ужиться в SDK: какие подходы используют для этого, почему не всегда подходит стандартный способ и с чем приходится мириться. Будет полезно тем, кто разрабатывает SDK, используя оба языка, а также тем, кто хочет переехать с Objective-C на Swift.
ObservableConverter – плагин для переезда на @Observable
Интересный кейс использования SPM плагинов – разовая миграция кода с ObservableObject на @Observable. После миграции каждого таргета плагин удаляется из проекта.
Интересный кейс использования SPM плагинов – разовая миграция кода с ObservableObject на @Observable. После миграции каждого таргета плагин удаляется из проекта.
Swift для Embedded
Инициативная группа проталкивает использование Swift для программирования микроконтроллеров. На днях опубликовали две важные штуки:
👉Вижн по направлению, включающий в себя описание нового режима компиляции и ограничений, требуемых для запуска Swift в условиях малого количества ресурсов.
👉Proof of concept: программы на Swift, запущенные на микроконтроллерах, управляющие отрисовкой картинки на LCD экране и морганием светодиодов.
Инициативная группа проталкивает использование Swift для программирования микроконтроллеров. На днях опубликовали две важные штуки:
👉Вижн по направлению, включающий в себя описание нового режима компиляции и ограничений, требуемых для запуска Swift в условиях малого количества ресурсов.
👉Proof of concept: программы на Swift, запущенные на микроконтроллерах, управляющие отрисовкой картинки на LCD экране и морганием светодиодов.
Swift OpenAPI Generator 0.2.0
Релиз новой версии генератора клиентов на Swift по OpenAPI спецификации. Из основных новых фичей:
👉Поддержка новых content types в запросах и ответах.
👉Генерация клиента через SwiftPM плагин.
👉Понижены требования к минимальным версиям операционных систем, например к iOS с 16 на 13.
Релиз новой версии генератора клиентов на Swift по OpenAPI спецификации. Из основных новых фичей:
👉Поддержка новых content types в запросах и ответах.
👉Генерация клиента через SwiftPM плагин.
👉Понижены требования к минимальным версиям операционных систем, например к iOS с 16 на 13.
Swift Forums
Swift OpenAPI Generator 0.2.0 Released (OpenAPI 3.1, multiple content types)
We’re happy to announce that Swift OpenAPI Generator 0.2.0 was just released! Since it went open source in May 2023 with version 0.1.0, Swift OpenAPI Generator merged almost 100 pull requests, released 13 patch updates, and introduced support for several…