Swift Concurrency и CoreBluetooth: как построить современный BLE-сервис
Автор статьи рассказывает про подводные камни, с которыми столкнулись при совмещении structured concurrency и callback-ориентированного API, как их обойти и на что стоит обратить внимание, если вы тоже решите «прикрутить» современные async/await к старому API.
И всё это на довольно нетипичном кейсе – управление дверьми машины каршеринга через Bluetooth, на случай отсутствия интернет соединения.
Читать (Ru)
Автор статьи рассказывает про подводные камни, с которыми столкнулись при совмещении structured concurrency и callback-ориентированного API, как их обойти и на что стоит обратить внимание, если вы тоже решите «прикрутить» современные async/await к старому API.
И всё это на довольно нетипичном кейсе – управление дверьми машины каршеринга через Bluetooth, на случай отсутствия интернет соединения.
Читать (Ru)
❤10🔥5👍4
Swift на Android: создаём библиотеку
В Swift 6 появилась возможность работать сс минимальной болью вызывать его из Android среды (Java, Kotlin) c помощью JNI*.
Ловите подробную гайд-статью от @imike3049, как это всё можно завести.
Читать (Ru)
В Swift 6 появилась возможность работать с
Android NDK. Это значит, что мы можем писать код на Swift`е и в последствии, Java Native Interface (JNI)– это мост который позволяет нативному коду обращаться кJava Virtual Machine (JVM). Когда вы пишете Java код, то вы используете Android SDK. Но когда вы используете языки как Swift или C++, которые не компилируются в Java байткод, вам уже нужен Android NDK для коммуникации с Java через JNI.
Ловите подробную гайд-статью от @imike3049, как это всё можно завести.
Читать (Ru)
8❤7👍4🔥4
Новые подходы в Swift для тестирования: разбор технологии Swift Testing
Статья с разбором нового фреймворка для юнит-тестирования от Apple, представленного на WWDC 24 – Swift Testing.
🟢 Немного о Swift Testing
🟢 Expectation
🟢 withKnownIssue
🟢 Кастомизация тестов
🟢 Параметризованные тесты
🟢 Возможности миграции с XCTest к Swift Testing
Читать (Ru)
Статья с разбором нового фреймворка для юнит-тестирования от Apple, представленного на WWDC 24 – Swift Testing.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥3
Миграция на SPM: что мы выиграли и что потеряли
Разработчик из Core-команды Туту рассказывает про опыт миграции с CocoaPods на SPM, проблемы с которыми можно столкнуться в процессе и на что стоит обратить внимание.
Читать (Ru)
Разработчик из Core-команды Туту рассказывает про опыт миграции с CocoaPods на SPM, проблемы с которыми можно столкнуться в процессе и на что стоит обратить внимание.
Читать (Ru)
4🔥8❤5👍5
Как Swift Runtime влияет на производительность iOS-приложений
Большая статья, в которой рассказывается про механизмы приведения типов и создания generic-типов внутри Swift Runtime и разбирается метод
Читать (Ru)
Большая статья, в которой рассказывается про механизмы приведения типов и создания generic-типов внутри Swift Runtime и разбирается метод
swift_conformsToProtocolMaybeInstantiateSuperclasses, ĸоторый является узĸим местом в производительности приложения, ĸогда и почему он вызывается и ĸаĸие стратегии использовать для смягчения негативного воздействия.Читать (Ru)
❤5👍5🔥3
Компьютерное зрение + ARKit = AR-навигация внутри зданий
Крутой материал – ребята из 2ГИС запилили реалтайм навигацию внутри зданий, с помощью AR через камеру.
В статье рассказывают, как подошли к задаче с точки зрения компьютерного зрения, какие грабли собрали, как ускоряли локализацию и как боролись с погрешностями ARKit.
Читать (Ru)
Крутой материал – ребята из 2ГИС запилили реалтайм навигацию внутри зданий, с помощью AR через камеру.
В статье рассказывают, как подошли к задаче с точки зрения компьютерного зрения, какие грабли собрали, как ускоряли локализацию и как боролись с погрешностями ARKit.
Читать (Ru)
🔥6👍4❤2
Xcode: ключевые инструменты для ручного тестирования мобильных приложений
Автор статьи делится опытом тестирования мобильных приложений в Xcode для обнаружения критических багов в iOS-приложениях на этапе разработки.
👉 Симулятор устройств и управление конфигурациями
👉 Работа с логами и анализ крашей
👉 Инспектирование верстки
👉 Мокирование сетевых запросов
P.S. Материал может быть полезным для QA
Читать (En)
Автор статьи делится опытом тестирования мобильных приложений в Xcode для обнаружения критических багов в iOS-приложениях на этапе разработки.
👉 Симулятор устройств и управление конфигурациями
👉 Работа с логами и анализ крашей
👉 Инспектирование верстки
👉 Мокирование сетевых запросов
P.S. Материал может быть полезным для QA
Читать (En)
👍6❤4🔥4
Combine – швейцарский нож iOS-разработчика. Или нет?
Большая статья с обзором Combine: как устроен фреймворк, какие сущности лежат в основе и примеры использования.
Читать (Ru)
Большая статья с обзором Combine: как устроен фреймворк, какие сущности лежат в основе и примеры использования.
Небольшая сводка: Combine – фреймворк для работы с асинхронными событиями в декларативном стиле. Он помогает разработчикам управлять потоками данных, избавляя от множества колбэков, ручного управления очередями и других сложностей, связанных с асинхронностью.
Читать (Ru)
👍9❤4🔥4🕊2
This media is not supported in your browser
VIEW IN TELEGRAM
IntelligenceGlow – легковесная SwiftUI-библиотека, которая добавляет эффект светящейся обводки в стиле Apple Intelligence к любому элементу InsettableShape.
Библиотека на GitHub → IntelligenceGlow
Библиотека на GitHub → IntelligenceGlow
❤7👍7🔥6
Thread-Safe Classes: GCD vs Actors
Небольшая статья про многопоточку, а именно про то, как организовать потокобезопасные операции чтения/записи разными способами, чтобы избежать распространённых проблем по типу race condition. А в конце статьи, сводная таблица с сравнением подходов.
Читать (En)
Небольшая статья про многопоточку, а именно про то, как организовать потокобезопасные операции чтения/записи разными способами, чтобы избежать распространённых проблем по типу race condition. А в конце статьи, сводная таблица с сравнением подходов.
Читать (En)
🔥5❤4👍4
Навигация на SwiftUI: чего не хватает и как исправить
Разработчик из CleverPumpkin рассказывает с какими SwiftUI ограничениями столкнулись в части навигации на проекте, какие обходные решения применяли и разбирает в каких ситуациях какие инструменты использовать для контролируемой навигации.
Читать (Ru)
Разработчик из CleverPumpkin рассказывает с какими SwiftUI ограничениями столкнулись в части навигации на проекте, какие обходные решения применяли и разбирает в каких ситуациях какие инструменты использовать для контролируемой навигации.
Читать (Ru)
❤6🔥4👍3
Creative Coding: Randomness and Noise
Интересная статья, в которой рассказывается как можно преобразить UI проекта, с помощью необычных анимаций.
Читать (En)
Интересная статья, в которой рассказывается как можно преобразить UI проекта, с помощью необычных анимаций.
Читать (En)
👍4❤3🔥2
Stanford CS193P 2025 - Developing Apps for iOS
Вышел обновленный курс Стэнфордского университета CS193P по основам разработки приложений для iOS. Уже опубликовано 12 лекций, в скором времени ожидается ещё 4.
🟢 Getting Started with SwiftUI
🟢 More SwiftUI Basics
🟢 Model and UI / Swift Type System
🟢 Building CodeBreaker's Model
🟢 Layout / Data Flow
🟢 Data Flow Demonstration
🟢 Generics and Views / Animation
🟢 Animation Demonstration
🟢 Elapsed Time / Protocols
🟢 List and Navigation
🟢 iPad / Sheets
🟢 CodeBreaker Editor
Читать (En) | Смотреть (En)
Вышел обновленный курс Стэнфордского университета CS193P по основам разработки приложений для iOS. Уже опубликовано 12 лекций, в скором времени ожидается ещё 4.
Читать (En) | Смотреть (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍5❤4
This media is not supported in your browser
VIEW IN TELEGRAM
Маленький экран — серьёзный вызов!
В VK мобильные разработчики создают опыт, который помещается в карман, но работает на миллионах устройств. Узнайте об их подходах к сложным задачам и ключевых результатах. По ссылке — ролики и даже вакансии!
В VK мобильные разработчики создают опыт, который помещается в карман, но работает на миллионах устройств. Узнайте об их подходах к сложным задачам и ключевых результатах. По ссылке — ролики и даже вакансии!
👍3🔥3👏2🕊1
Forwarded from Mobile Native ️️
Гид по Git — глазами бывшего джуна
Отличная статья-шпаргалка, в которой разбирается базовый минимум и чуть больше команд для ежедневной работы с Git`ом.
Читать (Ru)
Отличная статья-шпаргалка, в которой разбирается базовый минимум и чуть больше команд для ежедневной работы с Git`ом.
Читать (Ru)
❤7🔥6👍4
Все не так с Codable
Ребята из Т-Банĸ провели большой анализ производительности
🟢
🟢 Обходим касты стороной
🟢 Уходим от оверхеда из-за generic-ов
🟢 Измеряем бенчмарком первый decoding / encoding
🟢 Бенчмарк Apple
🟢 PR в Swift-Foundation
🟢 Заключение
Читать (Ru)
Ребята из Т-Банĸ провели большой анализ производительности
Codable. В статье рассказывают какие оптимизации внесли в JSONEncoder/JSONDecoder, ускорив сериализацию и десериализацию в два раза и как сделали PR в swift-foundation.JSONEncoder/JSONDecoder не такой быстрыйМногие приложения используют Codable для десериализации сетевых ответов, сохранения данных в UserDefaults или для записи данных в файлы. Поэтому производительность Codable в целом, а особенно JSONEncoder/JSONDecoder влияет на производительность большей части iOS-приложений.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤6👍5
Find the SwiftUI Views that Update the Most Using Instruments
Статья-заметка о том, как с помощью Instruments в Xcode 26 найти SwiftUI Views, которые обновляются чаще всего и определить причину таких обновлений.
Читать (En)
Статья-заметка о том, как с помощью Instruments в Xcode 26 найти SwiftUI Views, которые обновляются чаще всего и определить причину таких обновлений.
Читать (En)
🔥6❤4👍3
Forwarded from Mobile Native ️️
This media is not supported in your browser
VIEW IN TELEGRAM
Big O notation
Статья с интерактивными примерами и разбором Big O нотацией.
🟢 O(1) – constant time (best!)
🟢 O(log n) – logarithmic time
🟢 O(n) – linear time
🟢 O(n^2) – quadratic time
Читать (En)
Статья с интерактивными примерами и разбором Big O нотацией.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥3
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 победителей
Информацию об организаторе, правилах и призах ищите по ссылке.
Удачи!
👍4🔥3❤2
С наступающим Новым Годом!!! ❤️🎄 🥂
Дорогие друзья и коллеги! Хочу начать этот пост со слов благодарности. От чистого сердца говорю вам спасибо за то, что этот год были со мной, с каналом, поддерживали, ставили реакции и писали комменты – вы крутые ❤️
Также поздравляю Вас всех с наступающим Новым Годом! Желаю в Новом Году покорить новые вершины, профессиональных успехов, достойной зарплаты, интересных проектов и чистого кода.
Для канала год выдался непростым, где-то я подвыгорел, где-то погряз в работе из-за чего в этом году было относительно мало публикаций. Но и справедливости ради стоит сказать, что достойных материалов в последнее время становится меньше, а публиковать что-то ради публикации не очень хочется. В следующем году постараюсь собраться, войти в привычное русло и постараюсь найти возможности для развития каналов.
Отдельное спасибо хочу выразить тем, кто поддерживает в ЛС и предлагает материалы для публикации ❤️. Многие сообщения видел, но не успел ответить из-за нехватки времени. Если вдруг я вам не ответил и вам важно именно моё мнение по какому-то вопросу, триггерните ещё раз в ЛС – обещаю посмотреть и ответить.
P.S. Спасибо всем за поддержку и с наступающим Новым Годом!!! ❤️🎄 🥂
Дорогие друзья и коллеги! Хочу начать этот пост со слов благодарности. От чистого сердца говорю вам спасибо за то, что этот год были со мной, с каналом, поддерживали, ставили реакции и писали комменты – вы крутые ❤️
Также поздравляю Вас всех с наступающим Новым Годом! Желаю в Новом Году покорить новые вершины, профессиональных успехов, достойной зарплаты, интересных проектов и чистого кода.
Для канала год выдался непростым, где-то я подвыгорел, где-то погряз в работе из-за чего в этом году было относительно мало публикаций. Но и справедливости ради стоит сказать, что достойных материалов в последнее время становится меньше, а публиковать что-то ради публикации не очень хочется. В следующем году постараюсь собраться, войти в привычное русло и постараюсь найти возможности для развития каналов.
Отдельное спасибо хочу выразить тем, кто поддерживает в ЛС и предлагает материалы для публикации ❤️. Многие сообщения видел, но не успел ответить из-за нехватки времени. Если вдруг я вам не ответил и вам важно именно моё мнение по какому-то вопросу, триггерните ещё раз в ЛС – обещаю посмотреть и ответить.
P.S. Спасибо всем за поддержку и с наступающим Новым Годом!!! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🍾5☃2🎄2👍1