AppFiles - Mobile Development – Telegram
AppFiles - Mobile Development
2.12K subscribers
2.76K photos
38 videos
11 files
3.69K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Принятие SwiftUI (да и вообще любой новой технологии)
1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем анимацию печати текста на печатной машинке в SwiftUI

Анимация текста может значительно улучшить впечатления пользователя от приложения, добавив ему динамичности и интерактивности. Одним из особенно интересных эффектов является анимация печатной машинки, когда текст появляется символ за символом, как будто его набирают в режиме реального времени. Например, такая анимация особенно актуальна для платформ чатов с искусственным интеллектом. На самом деле, я использовал именно эту анимацию в процессе регистрации в своем приложении Catzumi, создавая ретро-стиль и запоминающееся первое впечатление для новых пользователей.

Статья: https://apptractor.ru/info/articles/sozdaem-animatsiyu-pechati-teksta-na-pechatnoy-mashinke-v-swiftui.html
Платформа: iOS
Kotlin Multiplatform Developer Roadmap предлагает путь обучения для понимания мультиплатформенной разработки на Kotlin, включая соответствующие библиотеки и технологические стеки по различным темам. Каждый узел представляет ключевые аспекты Kotlin Multiplatform, включая концепции платформы, SDK, часто используемые библиотеки и практические решения.

Kotlin Multiplatform Developer Roadmap на GitHub: https://github.com/skydoves/kmp-developer-roadmap
Платформа: Android/кроссплатформа
⭐️: 289
iOS Performance Optimization - этот проект предлагает базовые знания и рекомендуемые ресурсы по оптимизации производительности iOS-приложений. Основные темы: уменьшение размера приложения, сокращение времени сборки, сокращение времени запуска приложения, оптимизация рантайма, зависания приложения, использование памяти, CI.

iOS Performance Optimization на GitHub: https://github.com/hoangatuan/iOS-Performance-Optimization
Платформа: iOS
⭐️: 40
🔥2
Тесты для функций Compose в Android

Представьте себе мир, где каждый раз, когда вы вносите изменения в код вашего приложения, вы уверены, что ничего не сломалось. Где ошибки обнаруживаются еще до того, как пользователи успеют их заметить. Где ваш код не только работает, но и документируется автоматически, улучшая архитектуру проекта с каждым тестом. Звучит как мечта? На самом деле это реальность, если вы правильно используете тесты. В этой статье мы погрузимся в мир тестирования Android-приложений с использованием Jetpack Compose, рассмотрим различные виды тестов и научимся настраивать и писать инструментальные тесты для ваших Compose функций.

Статья: https://habr.com/ru/articles/850588/
Платформа: Android
Антипаттерны Code Review

Code Review кажется отличной идеей, верно? Два разработчика, просматривающие один и тот же код, имеют в два раза больше шансов обнаружить проблемы. Это распространяет понимание того, как развивается проект. Рецензент может узнать полезные приемы, подробно читая код автора, или найти возможность научить автора полезному приему, который он еще не знал.

Что может пойти не так?

Статья: https://apptractor.ru/info/articles/antipatterny-code-review.html
Платформа: разработка
1
Вычисление семантического расстояния между словами с помощью Natural Language Framework

Такие фрагменты текста естественного языка, как слова и предложения, могут иметь семантическое сходство между собой. На этой концепции основано большинство подсказок, и она реализуется с помощью класса NLEmbedding фреймворка Natural Language.

Обработка естественного языка позволяет компьютерам понимать человеческий язык и взаимодействовать с ним. Она помогает обрабатывать и анализировать текстовые данные, извлекать значимую информацию и определять взаимосвязи между словами и фразами. Класс NLEmbedding обеспечивает возможность структурированного отображения и анализа этих связей.

Статья: https://apptractor.ru/info/articles/vychislenie-semanticheskogo-rasstoyaniya-mezhdu-slovami-s-pomoschyu-natural-language-framework.html
Платформа: iOS
2
This media is not supported in your browser
VIEW IN TELEGRAM
Loaders - два индикатора прогресса/лоадера для Jetpack Compose. Есть шестеренки и паззл, который открывает картинку.

Loaders на GitHub: https://github.com/EranBoudjnah/Loaders
Платформа: Android
⭐️: 59
Tuist: добавляем генерацию проекта в текущее приложение

