uk
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

Відкрити в Telegram

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

Показати більше
2 171
Підписники
Немає даних24 години
+57 днів
+830 день
Архів дописів
Виртуализация 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

Новый подход к безопасному управлению состояниями в Kotlin-приложениях Вот уже несколько лет я занимаюсь разработкой высокопр
Новый подход к безопасному управлению состояниями в Kotlin-приложениях Вот уже несколько лет я занимаюсь разработкой высокопроизводительных, полностью асинхронных, реактивных, мультиплатформенных приложений. За это время я успел наткнуться на несколько довольно тонких и трудно отлаживаемых проблем с управлением состояниями. В этой статье я хотел бы поделиться с вами своим опытом, который поможет вам сэкономить множество часов и нервных клеток, и предложить новый подход к управлению состояниями, который лично я никогда раньше не встречал и который навсегда избавит вас от этих проблем. Статья: https://habr.com/ru/companies/otus/articles/847888/ Платформа: Android

Как реализовать спойлер-эффект как в Telegram на Swift? Спойлеры стали неотъемлемой частью общения в мессенджерах и социальны
Как реализовать спойлер-эффект как в Telegram на Swift? Спойлеры стали неотъемлемой частью общения в мессенджерах и социальных сетях. Они позволяют скрывать часть информации до тех пор, пока пользователь не захочет ее увидеть. В Telegram спойлер-эффект сопровождается красивой анимацией рассыпающихся точек. В этой статье мы рассмотрим, как реализовать подобный спойлер-эффект в iOS-приложении на Swift, используя CAEmitterLayer и UITextView. Статья: https://habr.com/ru/articles/847236/ Платформа: iOS

Как реализовать спойлер-эффект как в Telegram на Swift? Спойлеры стали неотъемлемой частью общения в мессенджерах и социальных сетях. Они позволяют скрывать часть информации до тех пор, пока пользователь не захочет ее увидеть. В Telegram спойлер-эффект сопровождается красивой анимацией рассыпающихся точек. В этой статье мы рассмотрим, как реализовать подобный спойлер-эффект в iOS-приложении на Swift, используя CAEmitterLayer и UITextView.

Каждое приложение в App Store должно содержать такие важные ссылки, как политика конфиденциальности и, если применимо, услови
Каждое приложение в App Store должно содержать такие важные ссылки, как политика конфиденциальности и, если применимо, условия использования (для покупок в приложениях), чтобы соответствовать требованиям Apple. Многие приложения решают эту задачу, добавляя в настройках раздел «Ссылки», в котором содержатся дополнительные полезные ссылки, такие как рейтинги приложений, часто задаваемые вопросы и варианты поддержки. Именно здесь на помощь приходит LinksKit: он предлагает простое, готовое к использованию решение для работы со всеми этими распространенными ссылками, которое сэкономит вам кучу времени. Будь то юридические, справочные или рекламные ссылки, LinksKit справится с этой задачей. А для macOS он даже поддерживает добавление этих ссылок прямо в меню «Справка». LinksKit на GitHub: https://github.com/FlineDev/LinksKit Платформа: iOS ⭐️: 16

Почему ваша задача выполняется в главном потоке? Задача (Task) - это единица асинхронной работы в Swift Concurrency. Создание
Почему ваша задача выполняется в главном потоке? Задача (Task) - это единица асинхронной работы в Swift Concurrency. Создание задачи - это самый простой способ внедрить асинхронный контекст в ваш код:
func setupView() {
    Task {
        self.data = await fetchData() 
    }
}
Используя Task, мы можем вызывать await и получать данные асинхронно, даже если сама функция setupView() не помечена как async. Поскольку мы инициализируем их с помощью замыкания, стандартное* поведение при создании Task не сразу становится очевидным: они будут выполняться в том же потоке, в котором были созданы. Давайте рассмотрим, как это повлияет на наш код. Статья: https://apptractor.ru/info/articles/pochemu-vasha-zadacha-vypolnyaetsya-v-glavnom-potoke.html Платформа: iOS

3 совета для улучшения читабельности кода В этой статье вы узнаете 3 простых совета, которые помогут сделать вашу кодовую баз
3 совета для улучшения читабельности кода В этой статье вы узнаете 3 простых совета, которые помогут сделать вашу кодовую базу более качественной и читабельной: • Используйте ранние возвраты • Избегайте отрицаний в условных выражениях • Создавайте значения и переменные как можно позже Статья: https://apptractor.ru/info/articles/3-soveta-dlya-uluchsheniya-chitabelnosti-koda.html Платформа: программирование

