ch
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

前往频道在 Telegram

Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.

显示更多
2 168
订阅者
+524 小时
+27
+530
帖子存档
TinyStorage - простая и легкая замена UserDefaults (не обертка, а именно замена, лишенная некоторых недостатков нативного фре
TinyStorage - простая и легкая замена UserDefaults (не обертка, а именно замена, лишенная некоторых недостатков нативного фреймворка) с более надежным доступом и встроенной поддержкой типов Codable. Как писал автор в этой статье, в последнее время у UserDefaults все чаще возникают проблемы с возвратом нулевых данных, когда устройство заблокировано и iOS предварительно «разогревает» ваше приложение. В сочетании с API, который не очень хорошо раскрывает эту информацию, вы можете легко оказаться в ситуации с трудноотслеживаемыми ошибками и потерей данных. Эта библиотека стремится решить эту проблему, не шифруя файл и обеспечивая более надежный доступ к сохраненным данным (хотя и менее безопасный, так что не храните конфиденциальные данные), и добавляя к этому некоторые приятные мелочи. Как и UserDefaults, TinyStorage предназначен для использования с относительно небольшими значениями. Не храните в TinyStorage массивные базы данных, так как он не оптимизирован для этого, но он достаточно быстр для извлечения сохраненных типов Codable. В качестве ориентира, размер хранилища не должен превышать 1 МБ. TinyStorage на GitHub: https://github.com/christianselig/TinyStorage Платформа: iOS ⭐️: 182

Видео и подкасты за неделю @AppFiles(iOS Ru) Собеседование iOS-разработчика: проектирование и лайфкодинг (+ все собеседования) • (iOS En) Improve Scroll Transitions | SwiftUI(iOS En) Grid Multi-Selection using Pan Gesture | SwiftUI(iOS En) How to Fix UIKit and SwiftUI Menu Buttons (make them easier to tap)(iOS En) TDD Basics with SwiftUI(iOS En) Adopt iPhone 16 Camera Control into your SwiftUI App(iOS En) WWDC22: Design protocol interfaces in Swift (And En) Now in Android: 110 - Android 15, Credential Manager, Android Studio Koala, Compose for TV(And En) FULL Guide to Kotlin's Inline Keyword (inline, crossinline & noinline)(And En) Micro Open Source: From Passion to Pet Project Publication(Crs Ru) Flutter Web глазами мобильного разработчика(Crs En) Build a Book Library App for Android & iOS using ROOM KMP (MVVM)(Dev Ru) Мобильная разработка в Алисе и YaOS: как это работает(Dev Ru) Путь тестировщика: ошибки, опыт, деньги(Dev Ru) Перформанс мобильных приложений(Dev Ru) Дизайн-система 2.0: менеджеры нужны(Dev Ru) Двое за ноутом, не считая copilot’а, или Как внедрить парное программирование(Dev Ru) Так много тимлидов хороших и разных. А я какой?(Dev Ru) Стартап мечты превратился в кошмар(Dev En) Databases In-Depth – Complete Course(Dev En) Electron Course - Code Desktop Applications (inc. React and Typescript)(Dev En) AWS Certified AI Practitioner (AIF-C01) – Full Course to PASS the Certification Exam #ios #android #mobile #video

MusicSearch - приложение для Android, позволяющее просматривать песни, исполнителей и все, что с ними связано, используя Musi
MusicSearch - приложение для Android, позволяющее просматривать песни, исполнителей и все, что с ними связано, используя MusicBrainz API. Мультиплатформенные дистрибутивы находятся в разработке. Только приложение для Android считается стабильным. MusicSearch на GitHub: https://github.com/lydavid/MusicSearch Платформа: Android ⭐️: 40

Остерегайтесь UserDefaults: история о трудно понимаемых ошибках и потерянных данных Оказывается, иногда вы можете запросить с
Остерегайтесь UserDefaults: история о трудно понимаемых ошибках и потерянных данных Оказывается, иногда вы можете запросить сохраненные данные из UserDefaults, а он... просто не захочет их получать! Это довольно большая проблема для системы, которая должна надежно хранить данные для вас. Это может привести к еще более серьезной проблеме - к безвозвратной потере данных. Статья: https://apptractor.ru/info/articles/osteregaytes-userdefaults.html Платформа: iOS

Пишите на Swift как Apple В этой статье я продемонстрирую некоторые из кодовых соглашений, которых я теперь придерживаюсь, не
Пишите на Swift как Apple В этой статье я продемонстрирую некоторые из кодовых соглашений, которых я теперь придерживаюсь, непосредственно переняв подход Apple к программированию в Swift. • Булево значение должно определять условие • Не заботьтесь о длине имени типа, уточните намерение • Прошедшее время для метода, настоящее время или глагол для замыкания • Избегайте прямого указания объекта, используйте Enum или Static для объявления типа • Словарь с перечислением в качестве ключа • Вложенный тип — это нормально • Протокол — это поведение: найдите нужное существительное, используйте суффикс -able, если оно не найдено Статья: https://apptractor.ru/info/articles/pishite-na-swift-kak-apple.html Платформа: iOS

DevTutor for SwiftUI - это приложение, предназначенное для помощи разработчикам в создании исключительных приложений с исполь
DevTutor for SwiftUI - это приложение, предназначенное для помощи разработчикам в создании исключительных приложений с использованием SwiftUI. Оно предлагает воспроизводимые примеры кода и соответствующие предварительные просмотры пользовательского интерфейса, чтобы упростить процесс программирования. Кроме того, приложение включает локальный офлайн-доступ к официальной документации по языку программирования Swift на китайском и английском языках. DevTutor for SwiftUI на GitHub: https://github.com/jaywcjlove/devtutor Платформа: iOS ⭐️: 145

Реверс инжиниринг кормушки для кошек для повышения производительности разработки После ночных покупок в Amazon я получил PetK
Реверс инжиниринг кормушки для кошек для повышения производительности разработки После ночных покупок в Amazon я получил PetKit FreshElement Solo. У меня было две проблемы, которые он мог решить: низкая мотивация к побочному проекту и слишком большая любовь к миндалю с морской солью в темном шоколаде от Target. Я помешан на коде — так почему бы не подкормить мой обезьяний мозг, когда я пушу код? Так и возник мой проект — при каждом коммите кормушка для кошек выдает мне порцию конфет. Статья: https://apptractor.ru/info/devices/revers-inzhiniring-kormushki-dlya-koshek-dlya-povysheniya-proizvoditelnosti-razrabotki.html Платформа: разработка

10 причин НЕ использовать Jetpack Compose (с комментариями) Jetpack Compose — это отличный набор инструментов для создания по
10 причин НЕ использовать Jetpack Compose (с комментариями) Jetpack Compose — это отличный набор инструментов для создания пользовательского интерфейса, который был тепло встречен сообществом Android-разработчиков. Мне нравится Jetpack Compose, но, как и любая другая технология, он имеет ряд недостатков. В этой статье мы узнаем, в каких случаях лучше использовать систему View и почему. Статья: https://apptractor.ru/info/articles/10-prichin-ne-ispolzovat-jetpack-compose.html Платформа: Android

Перевод в текст живого звука с помощью фреймворка Speech К концу этой статьи вы поймете, как получить доступ к звуковому буфе
Перевод в текст живого звука с помощью фреймворка Speech К концу этой статьи вы поймете, как получить доступ к звуковому буферу микрофона, а затем сделать его доступным для обработки и преобразования в текст средствами распознавания речи. Статья: https://www.createwithswift.com/transcribing-audio-from-live-audio-using-the-speech-framework/ Платформа: iOS Поставьте 10 👍 если хотите эту статью на русском.

Паря в космосе: анимации с помощью Compose и Canvas В своей предыдущей статье «Рисуя звезды: рисование с помощью Compose и Canvas» я рассказала о том, как я хотела улучшить свои навыки работы с  Canvas и Compose и создала иллюстрацию с планетами и звездами. В этой статье я расскажу, как анимировать эти элементы. Статья: https://apptractor.ru/info/articles/parya-v-kosmose-animatsii-s-pomoschyu-compose-i-canvas.html Платформа: Android

Transcribro - это приватная клавиатура и сервис распознавания речи для Android-устройств. Он использует whisper.cpp для запус
Transcribro - это приватная клавиатура и сервис распознавания речи для Android-устройств. Он использует whisper.cpp для запуска семейства моделей OpenAI Whisper и Silero VAD для распознавания голосовой активности. В приложении есть клавиатура голосового ввода, позволяющая набирать текст с помощью речи. Оно также может использоваться другими приложениями либо явно, либо при установке в качестве выбранного пользователем приложения для преобразования речи в текст. Transcribro на GitHub: https://github.com/soupslurpr/Transcribro Платформа: Android ⭐️: 370

Виртуализация iOS на Apple Silicon В этой статье я рассказываю о том, как мне удалось добиться виртуализации iOS на компьютер
Виртуализация iOS на Apple Silicon В этой статье я рассказываю о том, как мне удалось добиться виртуализации iOS на компьютерах Apple Mac, попутно исследуя многие внутренние компоненты. Статья: https://nickb.website/blog/virtualizing-ios-on-apple-silicon Платформа: iOS

Реализация Shared With You в SwiftUI Эта функция была введена в iOS 16, но лишь немногие приложения используют ее в своих инт
Реализация Shared With You в SwiftUI Эта функция была введена в iOS 16, но лишь немногие приложения используют ее в своих интересах. Как вы скоро увидите, ее очень легко реализовать, поэтому если в вашем приложении есть контент, которым можно поделиться, я настоятельно рекомендую добавить эту функцию в ваше приложение. Статья: https://apptractor.ru/info/articles/shared-with-you.html Платформа: iOS

Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве Реверс-инжиниринг VPN-сервиса Onavo Protect под Android п
Как перехватывают зашифрованный HTTS-трафик на мобильном устройстве Реверс-инжиниринг VPN-сервиса Onavo Protect под Android позволил определить методы, которые можно использовать для перехвата зашифрованного HTTPS-трафика на мобильном устройстве. Если вкратце, злоумышленник должен поставить на телефон собственное приложение и сертификат УЦ (удостоверяющего центра). Например, в РФ вступил в действие закон, который требует с 2025 года обязательной предустановки на все смартфоны конкретных приложений. Теоретически, при наличии уязвимостей это может угрожать безопасности многих пользователей. Статья: https://habr.com/ru/companies/globalsign/articles/848632/ Платформа: Android

Восстановление базы для миллионов пользователей Это история о приложении для обмена сообщениями, которым пользуются миллиарды
Восстановление базы для миллионов пользователей Это история о приложении для обмена сообщениями, которым пользуются миллиарды пользователей. Приложение придерживается чрезвычайно строгой модели конфиденциальности. Приложение никогда не хранит данные пользователя на серверах. Все сообщения end-to-end шифруются. Многие пользователи этого приложения, особенно на Android, регулярно удаляли и переустанавливали его. Чтобы предотвратить потерю сообщений, их резервное копирование осуществляется на SD-карту пользователя. В модели безопасности Android SD-карта является общедоступным местом хранения данных, доступным всем приложениям. Поэтому, чтобы сохранить конфиденциальность сообщений, резервные копии зашифровались. И вдруг неожиданно поступил всплеск жалоб от пользователей на то, что приложение не смогло восстановить их сообщения. Хотя у нас были некоторые внутренние показатели, подтверждающие это, не было возможности отладить ошибку без доступа к некоторым образцам для воспроизведения ситуации. Статья: https://apptractor.ru/info/articles/vosstanovlenie-bazy-dlya-millionov-polzovateley.html Платформа: разработка

Swipe Cell SwiftUI - это простое swipe-to-reveal представление. Оно поддерживает iOS/iPadOS 14 или более поздние версии. Цель - заменить стандартный модификатор SwiftUI List .onDelete(perform: ...), поскольку его функциональность ограничена только удалением и работает только со строками списка. Кроме того, строки в iOS 14 LazyVStack по умолчанию не поддерживают пролистывание для раскрытия кнопок. Swipe Cell SwiftUI позволяет добавлять несколько кнопок меню с левой и правой стороны, а также поддерживает функцию смахивания (например, для удаления). Swipe Cell SwiftUI на GitHub: https://github.com/DominikButz/SwipeCellSUI Платформа: iOS ⭐️: 61

Как Discord сократил Websocket трафик на 40% В Discord мы постоянно думаем о том, как улучшить наши сервисы и повысить произв
Как Discord сократил Websocket трафик на 40% В Discord мы постоянно думаем о том, как улучшить наши сервисы и повысить производительность. Ведь чем быстрее работает наше приложение, тем быстрее вы сможете вернуться к своим друзьям и разговорам! В течение последних шести месяцев мы работали над снижением трафика в каналах связи, используемых нашими клиентами, особенно на iOS и Android, надеясь, что уменьшение передаваемых данных приведет к более быстрому отклику. Статья: https://apptractor.ru/info/articles/kak-discord-sokratil-websocket-trafik-na-40.html Платформа: разработка

Создание уведомлений на языке Kotlin Недавно мне нужно было добавить в мое мобильное приложение уведомление, которое писало б
Создание уведомлений на языке Kotlin Недавно мне нужно было добавить в мое мобильное приложение уведомление, которое писало бы определенный текст в 9 утра. Я потратила некоторое время на чтение документации и разговор с чатом, чтоб понять как и что делать, и я думаю таким же начинающим программистам будет интересно или полезно почитать мои заметки и разбор кода. Статья: https://habr.com/ru/articles/847020/ Платформа: Android

KLogX - это библиотека логирования Kotlin, разработанная для обеспечения гибкого и эффективного способа протоколирования сооб
KLogX - это библиотека логирования Kotlin, разработанная для обеспечения гибкого и эффективного способа протоколирования сообщений в вашем приложении. Она поддерживает различные уровни регистрации (INFO, WARN, ERROR и т.п.) и цели (INTERNAL, EXTERNAL, REMOTE), а также позволяет регистрировать пользовательские функции для обработки сообщений лога на основе фильтра. KLogX на GitHub: https://github.com/mohsenoid/KLogX\ Платформа: Android ⭐️: 8