tl;dr legal – опенсорсные лицензии простым языком
Если вы имеете дело с опенсорсными лицензиями – либо принимаете решения о затаскивании зависимостей в проект, либо распространяете свою библиотеку, сохраните себе этот сайт. Tl;dr Legal – каталог всех опенсорсных лицензий с разбором их требований простым языком.
Если вы имеете дело с опенсорсными лицензиями – либо принимаете решения о затаскивании зависимостей в проект, либо распространяете свою библиотеку, сохраните себе этот сайт. Tl;dr Legal – каталог всех опенсорсных лицензий с разбором их требований простым языком.
August 22, 2023
Обнаружение утечек памяти с помощью XCTest
С утечками памяти можно бороться не только реактивно, профилируя приложение, когда они уже случились, но и проактивно, проверяя их наличие в юнит-тестах. В статье разбирается, как написать такие тесты.
С утечками памяти можно бороться не только реактивно, профилируя приложение, когда они уже случились, но и проактивно, проверяя их наличие в юнит-тестах. В статье разбирается, как написать такие тесты.
August 23, 2023
This media is not supported in your browser
VIEW IN TELEGRAM
Lottielab – среда для создания Lottie анимаций
Вышла Beta версия приложения-редактора Lottie анимаций. Дизайн можно импортировать из Figma, есть куча готовых настраиваемых шаблонов анимаций
Вышла Beta версия приложения-редактора Lottie анимаций. Дизайн можно импортировать из Figma, есть куча готовых настраиваемых шаблонов анимаций
August 23, 2023
This media is not supported in your browser
VIEW IN TELEGRAM
Маленькие детали interaction дизайна
Эссе про то, как за счет небольших деталей в жестах и анимации Apple достигает большей ясности для пользователя.
Эссе про то, как за счет небольших деталей в жестах и анимации Apple достигает большей ясности для пользователя.
August 24, 2023
Приглашаем на 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 в мобильные сценарии, чтобы он стал удобным способом принимать деньги.
Все подробности — на сайте. Регистрируйтесь и зовите коллег 💜
August 24, 2023
Тред про проблемы макросов
Сейчас макросы работают поверх пакета 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…
August 25, 2023
Как работает CPU
Огненная серия статей про то, как процессор запускает и исполняет программы.
👉Общая архитектура процессоров
👉Что такое Syscall
👉Как работают прерывания
👉Как ядро Linux загружает и запускает программы
👉Формат ELF (линуксовый аналог Mach-O)
👉Доступ к памяти с учетом пагинации
👉Форки процессов
Огненная серия статей про то, как процессор запускает и исполняет программы.
👉Общая архитектура процессоров
👉Что такое Syscall
👉Как работают прерывания
👉Как ядро Linux загружает и запускает программы
👉Формат ELF (линуксовый аналог Mach-O)
👉Доступ к памяти с учетом пагинации
👉Форки процессов
August 25, 2023
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.
August 28, 2023
Удобный инструмент монетизации мобильных приложений
Статья о сервисе Яндекса «Простая монетизация» о том, как он помогает увеличить APRU приложений до 91%.
Статья о сервисе Яндекса «Простая монетизация» о том, как он помогает увеличить APRU приложений до 91%.
August 28, 2023
Выложили видео курса CS193p за 2023
Годы идут, а лучшие курсы для входящих в iOS разработку (хотя тут я предвзят, так как сам по ним учился) от Стенфорда продолжают обновляться каждый год. Большая часть материала повторяет 2021 год, но добавилась новая лекция про Swift Concurrency.
Годы идут, а лучшие курсы для входящих в iOS разработку (хотя тут я предвзят, так как сам по ним учился) от Стенфорда продолжают обновляться каждый год. Большая часть материала повторяет 2021 год, но добавилась новая лекция про Swift Concurrency.
August 29, 2023
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
August 29, 2023
Скрипт проверки наличия 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
August 30, 2023
Как ускорить билд
Хорошая подборка советов по измерению и улучшению времени чистых и инкрементальных билдов.
Хорошая подборка советов по измерению и улучшению времени чистых и инкрементальных билдов.
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. Table of Contents Measuring and Improving Build…
August 31, 2023
Swift и Objective-C в одном SDK
Новая статья на Хабре рассказывает, как заставить два языка ужиться в SDK: какие подходы используют для этого, почему не всегда подходит стандартный способ и с чем приходится мириться. Будет полезно тем, кто разрабатывает SDK, используя оба языка, а также тем, кто хочет переехать с Objective-C на Swift.
Новая статья на Хабре рассказывает, как заставить два языка ужиться в SDK: какие подходы используют для этого, почему не всегда подходит стандартный способ и с чем приходится мириться. Будет полезно тем, кто разрабатывает SDK, используя оба языка, а также тем, кто хочет переехать с Objective-C на Swift.
August 31, 2023
ObservableConverter – плагин для переезда на @Observable
Интересный кейс использования SPM плагинов – разовая миграция кода с ObservableObject на @Observable. После миграции каждого таргета плагин удаляется из проекта.
Интересный кейс использования SPM плагинов – разовая миграция кода с ObservableObject на @Observable. После миграции каждого таргета плагин удаляется из проекта.
September 1, 2023
Swift для Embedded
Инициативная группа проталкивает использование Swift для программирования микроконтроллеров. На днях опубликовали две важные штуки:
👉Вижн по направлению, включающий в себя описание нового режима компиляции и ограничений, требуемых для запуска Swift в условиях малого количества ресурсов.
👉Proof of concept: программы на Swift, запущенные на микроконтроллерах, управляющие отрисовкой картинки на LCD экране и морганием светодиодов.
Инициативная группа проталкивает использование Swift для программирования микроконтроллеров. На днях опубликовали две важные штуки:
👉Вижн по направлению, включающий в себя описание нового режима компиляции и ограничений, требуемых для запуска Swift в условиях малого количества ресурсов.
👉Proof of concept: программы на Swift, запущенные на микроконтроллерах, управляющие отрисовкой картинки на LCD экране и морганием светодиодов.
September 4, 2023
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…
September 4, 2023
Является ли злом предварительная оптимизация
Кнут когда-то популяризировал цитату "Premature optimization is the root of all evil". Как результат, во многих проектах забота о перфомансе откладывается на далекое абстрактное будущее. В статье хорошо разбирается, что в большинстве случаев такой подход приведет к тому, что вместо ожидаемых точечных оптимизаций вам придется переписывать всю архитектуру проекта.
Кнут когда-то популяризировал цитату "Premature optimization is the root of all evil". Как результат, во многих проектах забота о перфомансе откладывается на далекое абстрактное будущее. В статье хорошо разбирается, что в большинстве случаев такой подход приведет к тому, что вместо ожидаемых точечных оптимизаций вам придется переписывать всю архитектуру проекта.
milen.me
Premature Optimization: Universally Misunderstood
“Premature Optimization” You might have come across the famous software optimisation quote popularised by Donald Knuth:
Premature optimization is the root of all evil.
– Sir Tony Hoare
It has been commonly interpreted as “don’t think about performance in…
Premature optimization is the root of all evil.
– Sir Tony Hoare
It has been commonly interpreted as “don’t think about performance in…
September 5, 2023
Автотесты accessibility в Xcode 15
Начиная с Xcode 15, с помощью автотестов можно проверять поддержку различных фичей доступности: Dynamic type, контрастность, наличие лейблов для всех элементов. В статье разбирается, как написать такие тесты и анализировать их результаты.
Начиная с Xcode 15, с помощью автотестов можно проверять поддержку различных фичей доступности: Dynamic type, контрастность, наличие лейблов для всех элементов. В статье разбирается, как написать такие тесты и анализировать их результаты.
September 5, 2023
Влияние symbols на вес бинарника
👉Зачем существуют symbols и когда они генерируются
👉Что делает команда nm
👉Как замерять влияние изменений на количество символов
👉Зачем существуют symbols и когда они генерируются
👉Что делает команда nm
👉Как замерять влияние изменений на количество символов
Mfaani
How Can I Inspect the Size Impact of Symbols in an App Binary: A Practical Guide for Apple Developers
Learn how to use nm to count extra symbols that impact App Size
September 6, 2023