Знаете, что объединяет всех iOS-разработчиков, работающих над крупными проектами? Все мы когда-то сталкивались с этим старым знакомым — файлом .xcodeproj, который хранит в себе десятки, а то и сотни конфликтов после каждого merge. Мы тоже жили с этой проблемой много лет, пока не нашли решение.

Знакомьтесь, Tuist — инструмент, который кардинально изменил наш подход к управлению проектами. Он не только помогает избежать конфликтов, но и автоматизирует генерацию ключевых компонентов, значительно облегчая команде жизнь.

Если у вас всё еще сохранился этот «реликт прошлого», то, возможно, наш опыт поможет вам наконец-то избавиться от него. Давайте разберемся, как это сделать.

Статья: https://habr.com/ru/companies/cian/articles/847688/
Платформа: iOS
Компьютерное зрение на C++: пишем приложение для поиска объектов под Android

Расскажу, как реализовать обнаружение объектов в реальном времени с помощью камеры на мобильной платформе Android с использованием библиотек PyTorch и NCNN и моделей компьютерного зрения YOLOv5 и YOLOv4. Шаблон моего приложения пригодится тем, кто хочет проверить прототип функциональности для компьютерного зрения на С++, использующий OpenCV на Android, но не хочет глубоко погружаться в программирование под Android.

Статья: https://habr.com/ru/companies/yadro/articles/850786/
Платформа: Android
Как мы улучшили производительность навигации на Android на 30%

В 2019 году команда Yelp Core Android начала работу по повышению производительности навигации в приложении Yelp для потребителей. Мы перешли от создания экранов с несколькими отдельными Активити к использованию фрагментов внутри одной Активити. В этой статье мы расскажем о нашем решении, о нашем подходе к миграции, и поделимся выводами, сделанными на этом пути, а также достигнутыми успехами.

Статья: https://apptractor.ru/info/articles/kak-my-uluchshili-proizvoditelnost-navigatsii-na-android-na-30.html
Платформа: Android
AppFiles - Mobile Development
Как мы улучшили производительность навигации на Android на 30% В 2019 году команда Yelp Core Android начала работу по повышению производительности навигации в приложении Yelp для потребителей. Мы перешли от создания экранов с несколькими отдельными Активити…
Ускоряем работу приложения с помощью сжатия с общим словарем

Несмотря на то, что с каждым релизом iPhone становятся все быстрее и быстрее, сетевые задержки остаются постоянным препятствием на пути пользователя. Скорость доставки информации к месту назначения ограничена скоростью света, и во многих случаях на этом пути возникают дополнительные замедления (3G-соединения, туннели метро, спутниковый интернет и т.д.). Сокращение размера передаваемых данных по-прежнему приносит пользу пользователям, и поэтому мы рассмотрим относительно новую технику — «сжатие с общим словарем» (shared dictionary compression). Хотя эта техника уже давно используется в таких компаниях, как Google и Amazon, в последнее время она получила широкое распространение в сообществе разработчиков. В основном это касается браузеров, но в этой статье я покажу, как можно легко использовать сжатие с общим словарем в приложениях для iOS.

Статья: https://apptractor.ru/info/articles/uskoryaem-rabotu-prilozheniya-s-pomoschyu-szhatiya-s-obschim-slovarem.html
Платформа: автор говорит, что iOS, но вообще ничего специфичного там нет, поэтому разработка
iOS Swift for VS Code - разрабатывайте, собирайте, отлаживайте и тестируйте свои проекты в VS Code с помощью ваших любимых расширений. Поддерживает iOS/MacOS/WatchOS/VisionOS/TvOS, есть автодополнение Swift/Objective-C/C++ кода, совместимость с CodeLLDB, поддержка проектов/воркспейсов, парсинг логов и отображение ошибок.

iOS Swift for VS Code на GitHub: https://github.com/fireplusteam/ios-swift-for-vs-code
Платформа: iOS
⭐️: 21
👍2😨1
Lets-Plot - это мультиплатформенная библиотека JetBrains для черчения, построенная на принципах Грамматики Графики. «Грамматика графики» - работа Леланда Уилкинсона, описывающая глубинные особенности, которые лежат в основе всей статистической графики: “Эта грамматика [...] состоит из набора независимых компонентов, которые могут быть составлены множеством различных способов. Это делает [ее] очень мощной, потому что вы не ограничены набором заранее заданных графиков, а можете создавать новые графики, точно подходящие для решения вашей задачи”. Lets-Plot работает с Python, Kotlin и Compose Multiplatform.

