AppFiles - Mobile Development – Telegram
AppFiles - Mobile Development
2.12K subscribers
2.76K photos
38 videos
11 files
3.69K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
CoreDataEvolution - эта библиотека призвана упростить и улучшить работу Core Data с многопоточностью, черпая вдохновение из функции @ModelActor в SwiftData, обеспечивая эффективные, безопасные и масштабируемые операции.

В SwiftData появились современные функции параллелизма, такие как @ModelActor, что упростило обработку параллельного доступа к данным с гарантированной компилятором безопасностью. Однако требования SwiftData к платформе и ограниченная зрелость в некоторых областях удерживали многих разработчиков от его внедрения. CoreDataEvolution устраняет этот пробел, перенося передовой дизайн SwiftData в мир Core Data для разработчиков, которые все еще полагаются на Core Data.

CoreDataEvolution на GitHub: https://github.com/fatbobman/CoreDataEvolution
Платформа: iOS
⭐️: 26
iOS 18 для разработчиков: Ключевые изменения в UIKit

Меня зовут Лена, я работаю iOS-разработчиком в KTS. Недавно вышла новая версия iOS 18, и я решила подробно изучить все нововведения, чтобы понять, какие новые возможности она предлагает разработчикам. В этой статье расскажу и покажу самые интересные обновления в UIKit — новый TabBar, анимации, совместимость UIKit/SwiftUI и многое другое.

Статья: https://habr.com/ru/companies/kts/articles/852764/
Платформа: iOS
Восстанавливаем удалённые сообщения в Telegram

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

Статья: https://habr.com/ru/articles/852902/
Платформа: Android
Правда ли, что приложения для Android намного меньше, чем для iOS?

На первый взгляд это правда! Размер, который мы видим в магазине приложений для iOS, почти всегда в разы больше размера Android-аналога в Google Play Store.

Но что, если я скажу вам, что размеры приложений для Android больше, чем может показаться на первый взгляд?

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

Статья: https://apptractor.ru/develop/pravda-li-chto-prilozheniya-dlya-android-namnogo-menshe-chem-dlya-ios.html
Платформа: iOS/Android
👍1
Lawnchair - это бесплатный открытый лаунчер для Android. Взяв за отправную точку Launcher3 - домашнее приложение Android по умолчанию, он переносит функции Pixel Launcher и предоставляет богатые возможности для настройки.

Главные фичи:
• Pixel Launcher-подобный пользовательский интерфейс с дизайном Material You
• Виджет At a Glance с поддержкой Smartspacer
• Поддержка QuickSwitch
• Поддержка глобального поиска
• Настройка иконок, шрифтов и цветов

Lawnchair на GitHub: https://github.com/LawnchairLauncher/lawnchair
Платформа: Android
⭐️: 9.4K
Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 5 (4, 3 ,2, 1)

В этой статье мы рассмотрим:

8. Избегайте жесткого прописывания диспетчеров корутинов
9. Проводите модульное тестирование своих ViewModel
10. Избегайте раскрытия suspended функций

Статья: https://apptractor.ru/info/articles/osvaivaem-viewmodel-v-android-mozhno-i-nelzya-chast-5.html
Платформа: Android
Реализуем Face ID аутентификацию в iOS-приложении

В этой статье мы рассмотрим процесс интеграции Face ID в приложения для iOS, чтобы повысить безопасность и удобство использования.

Статья: https://apptractor.ru/info/articles/realizuem-face-id-autentifikatsiyu-v-ios-prilozhenii.html
Платформа: iOS
Paralayout - это набор простых, полезных и понятных утилит, которые обеспечивают пиксельно идеальную верстку в iOS. С их помощью вы просто и быстро сможете определять размеры, взаимное отношение и распределение представлений на экране.

Paralayout на GitHub: https://github.com/square/Paralayout
Платформа: iOS
⭐️: 786
React Native полностью переделан

После 6 лет разработки команда React Native представила полностью переписанную архитектуру фреймворка (0.76) – самое значительное обновление с момента создания React Native. Это результат масштабной работы над улучшением производительности, стабильности и возможностей платформы.

Статья: https://habr.com/ru/articles/854348/
Платформа: кроссплатформенная разработка
Как написать Android приложение, которое не будет стыдно положить в портфолио. Гайд для новичков в Android разработке

В этом гайде мы напишем с вами Android-приложение с нуля, используя лучшие архитектурные подходы – Clean Architecture и MVVM с элементами MVI, они обеспечат поддерживаемость, тестируемость и масштабируемость приложений, что особенно важно для сложных и долгосрочных проектов..

Статья: https://habr.com/ru/articles/854450/
Платформа: Android
Поиск регрессий в Compose

В этой статье мы создадим приложение, добавим регрессии и сравним версию до и после с помощью Perfetto и Diffetto.

