AppFiles - Mobile Development
前往频道在 Telegram
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
显示更多2 170
订阅者
无数据24 小时
+47 天
+630 天
帖子存档
С помощью Variablur можно создавать различные эффекты размытия, которыми вы управляете с помощью маски. Поскольку маска рисуется с помощью GraphicsContext, она может содержать градиенты, фигуры, текст, предварительно отрендеренные изображения или все остальное, что можно нарисовать. Можно создавать градиентное или прогрессивное размытие, виньетки, "размытые тени" и многие другие эффекты. Variablur использует 100% публичный API - это всего лишь шейдер Metal и пара расширений для типов SwiftUI.
Variablur на GitHub: https://github.com/daprice/Variablur
Платформа: iOS
⭐️: 74
Видео и подкасты за неделю:
•
(iOS Ru) Swift-уроки: Actor
• (iOS Ru) Как получить международный оффер iOS-разработчику
• (iOS En) Simple Drop Down Picker – SwiftUI
• (iOS En) SwiftUI: New Observation Framework
• (iOS En) SwiftUI Tooltips with TipKit (Popover & Inline Tips)
• (iOS En) 8 Tips to Design a Great Paywall
• (iOS En) SwiftData Lightweight Migrations
• (iOS En) Swipe Actions For ScrollView - No Gestures! - iOS 17 Scroll APIs
• (iOS En) How to Make a Color Picker with ScrollView, Scroll Position and Visual Effects
• (And Ru) Как устроен Android в умных колонках Яндекса
• (And Ru) Топ-10 вопросов для Senior Android: собеседование с разбором ответов и материалами
• (And En) Firebase Demo Day Recap, Flutter 3.16, and more dev news!
• (And En) A Team of 20 to Publish an App?! - THIS New Google Play Policy Change is CRAZY
• (And En) How to Migrate an Android Project to Kotlin Multiplatform (KMP)
• (And En) Custom Savers
• (And En) Circuit – Android App Architecture Masterclass with Zac and Josh from Slack
• (Crs En) The State of Kotlin Multiplatform
• (Crs En) Getting Started With KMP: Build Apps for iOS and Android With Shared Logic and Native UIs
• (Crs En) Build Apps for iOS, Android, and Desktop With Compose Multiplatform
• (Dev Ru) Мыслим как Platform Engineer
• (Dev Ru) Podlodka #347: развитие продукта от 0 до 1
• (Dev Ru) Tracer — альтернатива Crashlytics: другой взгляд на аналитику ошибок в приложениях
• (Dev Ru) Как качать миллионы фотографий в сутки, выдержать кратный рост и не умереть?
• (Aur Ru) Насколько реален российский айфон: разговор с Максимом Горшениным.
• (AI En) Machine Learning with Python and Scikit-Learn – Full Course
Поставьте 👍 и поделитесь подборкой!Reorderable - это простая библиотека, позволяющая изменять порядок элементов в LazyColumn и LazyRow, а также Column и Row в Jetpack Compose с помощью перетаскивания. Поддерживает элементы различных размеров, некоторые элементы можно сделать неперемещаемыми, есть скрол при перетаскивании к краю экрана, а скорость его зависит от расстояния до края экрана, используется новый Modifier.animateItemPlacement API для анимации перемещения элементов в LazyColumn и LazyRow.
Reorderable на GItHub: https://github.com/Calvin-LL/Reorderable/
Платформа: Android
⭐️: 30
Как Spotify отслеживает размеры приложений
Наши ежедневные задачи как инженеров часто связаны с внедрением новых функциональных возможностей. Существующие пользователи получают возможность пользоваться преимуществами этих функций, для новых пользователей это причина подписаться на приложение, а мы получаем возможность писать больше кода. На первый взгляд, это идеальные симбиотические отношения - беспроигрышный сценарий, когда все довольны и ничего не может пойти не так, правильно?
Неправильно, иногда новая отличная функция приносит больше вреда, чем пользы. Причина проста - размер приложения. Любое дополнение к приложению - будь то код для новой функции, ресурс изображения для новой кнопки или даже поддержка новой локализации - приводит к увеличению размера приложения. Вы можете спросить: "Неужели это действительно проблема в нашем современном мире?". Мы утверждаем, что да.
Статья: https://apptractor.ru/info/articles/kak-spotify-otslezhivaet-razmery-prilozheniy.html
Платформа: разработка
Kotlin под капотом: нюансы использования аннотаций
Kotlin очень лаконичный язык, но когда его код компилируется в Java bytecode, то изящные конструкции Kotlin распадаются на развесистые и монструозные конструкции Java. При этом применение аннотаций может сыграть с вами злую шутку.
Статья: https://habr.com/ru/articles/774872/
Платформа: Android
В дополнение - Вы не так готовите Kingfisher, или как самураи работают с загрузкой изображений
У самурая нет цели, есть только путь. И никакой самурай уж точно не станет изобретать велосипед, чтобы этот путь проехать. Вот и у меня нет цели дать готовый рецепт — только указать верное направление.
В статье разберемся с тем, как использовать готовые решения, не допуская распространенных ошибок, на которые часто подталкивают авторы библиотек для загрузки и отображения картинок.
Статья: https://habr.com/ru/articles/761772/
Kingfisher - одна из самых популярных и мощных Swift-библиотек для загрузки и кэширования изображений из Интернета. Она дает возможность использовать чисто свифтовский способ работы с удаленными изображениями в вашем приложении. В ней есть асинхронная загрузка изображений, процессоры и фильтры, многоуровневое кеширование, плейсхолдеры, анимации переходов и многое другое.
Kingfisher на GitHub: https://github.com/onevcat/Kingfisher
Платформа: iOS
⭐️: 21.8K
Отладка представлений SwiftUI: что вызывает изменения?
Представления SwiftUI с большим количеством триггеров перерисовки могут стать проблемой. Каждый
@State, @ObservedObject или другой триггер может вызвать перерисовку представления и повлиять на динамику, например, на анимацию. В таких случаях особенно полезно знать, как отладить представление SwiftUI.
Статья: https://apptractor.ru/info/articles/otladka-predstavleniy-swiftui-chto-vyzyvaet-izmeneniya.html
Платформа: iOSНовые API для адаптивных макетов в Jetpack Compose
Мы выпустили первую альфа-версию наших новых адаптивных макетов Material. В первую очередь мы остановились на компонентах ListDetailPaneScaffold и NavigationSuiteScaffold.
Статья: https://apptractor.ru/info/articles/novye-api-dlya-adaptivnyh-maketov-v-jetpack-compose.html
Платформа: Android
Пишем Kotlin DSL для графов навигации в домашних условиях
Расскажу, как мы сделали свой DSL для того, чтобы строить логику навигации в наших флоу.
Статья: https://habr.com/ru/companies/tinkoff/articles/775288/
Платформа: Android
Курс "Генеративный ИИ для начинающих" от Microsoft
В этом курсе авторы с нуля рассматривают концепции, которые позволят создать свой собственный стартап в области генеративного искусственного интеллекта на базе Azure OpenAI Services. Благодаря этому вы получите представление о том, что нужно сделать, чтобы вывести свои идеи на публику и получить прибыль. В каждом уроке рассматривается один из ключевых аспектов принципов генеративного ИИ и разработки приложений.
Сайт: https://microsoft.github.io/generative-ai-for-beginners/
Платформа: обучение
Exposed - это легковесная SQL-библиотека JetBrains поверх JDBC-драйвера для языка Kotlin. Exposed имеет два варианта доступа к базам данных: типобезопасный SQL-обертка DSL и облегченный Data Access Objects (DAO). Exposed может быть использован для работы с различными движками баз данных, что позволяет создавать приложения, не зависящие от конкретной БД, и переключаться между ними с минимальными изменениями или вообще без них.
Exposed на GitHub: https://github.com/JetBrains/Exposed
Платформа: Android
⭐️: 7.6K
Строки в Swift выглядят одинаково, но не являются таковыми?
Недавно я столкнулся с проблемой, которая вызвала у меня недоумение. Две одинаковые строки отличались друг от друга. Как такое может быть?
Рассмотрим следующий код:
print("String1: '\(string1)'")
print("String2: '\(string2)'")
print(string1 == string2)
Получаем следующий вывод:
String1: '123456' String2: '123456' falseЧто?? Статья: https://apptractor.ru/info/articles/stroki-v-swift-vyglyadyat-odinakovo-no-ne-yavlyayutsya-takovymi.html Платформа: iOS
Умный код — это, вероятно, худший код, который вы можете написать
Умный код труднее читать и он выглядит эзотерическим.
Понятный код труднее писать и он выглядит просто.
Статья: https://apptractor.ru/info/articles/umnyy-kod-eto-veroyatno-hudshiy-kod-kotoryy-vy-mozhete-napisat.html
Платформа: разработка
AcknowList - экран "Признательности", на котором отображается список лицензий, например, от зависимостей CocoaPods и Swift Package Manager. Может сам загружать список библиотек, поддерживает сториборды, темный режим, локализован на 13 языков, варианты UIKit и SwiftUI.
AcknowList на GitHub: https://github.com/vtourraine/AcknowList
Платформа: iOS
⭐️: 646
Листаем цифровые страницы: UIPageViewController
Сегодня я хочу поделиться кратким и простым руководством о том, как просто и программно реализовать UIPageViewController.
Статья: https://habr.com/ru/articles/774108/
Платформа: iOS
Программирование на параллельных машинах: GPU, многоядерные вычисления, кластеры и многое другое
Открытый (ака бесплатный) учебник от Норма Матлоффа, профессора компьютерных наук Калифорнийского университета.
Скачать: https://heather.cs.ucdavis.edu/parprocbook
Платформа: разработка
Capturable - библиотека Jetpack Compose для преобразования Composable контента в растровые изображения. В предыдущей системе с View получение изображений из View было очень простым. Но с Jetpack Compose дело обстоит иначе, поскольку он во многих аспектах отличается от предыдущей системы. Данная библиотека позволяет легко добиться тех же результатов. Она построена на основе ComposeView и использует API View для рисования Bitmap-изображения.
Capturable на GitHub: https://github.com/PatilShreyas/Capturable
Платформа: Android
⭐️: 742
Защита кода приложения Android. Когда хотели как лучше, а вышло не очень
В статье просто расскажу пару случаев из практики анализа защиты приложений Android. Имена и место событий изменены. Любые совпадения — случайность.
Статья: https://habr.com/ru/articles/774426/
Платформа: Android
Видео и подкасты за неделю:
•
(iOS En) Introducing Inferno: Metal shaders for SwiftUI
• (iOS En) Adding Snapchat-Like Filters to a Video Calling App using SwiftUI
• (iOS En) Build DALL·E 3 AI WhatsApp Sticker Generator SwiftUI App
• (iOS En) Building Complex Scroll Animations With New iOS 17 API’s
• (iOS En) SwiftData Dynamic Sorts and Filters
• (And Ru) Android Storage: обзор инструментария
• (And En) Now in Android: 95 - Google Play requirements, Animations in Compose, Passkeys in Android, and more!
• (And En) How to Build an Animated Splash Screen on Android - The Full Guide
• (And En) Top 3 Coroutine Cancellation Traps That Lead to Errors In Your Android App
• (And En) Practical magic with animations in Jetpack Compose
• (Dev Ru) GameDev и ОС Аврора. Портирование игры
• (Dev Ru) Что нового в интерфейсе ОС Аврора 5: управление и паттерны взаимодействия
• (Dev Ru) Avito Tech Managers meetup #1
• (Dev Ru) Я прошел собеседования в Google… Как?
• (Dev En) Master Technical Interviews – Full Course
• (Dsg En) UI Design Livestream: Team Components, Dos and Donts, Design Tips
Оцените подборку в 👍!
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