Lets-Plot на GitHub: https://github.com/JetBrains/lets-plot
Платформа: Android
⭐️: 1.6K
Корзина в Додо Пицце на iOS 14: баг длиной в полгода

Меня зовут Лёша Берёзка. Я iOS техлид в Додо Пицце. Сегодня я расскажу вам историю о том, как внимательность и упорство творят чудеса, и помогают решать задачи, на которые другие бы просто забили.

Статья: https://habr.com/ru/companies/dododev/articles/843216/
Платформа: iOS
Динамические модули в приложениях на Android: опыт использования Dynamic Feature Delivery

Для внедрения одной из SDK, основанной на Flutter, мы прибегли к механизму Dynamic Feature Delivery (DFD). Но оказалось, что в русскоязычном сегменте информации о DFD крайне мало, поэтому я решил поделиться нашим опытом работы с этим механизмом на Android с Google Play Feature Delivery Library. Также мы нашли способ интегрировать динамические фичи на устройства без Google Play, но это тема для отдельной статьи, поэтому в рамках данного материала я на этом останавливаться не буду.

Сегодня мы подробно разберём, как интегрировать механизм DFD в современную архитектуру Android‑приложения с использованием корутин, а также протестируем загрузку и установку динамического модуля, использующего Flutter.

Статья: https://habr.com/ru/companies/yandex/articles/845344/
Платформа: Android/Flutter
This media is not supported in your browser
VIEW IN TELEGRAM
PIPKit - библиотека для реализации картинки-в-картинке на iOS (iPhone, iPad).

PIPKit на GitHub: https://github.com/Kofktu/PIPKit
Платформа: iOS
⭐️: 281
Макросы в Swift: Практическое руководство по использованию

Недавно я столкнулся с задачей, которая требовала написания большого объема шаблонного кода. Вспомнив, что в Swift 5.9 появились макросы, созданные специально для генерации шаблонного кода, я решил попробовать их в действии. Ранее я работал с макросами в Objective-C и C++, поэтому ожидал увидеть нечто похожее. Однако, поискав информацию, я понял, что макросы в Swift — это совсем другое, не похожее на то, что я встречал в других языках.

Статья: https://habr.com/ru/articles/852118/
Платформа: iOS
Забудьте про терминал! Как я избавлялся от рутинных ADB команды с помощью Shortcuts

До этого года я спокойно пользовался терминалом для установки приложений на тестовые устройства android: каждый раз вручную копировал название файла, выбирал нужную команду из истории терминала, стирал старое название и вставлял новое. Это меня очень раздражало, но я не искал решений. А ведь кроме установки, есть множество других команд ADB, которые приходится использовать время от времени. Например, выгрузка последних логов из logcat на компьютер, для чего тоже нужно было прописывать путь для сохранения файла — очень неудобно и отнимает драгоценное время.

Так продолжалось, пока коллега не принесла автоматизированный сценарий в Automator на Mac. Классная вещь, которая позволяет создавать автоматизированные процессы без глубоких знаний программирования. Однако, с пачкой минусов, из-за которых, я в итоге оставил только идею и переписал всё на Shortcuts.

Так что сегодня будем делать такую штуку с помощью быстрых команд, которую можно будет легко масштабировать под разные часто используемые команды adb.

Статья: https://habr.com/ru/articles/852114/
Платформа: Android
🤔1
Модульная навигация в SwiftUI: Исчерпывающее руководство

Недавно я начал создавать проект SwiftUI. Цель, которую я хочу достичь, - создать проект, который можно будет использовать в качестве эталона для создания больших production приложений.

С этой целью я решил применить в проекте Модульную и Чистую архитектуры.

В процессе реализации проекта я столкнулся с некоторыми проблемами с навигацией. Также я не нашел онлайн-решений, которые могли бы удовлетворить все мои запросы. В этой статье я расскажу о проблемах с навигацией, с которыми я столкнулся в проекте, и о том, как я их решил.

Статья: https://ericsspace.com/articles/modular-navigation-in-swiftui-a-comprehensive-guide/
Платформа: iOS

Поставьте 10 лайков, если хотите эту статью на русском
👍9