Статья: https://apptractor.ru/info/articles/poisk-regressiy-v-compose.html
Платформа: Android
Compose Unstyled - нестандартные компоненты для Jetpack Compose и Compose Multiplatform, которые вы можете настроить по своему усмотрению. Есть Bottom Sheet, диалоги, выпадающие меню, иконки, облапсть со скроллингом, меню с кнопками. Реализована полная доступность, работают на декстопах, Web (Js/WASM), Android, iOS и любой другой платформы, на которой может работать Compose.

Compose Unstyled на GitHub: https://github.com/composablehorizons/compose-unstyled
Платформа: Android/кроссплатформа
⭐️: 362
Делаем в SwiftUI размытие экрана при переключении задачи

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

Статья: https://apptractor.ru/info/articles/delaem-v-swiftui-razmytie-ekrana-pri-pereklyuchenii-zadachi.html
Платформа: iOS
Главный метод Android-приложения

Я Саша, старший Android-разработчик в Авито, ранее работал в Яндексе и Kaspersky. Пишу о разработке и всём, что с ней связано, в своем телеграм-канале. Сейчас поговорим немного про главный метод и про процесс Android-приложения.

Если вы когда-нибудь писали «Hello World» на Java (или любом другом C-подобном языке), то наверняка делали это в статическом методе main. Этот метод вызывается в JVM и является точкой входа любой Java программы.
public static void main(String[] args)

Но при разработке приложений для Android вы возможно, как и я до недавнего времени, ни разу метод main не встречали. Создается ощущение, что его вообще не существует, а при нажатии на иконку в лаунчере наши Application и Activity создаются какими-то волшебными гномами, спрятанными в устройстве.

Статья: https://habr.com/ru/articles/854726/
Платформа: Android
Geometrize - библиотека Swift для воссоздания изображений в виде геометрических примитивов.

Geometrize на GitHub: https://github.com/valeriyvan/swift-geometrize
Платформа: iOS
⭐️: 17
Лучшие клавиатуры 2024

Здесь есть компактные беспроводные клавиатуры, предназначенные для использования дома, механические клавиатуры, которые подходят для продуктивной работы и игр, и полностью игровые клавиатуры с RGB-подсветкой и высокопроизводительными переключателями, которые дадут вам преимущество перед конкурентами.

Статья: https://devnotebooks.ru/best-keyboard-2024/
Платформа: устройства
Задачи с собеседований: Leetcode — Наибольший общий префикс

Напишите функцию для поиска самой длинной строки с общим префиксом среди массива строк.

Если общего префикса нет, верните пустую строку.

Пример:

Ввод: strs = [«flower»,»flow»,»flight»]
Вывод: «fl»

Пример:

Вход: strs = [«dog»,»racecar»,»car»]
Выходные данные: «»
Пояснения: среди входных строк нет общего префикса.

Статья: https://apptractor.ru/develop/coding/zadachi-s-sobesedovaniy-leetcode-naibolshiy-obschiy-prefiks.html
Платформа: программирование
👍3
FilmSimulator - это кроссплатформенное мобильное приложение, разработанное с использованием Kotlin Multiplatform и Compose UI Multiplatform. Оно работает на Android и iOS и позволяет пользователям применять различные LUT (Look-Up Tables) к своим изображениям, создавая уникальную эстетику, напоминающую классические стили кино. Технологический стек: MVVM, Compose UI, Material3, Compose Resources, FFMPEG-Kit, SQLDelight, Ktor, Voyager Navigation, Koin DI, Peekaboo Image Picker, Okio и т.д.

FilmSimulator на GitHub: https://github.com/YahiaAngelo/Film-Simulator
Платформа: Android/кроссплатформа
⭐️: 28
1
Красота системы типов Kotlin

С Any в качестве верхнего типа, Nothing в качестве нижнего типа и Optional в стороне, я надеюсь, что вы так же найдете систему типов Kotlin приятной и красивой.

Статья: https://apptractor.ru/info/articles/krasota-sistemy-tipov-kotlin.html
Платформа: Android
👍3🥴2
Малоизвестные фичи SwiftUI

Я уже 2 месяца прохожу обучение в онлайн‑школе и у нас на этой неделе был открытый урок, нужно было подготовить доклад на тему «Малоизвестные фичи или особенности языка Swift»

Так вот — я решила погуглить этот вопрос, подготовилась, написала код. Но когда дело дошло до самого выступления, оказалось, что говорить ртом — это не так‑то и просто. Да и в целом выступать, даже в Zoom.

Тем не менее, поделюсь с вами маленькими фишечками, которые я нашла. Уровень легкий, в отличие от меня там ребята подготовили нормальные доклады про SPM и пр. Я же решила начать с простых вещей, которые, тем не менее, мне были неизвестны. Надеюсь кому‑то тоже окажется полезным.

Статья: https://habr.com/ru/articles/855484/
Платформа: iOS
👍1