AppFiles - Mobile Development – Telegram
AppFiles - Mobile Development
2.13K subscribers
2.76K photos
38 videos
11 files
3.69K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Kelp — IDE-плагин для кастомных дизайн-систем на Jetpack Compose

Я долго работал на Android View, но жизнь безапелляционно мотивировала меня перейти к дизайн-системам на Jetpack Compose. Мне стало не хватать некоторых фич Android Studio, которые были доступны только в Android View.

Статья: https://habr.com/ru/companies/ozontech/articles/847376/
Платформа: Android
7 мощных возможностей Kotlin, используемых продвинутыми разработчиками

Kotlin содержит множество мощных, но недостаточно используемых возможностей, таких как runCatching, герметичные интерфейсы, классы значений, buildList/buildMap, Modifier.composed, takeIf/takeUnless и кастомные итераторы. Овладев ими, вы сможете сделать свой код более безопасным, лаконичным и высокопроизводительным.

Статья: https://apptractor.ru/info/articles/7-moschnyh-vozmozhnostey-kotlin-ispolzuemyh-prodvinutymi-razrabotchikami.html
Платформа: Android
# Учишь Android месяцами, но найти работу так и не получается?

Часто вижу людей самостоятельно изучающих IT и Android в частности, но теряющихся в большом количестве материалов, не зная как начать и правильно продолжать.

Основная проблема людей, изучающих Android самостоятельно - это непонимание как правильно начать и что на самом деле нужно изучать для трудоустройства.

Для успешного освоения новой it-профессии необходимо иметь четкий план и фокус в обучении. Так чтобы не упускать важные нюансы и детали, о которых спрашивают на собеседованиях

Если хотите ускорить свой путь до первой работы и научиться создавать реальные проекты - подписывайтесь на канал Мерсиянов в IT. Автор уже 8 лет в IT и прошел путь с нуля до ведущего android разработчика.

В закрепе бесплатный план изучения android-разработки с нуля до оффера. Без воды, только то, что реально нужно для трудоустройства.

Подписывайтесь на канал, чтобы узнать как на самом деле устроена android-разработка, а не то, что рассказывают на стандартных курсах.
👍3👎2🤣21
CZAN - это дизайн система, названная в честь Поля Сезанна, знаменитого художника из Франциb, родного города разработчика. Она создана для приложений, использующих Compose Multiplatform, и построена на Material 3, системе дизайна Google с открытым исходным кодом.

CZAN следует методологии Atomic Design, где атомы, молекулы, организмы и шаблоны - это различные уровни дизайна, которые вы можете использовать для создания своего приложения.

CZAN на GitHub: https://github.com/Tweener/czan
Платформа: Android/кроссплатформа
⭐️: 58
😁1
Тактики ускорения билда: матиз, кобальт, камри 3.5

Разработчики часто игнорируют билд-тайм, пока он не превращается в проблему. Возможно, поставить утром сборку на 30 минут и пойти пить кофе — это круто, но я считаю, это неэффективно. Если представить человека, который постоянно пытается ускорить билд-тайм, то вот он: руки у него в копоти, потому что он по 50 раз запускал билд-тайм, и руки его горят.

Статья: https://habr.com/ru/articles/889548/
Платформа: iOS
ServerSocket для IPS в Android и примеры межпроцессного взаимодействия

Идея для статьи возникла из желания разобраться, как организовать общение между браузером и Android‑приложением для передачи данных. В поисках удобного решения я обратил внимание на ServerSocket — простой и гибкий способ локального взаимодействия без лишних сложностей.

Статья: https://habr.com/ru/companies/tbank/articles/889656/
Платформа: Android
😁2
Объединяем Compose и View: бесшовное взаимодействие с помощью CompositionLocal

При переходе на Compose наша команда столкнулась с рядом проблем, связанных с совместимостью, поскольку мы интегрировали новые композабл в существующую кодовую базу. Одним из ключевых препятствий было определение того, как вызывать события из Compose и отправлять их основному держателю представления, такому как Фрагмент или Активити.

