Как работает 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?
Как симболицировать SwiftUI
Apple не предоставляет debug symbols для SwiftUI и некоторых других фреймворков. Как результат – крешлоги в Firebase и других сторонних сервисах становятся бесполезными. Ребята из EmergeTools нашли способ, как можно все-таки достать debug symbols и расшифровать такие крешлоги.
Apple не предоставляет debug symbols для SwiftUI и некоторых других фреймворков. Как результат – крешлоги в Firebase и других сторонних сервисах становятся бесполезными. Ребята из EmergeTools нашли способ, как можно все-таки достать debug symbols и расшифровать такие крешлоги.
Сколько денег приносят пользователи iOS и Android
Обновленная аналитика по тому, сколько всего пользователей покупает что-то в App Store и Google Play, и сколько денег они приносят.
👉В мире 650 миллионов активных пользователей App Store и 2.5 миллиарда активны пользователей Google Play.
👉Активный пользователь App Store тратит в месяц 10.4$. Google Play – 1.4$.
👉Получается, пользователи вашего приложения на iOS в среднем в 7.4 раз ценнее, чем на Android.
Обновленная аналитика по тому, сколько всего пользователей покупает что-то в App Store и Google Play, и сколько денег они приносят.
👉В мире 650 миллионов активных пользователей App Store и 2.5 миллиарда активны пользователей Google Play.
👉Активный пользователь App Store тратит в месяц 10.4$. Google Play – 1.4$.
👉Получается, пользователи вашего приложения на iOS в среднем в 7.4 раз ценнее, чем на Android.
Asymco
The Value of a Customer
As I remember it, at least 10 years ago, I began to hear anecdotes from developers who built apps for both iOS and Android about their economics. The story is that they tended to have twice as many…
Swift как замена С++
Доклад от John McCall, языкового дизайнера Swift и Objective-C, про то, почему Swift можно рассматривать как современную альтернативу С++, и как постепенно интегрировать его в существующие кодовые базы.
Доклад от John McCall, языкового дизайнера Swift и Objective-C, про то, почему Swift можно рассматривать как современную альтернативу С++, и как постепенно интегрировать его в существующие кодовые базы.
YouTube
Introducing a Memory-Safe Successor Language in Large C++ Code Bases - John McCall - CppNow 2023
https://www.cppnow.org
https://www.linkedin.com/company/cppnow
---
Introducing a Memory-Safe Successor Language in Large Code Bases - John McCall - CppNow 2023
Slides: https://github.com/boostcon/cppnow_presentations_2023
---
Interest in memory-safe programming…
https://www.linkedin.com/company/cppnow
---
Introducing a Memory-Safe Successor Language in Large Code Bases - John McCall - CppNow 2023
Slides: https://github.com/boostcon/cppnow_presentations_2023
---
Interest in memory-safe programming…