bootg.com »
United States »
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT » Telegram Web
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…
Является ли злом предварительная оптимизация
Кнут когда-то популяризировал цитату "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…
Автотесты accessibility в Xcode 15
Начиная с Xcode 15, с помощью автотестов можно проверять поддержку различных фичей доступности: Dynamic type, контрастность, наличие лейблов для всех элементов. В статье разбирается, как написать такие тесты и анализировать их результаты.
Начиная с Xcode 15, с помощью автотестов можно проверять поддержку различных фичей доступности: Dynamic type, контрастность, наличие лейблов для всех элементов. В статье разбирается, как написать такие тесты и анализировать их результаты.
Влияние 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
Как часто вызывается layoutSubviews при скролле UICollectionView
Огромная статья с детальным разбором принципов рендеринга UICollectionView и исследованием коллстеков в разных случаях.
Огромная статья с детальным разбором принципов рендеринга UICollectionView и исследованием коллстеков в разных случаях.
This media is not supported in your browser
VIEW IN TELEGRAM
datePickerStyle(.graphical)
Интересный факт – в SwiftUI на macOS можно выбрать графический режим отображения у DatePicker.
Интересный факт – в SwiftUI на macOS можно выбрать графический режим отображения у DatePicker.
Нужно ли делать онбординг в приложение коротким
Мысль о том, что чем быстрее и эффективнее проходит онбординг нового пользователя в приложение, тем лучше для всех, кажется абсолютно очевидной. Даже Apple в HIG пишет "Design a brief, enjoyable experience that doesn’t require people to memorize or provide a lot of information".
Но это не всегда так. Как рассказывается в статье, в некоторых случаях длинный и сложный онбординг из 50 экранов, занимающий 10 минут времени, может активировать пользователей существенно лучше.
Мысль о том, что чем быстрее и эффективнее проходит онбординг нового пользователя в приложение, тем лучше для всех, кажется абсолютно очевидной. Даже Apple в HIG пишет "Design a brief, enjoyable experience that doesn’t require people to memorize or provide a lot of information".
Но это не всегда так. Как рассказывается в статье, в некоторых случаях длинный и сложный онбординг из 50 экранов, занимающий 10 минут времени, может активировать пользователей существенно лучше.
Revenuecat
Why your onboarding experience might be too short
There's a trend for health & fitness apps to use a long onboarding experience. Can your app benefit from the same?