После некоторых исследований мы нашли эффективное решение с использованием CompositionLocal. Вот как мы его реализовали.

Статья: https://apptractor.ru/info/articles/obedinyaem-compose-i-view.html
Платформа: Android
Производительный SwiftUI: используем UIKit

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

Статья: https://apptractor.ru/info/articles/proizvoditelnyy-swiftui-ispolzuem-uikit.html
Платформа: iOS
FeedKit - это библиотека Swift для чтения и генерации RSS, Atom и JSON фидов.

FeedKit на GitHub: https://github.com/nmdias/FeedKit
Платформа: iOS
⭐️: 1.2K
Урок ценой $115 000: чему меня научила разработка продукта с нуля

Последние пару лет в свободное от Настоящей Работы время я в роли CTO/соло-бэкендера участвовал в создании Stry — фитнес-стартапа с подписной моделью. Теперь, когда наша команда официально объявила о прекращении дальнейшего развития проекта, пришло время порефлексировать и поделиться полученным опытом. В этой статье я в двух словах представлю продукт, детально опишу архитектуру проекта и расскажу о наших (моих?) основных технических успехах и неудачах.

Статья: https://habr.com/ru/articles/889758/
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
Отслеживание угла горизонта на изображении с помощью фреймворка Vision

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

Этот запрос особенно полезен, когда нужно «выпрямить» фотографию, чтобы улучшить ее качество и реалистичность, особенно при съемке пейзажей или архитектурных сцен, где ровный горизонт имеет решающее значение для визуальной привлекательности.

Статья: https://apptractor.ru/info/articles/horizon-vision.html
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
KMP Liquid Search - анимированная поисковая строка для Compose. Поддерживает Android, iOS, Desktop, Web, есть множество настроек.

KMP Liquid Search на GitHub: https://github.com/mejdi14/KMP-Liquid-Search
Платформа: Android/кроссплатформа
⭐️: 21
👍2
Сборка ядра Android и модулей aircrack-ng

Думаю, кто читает эту статью, сталкиваются с проблемой драйверов для внешних устройств, в частности Wi-Fi адаптеров, таких как ALFA, TP-Link и других на чипсетах RTL. Здесь я опишу принципы компиляции ядер Samsung с использованием системы сборки Soong для Android-устройств, а также расскажу, как подготовить среду для компиляции и сборки ядра. Кроме того, я опишу, как скомпилировать внешние модули ядра aircrack-ng для мобильных устройств.

Статья: https://habr.com/ru/articles/890088/
Платформа: Android
Как я прошел Android-собеседования в Google, Amazon и Motorola

Недавно у меня была возможность пройти собеседование в трех ведущих компаниях:

• Google - Android Engineer
• Amazon - Android Engineer (Великобритания, Кембридж)
• Amazon - инженер Fire TV (Берлин)
• Motorola - Android Engineer

...и успешно прошел все из них! 🎉

В этом посте я расскажу о своей стратегии подготовки, задачах по программированию, а также об особенностях собеседования в каждой компании.

Статья: https://apptractor.ru/info/articles/kak-ya-proshel-android-sobesedovaniya-v-google-amazon-i-motorola.html
Платформа: Android
🤡7👍2
SwiftUIKit - это Swift SDK, который добавляет дополнительную функциональность в SwiftUI и Swift. Он содержит дополнительные компоненты, множество расширений нативных типов и многое другое.

SwiftUIKit может дать толчок вашей разработке и решить множество сложных проблем.

SwiftUIKit на GitHub: https://github.com/danielsaidi/SwiftUIKit
Платформа: iOS
⭐️: 1.6K
📺 Видео и подкасты за неделю на @AppFiles

