uk
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

Відкрити в Telegram

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

Показати більше
2 171
Підписники
Немає даних24 години
+37 днів
+730 день
Архів дописів
Kotlin под капотом: inline функции Многие разработчики не до конца понимают суть inline функций. Не понимают в чем профит от
Kotlin под капотом: inline функции Многие разработчики не до конца понимают суть inline функций. Не понимают в чем профит от использования inline функций. Зачем нужен crossinline и как работает reified. Отчасти, источник популярных заблуждений про inline функции в том, что раньше на сайте kotlinlang.org было дано не совсем верное описание. Мне захотелось это исправить и наглядно показать как работают inline функции и какой профит мы получаем от их использования. Статья: https://habr.com/ru/articles/775120/ Платформа: Android

foSho - кастомная type safe навигация для Compose Navigation Component. Эта KSP-библиотека позволяет генерировать безопасный для типов код с минимальными усилиями и предоставляет готовые решения для объединения всех компонентов и масштабирования приложения. foSho на GitHub: https://github.com/FunkyMuse/foSho Платформа: Android ⭐️: 7

Топ-10 причин утечки памяти в Android В этой статье приведены десять распространенных причин возникновения утечек памяти в An
Топ-10 причин утечки памяти в Android В этой статье приведены десять распространенных причин возникновения утечек памяти в Android c примерами на языке Kotlin и способы их решения. 1. Нестатические внутренние классы 2. Handler и Runnable 3. Анонимные слушатели 4. Статические представления или контексты 5. Неправильное наблюдение за LiveData 6. Синглтон с контекстом 7. Bitmap 8. WebView 9. Широковещательные приемники 10. Слушатели событий в адаптерах RecyclerView Статья: https://apptractor.ru/info/articles/top-10-prichin-utechki-pamyati-v-android.html Платформа: Android

App Clip и тысяча проблем Если вы решите сделать App Clip, то планируйте, что вам придется: • Реализовать App Clip, обязатель
App Clip и тысяча проблем Если вы решите сделать App Clip, то планируйте, что вам придется: • Реализовать App Clip, обязательно интегрировав функционал из основного приложения, дополнительные фичи не подойдут • Добавить Advanced Experiences в App Store Connect • Создать AASA файла на сайте, чтобы связать ваше приложение со ссылкой • Протестировать через Local Advanced Experiences на телефоне до релиза • Пройти ревью • Подождать индексацию со стороны Apple — в нашем случае это заняло целых 2 недели, не отчаиваться! Статья: https://habr.com/ru/companies/dododev/articles/775128/ Платформа: iOS

С помощью Variablur можно создавать различные эффекты размытия, которыми вы управляете с помощью маски. Поскольку маска рисуе
С помощью 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 отслеживает размеры приложений Наши ежедневные задачи как инженеров часто связаны с внедрением новых функциональн
Как Spotify отслеживает размеры приложений Наши ежедневные задачи как инженеров часто связаны с внедрением новых функциональных возможностей. Существующие пользователи получают возможность пользоваться преимуществами этих функций, для новых пользователей это причина подписаться на приложение, а мы получаем возможность писать больше кода. На первый взгляд, это идеальные симбиотические отношения - беспроигрышный сценарий, когда все довольны и ничего не может пойти не так, правильно? Неправильно, иногда новая отличная функция приносит больше вреда, чем пользы. Причина проста - размер приложения. Любое дополнение к приложению - будь то код для новой функции, ресурс изображения для новой кнопки или даже поддержка новой локализации - приводит к увеличению размера приложения. Вы можете спросить: "Неужели это действительно проблема в нашем современном мире?". Мы утверждаем, что да. Статья: https://apptractor.ru/info/articles/kak-spotify-otslezhivaet-razmery-prilozheniy.html Платформа: разработка

Kotlin под капотом: нюансы использования аннотаций Kotlin очень лаконичный язык, но когда его код компилируется в Java byteco
Kotlin под капотом: нюансы использования аннотаций Kotlin очень лаконичный язык, но когда его код компилируется в Java bytecode, то изящные конструкции Kotlin распадаются на развесистые и монструозные конструкции Java. При этом применение аннотаций может сыграть с вами злую шутку. Статья: https://habr.com/ru/articles/774872/ Платформа: Android

В дополнение - Вы не так готовите Kingfisher, или как самураи работают с загрузкой изображений У самурая нет цели, есть только путь. И никакой самурай уж точно не станет изобретать велосипед, чтобы этот путь проехать. Вот и у меня нет цели дать готовый рецепт — только указать верное направление. В статье разберемся с тем, как использовать готовые решения, не допуская распространенных ошибок, на которые часто подталкивают авторы библиотек для загрузки и отображения картинок. Статья: https://habr.com/ru/articles/761772/