Как устроен сборщик метрик Android-проекта Меня зовут Даниил, я Android-разработчик в команде VK ID SDK в VK. Наша команда со
Как устроен сборщик метрик Android-проекта Меня зовут Даниил, я Android-разработчик в команде VK ID SDK в VK. Наша команда создала легковесный SDK для авторизации через приложения экосистемы VK. Он состоит из кнопки One Tap для входа в один клик, кнопки входа в другую учётную запись и виджета для авторизации через Mail или Одноклассники. Работая над продуктом, мы поняли, что необходимо оценивать его техническое качество: считать размер SDK, тестового покрытия, скорость сборки и многое другое. Нам был нужен сборщик метрик качества кода. Я расскажу, как мы писали плагин для сбора метрик и с какими проблемами столкнулись. Вы узнаете, как устроен наш сборщик изнутри, и даже сможете потестить его в своём проекте. Статья: https://habr.com/ru/companies/vk/articles/847416/ Платформа: Android

Быстрый доступ к VPN в iOS с помощью App Intents Меня зовут Антон Долганов, я iOS-разработчик в компании Контур. Я работаю на
Быстрый доступ к VPN в iOS с помощью App Intents Меня зовут Антон Долганов, я iOS-разработчик в компании Контур. Я работаю над инфраструктурными модулями и параллельно поддерживаю наше приложение Контур.Коннект, которое используется для подключения к внутреннему VPN и даёт доступ к корпоративным сервисам. Недавно мы выпустили обновление Коннекта, добавив поддержку Быстрых команд (Shortcuts). Теперь можно включать и отключать VPN, даже не заходя в приложение. В этой статье я расскажу, как я это реализовал и почему это полезно. Статья: https://habr.com/ru/companies/skbkontur/articles/846366/ Платформа: iOS

Приглашаем на Mobile PeerLab #2 — камерную встречу для мобильных разработчиков 10 октября в Москве во второй раз пройдет Peer
Приглашаем на Mobile PeerLab #2 — камерную встречу для мобильных разработчиков 10 октября в Москве во второй раз пройдет PeerLab от экспертов Райдтеха Яндекс Go. Специалисты разберут кейсы, которые предложат участники: поговорят о DI-архитектуре, легаси и скорости сборки, сравнят KMP и Flutter, объяснят, чем отличаются техлиды от фичалидов, и поделятся советами о тестировании фичей. После разбора кейсов гостей ждет afterparty, feature dev консультация и активности в реальной качалке — будем тренировать прогерские мышцы! Реальные кейсы и ответы экспертов Яндекса на ваши вопросы о мобильной разработке — регистрируйтесь и зовите коллег! Количество мест ограничено. После регистрации обязательно дождитесь подтверждения заявки

Библиотека Texty создана на основе базового текста Jetpack Compose. Это высококонфигурируемая библиотека Compose Multiplatfor
Библиотека Texty создана на основе базового текста Jetpack Compose. Это высококонфигурируемая библиотека Compose Multiplatform, которая позволяет отображать текст в различных стилях и обладает разными полезными функциями, вроде скроллинга или постепенного раскрытия. Независимо от того, создаете ли вы Android, iOS, настольное или веб-приложение, она предоставляет единый API для создания динамичных и визуально привлекательных текстовых меток. Texty на GitHub: https://github.com/ArjunJadeja/Texty Платформа: Android/кроссплатформа ⭐️: 38

Стартовые профили: быстрое решение для болезненно медленных стартов приложений Стартовый профиль - это часть Baseline профиля
Стартовые профили: быстрое решение для болезненно медленных стартов приложений Стартовый профиль - это часть Baseline профиля, направленная на улучшение запуска приложений. Профиль главным образом организует и приоритизирует код в DEX-файлах, чтобы обеспечить более эффективную компиляцию и выполнение кода, необходимого для запуска приложения. Такая реорганизация сокращает время, необходимое для компиляции и интерпретации необходимых путей кода, что приводит к более быстрому запуску приложения. Статья: https://proandroiddev.com/startup-profiles-the-quick-fix-for-painfully-slow-app-startups-2f1c9c0a8fd9 Платформа: Android Поставьте 👍, если хотите эту статью на русском.