(iOS Ru) Жизнь iOS разработчика в условиях санкций
(iOS En) iOS Architecture in the Era of SwiftUI
(iOS En) Publish Your macOS App Outside the App Store: Notarization, DMG, & Gumroad Guide
(iOS En) Responsive Chips Selection - Layout API - Resizable - iOS 16+
(iOS En) Xcode 16 Debugging Tutorial for Beginners
(iOS En) Mastering Enum-Driven Tab Views in SwiftUI: A Smarter Approach
(iOS En) From Top Bar To Sidebar With The sidebarAdaptable TabView Style
(And En) Now in Android: 114 - Google I/O 2025, Android Studio at 10, Android 16 Betas, and more
(And En) Develop for Android XR
(And En) Top 4 Security Best Practices for Your Android App
(And En) Fix Kotlin App Issues in Minutes - Stop Debugging the Hard Way!
(Crs Ru) Flutter Dev Podcast #50: Flutter на ОС Аврора
(Crs Ru) Полный разбор Kotlin Inject — Dagger для Kotlin Multiplatform
(Crs En) A Pragmatic approach to use Pattern Matching and Records in Flutter and Dart
(Crs En) How to manage global app events effectively on your Flutter app
(Dev Ru) Путь UX-исследователя — эмпатия vs аналитика, поиск респондентов и происшествия на интервью
(Dev Ru) От Junior до Senior: требования к грейдам и здоровье как скилл
(Dev Ru) Как проводить собеседования интересно и продуктивно
(Dev Ru) Зачем программисту знать лямбда исчисление
(Dev Ru) Мок интервью на позицию СТО

Что было год назад:

(iOS Ru) Моменты неотзывчивости iOS-приложений: как найти и исправить
(iOS Ru) Swift-уроки: cоздание горизонтального меню с индикатором
(And Ru) Собеседование по Kotlin (все собеседования)
(And Ru) Ultron — фреймворк для тестирования Android UI и Compose
(And Ru) Собираем грабли при профилировании Android-приложений
(Crs Ru) Коллекции во Flutter
(Dev Ru) Как принимать решения, строить команды и выбирать инструменты разработки — Павел Щедухин (Ozon Tech)
(Dev Ru) Публичное собеседование по System Design
(Dev Ru) Мобильная инфраструктура. Взгляд изнутри
(Dev Ru) BDUI – удовольствие или боль?
(Dev Ru) BDUI на 100%: управляем шиммерами с бэкенда
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
OpenNote - современное Android-приложение для ведения заметок со множеством полезных функций. Внутри Kotlin, Gradle с Kotlin DSL, MVVM, Чистая архитектура, Compose, Hilt, KSP, Room, Compose Navigation, Material 3 и CommonMark для работы с Markdown.

OpenNote на GitHub: https://github.com/YangDai2003/OpenNote-Compose
Платформа: Android
⭐️: 386
1
Формализация принципа Open/Closed: как сохранить обратную совместимость с помощью SOLID

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

Статья: https://habr.com/ru/companies/psb/articles/873612/
Платформа: iOS
👍1
Шпаргалка: Kotlin suspend функции

Пытаюсь лучше понять работу Kotlin Coroutine. Беру небольшую тему про Kotlin Coroutine и пытаюсь разобраться и написать шпаргалку. Сегодня про suspend функции.

Статья: https://habr.com/ru/articles/888932/
Платформа: Android
1
Go Cycling - это приложение-трекер для велосипедистов, созданное для iOS с помощью SwiftUI. Оно должно быть очень простым в использовании для велосипедистов любого уровня.

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

Go Cycling использует многие фреймворки и API Apple, включая:

• Core Location для данных о местоположении
• MapKit для встроенных карт
• Core Data для хранения данных о велосипедных маршрутах и предпочтениях пользователей
• CloudKit для хранения и синхронизации маршрутов, записей и предпочтений в iCloud
• Combine для обработки событий обновления местоположения

Go Cycling на GitHub: https://github.com/AnthonyH93/GoCycling
Платформа: iOS
⭐️: 155
👍3
Рендеринг пиксель-арта в SwiftUI

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

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

Статья: https://twocentstudios.com/2025/03/10/pixel-art-swift-ui/
Платформа: iOS

👍 если хотите эту статью на русском
1👍1