Kingfisher - одна из самых популярных и мощных Swift-библиотек для загрузки и кэширования изображений из Интернета. Она дает
Kingfisher - одна из самых популярных и мощных Swift-библиотек для загрузки и кэширования изображений из Интернета. Она дает возможность использовать чисто свифтовский способ работы с удаленными изображениями в вашем приложении. В ней есть асинхронная загрузка изображений, процессоры и фильтры, многоуровневое кеширование, плейсхолдеры, анимации переходов и многое другое. Kingfisher на GitHub: https://github.com/onevcat/Kingfisher Платформа: iOS ⭐️: 21.8K

Отладка представлений SwiftUI: что вызывает изменения? Представления SwiftUI с большим количеством триггеров перерисовки могу
Отладка представлений SwiftUI: что вызывает изменения? Представления SwiftUI с большим количеством триггеров перерисовки могут стать проблемой. Каждый @State, @ObservedObject или другой триггер может вызвать перерисовку представления и повлиять на динамику, например, на анимацию. В таких случаях особенно полезно знать, как отладить представление SwiftUI. Статья: https://apptractor.ru/info/articles/otladka-predstavleniy-swiftui-chto-vyzyvaet-izmeneniya.html Платформа: iOS

Новые API для адаптивных макетов в Jetpack Compose Мы выпустили первую альфа-версию наших новых адаптивных макетов Material.
Новые API для адаптивных макетов в Jetpack Compose Мы выпустили первую альфа-версию наших новых адаптивных макетов Material. В первую очередь мы остановились на компонентах ListDetailPaneScaffold и NavigationSuiteScaffold. Статья: https://apptractor.ru/info/articles/novye-api-dlya-adaptivnyh-maketov-v-jetpack-compose.html Платформа: Android

Пишем Kotlin DSL для графов навигации в домашних условиях Расскажу, как мы сделали свой DSL для того, чтобы строить логику на
Пишем Kotlin DSL для графов навигации в домашних условиях Расскажу, как мы сделали свой DSL для того, чтобы строить логику навигации в наших флоу. Статья: https://habr.com/ru/companies/tinkoff/articles/775288/ Платформа: Android

Курс "Генеративный ИИ для начинающих" от Microsoft В этом курсе авторы с нуля рассматривают концепции, которые позволят созда
Курс "Генеративный ИИ для начинающих" от Microsoft В этом курсе авторы с нуля рассматривают концепции, которые позволят создать свой собственный стартап в области генеративного искусственного интеллекта на базе Azure OpenAI Services. Благодаря этому вы получите представление о том, что нужно сделать, чтобы вывести свои идеи на публику и получить прибыль. В каждом уроке рассматривается один из ключевых аспектов принципов генеративного ИИ и разработки приложений. Сайт: https://microsoft.github.io/generative-ai-for-beginners/ Платформа: обучение

Exposed - это легковесная SQL-библиотека JetBrains поверх JDBC-драйвера для языка Kotlin. Exposed имеет два варианта доступа
Exposed - это легковесная SQL-библиотека JetBrains поверх JDBC-драйвера для языка Kotlin. Exposed имеет два варианта доступа к базам данных: типобезопасный SQL-обертка DSL и облегченный Data Access Objects (DAO). Exposed может быть использован для работы с различными движками баз данных, что позволяет создавать приложения, не зависящие от конкретной БД, и переключаться между ними с минимальными изменениями или вообще без них. Exposed на GitHub: https://github.com/JetBrains/Exposed Платформа: Android ⭐️: 7.6K

Строки в Swift выглядят одинаково, но не являются таковыми? Недавно я столкнулся с проблемой, которая вызвала у меня недоумен
Строки в 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 Pa
AcknowList - экран "Признательности", на котором отображается список лицензий, например, от зависимостей CocoaPods и Swift Package Manager. Может сам загружать список библиотек, поддерживает сториборды, темный режим, локализован на 13 языков, варианты UIKit и SwiftUI. AcknowList на GitHub: https://github.com/vtourraine/AcknowList Платформа: iOS ⭐️: 646

Листаем цифровые страницы: UIPageViewController Сегодня я хочу поделиться кратким и простым руководством о том, как просто и
Листаем цифровые страницы: UIPageViewController Сегодня я хочу поделиться кратким и простым руководством о том, как просто и программно реализовать UIPageViewController. Статья: https://habr.com/ru/articles/774108/ Платформа: iOS