AppFiles - Mobile Development
2K subscribers
2.55K photos
33 videos
8 files
3.43K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Видео и подкасты за неделю

• (iOS Ru) Distributed actors и где они обитают
• (iOS En) TipKit - iOS 17 - SwiftUI
• (iOS En) OSLog and Logger
• (iOS En) Radial Layout With Gestures - SwiftUI
• (iOS En) Inout Parameters and Mutating Functions
• (iOS En) How to master Combine like a Pro – The Basics
• (iOS En) SwiftUI NavigationStack Hero Animation Effect - Custom Matched Geometry Effect
• (And Ru) Секретная фича в Android Studio: логируем, пока дебажим, не меняя сам код
• (And En) Now in Android: 87 - Android 14 Beta 4, Google Play policy update, and Compose Performance
• (And En) What's new in Android Studio - Giraffe
• (And En) Text Fields - UX With Material3
• (And En) Buttons - UX With Material3
• (Crs Ru) Кодогенерация для Flutter: что, как и зачем
• (Crs En) Build an iOS & Android app in 100% Kotlin with Compose Multiplatform
• (Dev Ru) Ozon Tech Intro Meetup: как работают системы поиска, рекомендаций и рекламы
• (Dev Ru) На шаг ближе к метавселенной, или Как мы оживили аватары пользователей в VK Звонках
• (Dev Ru) Как сделать аналог Firebase App Distribution
• (Dev Ru) Алгоритмическое собеседование в Яндекс в прямом эфире
• (Dev Ru) Постоянные отказы на собеседованиях: что мне делать
• (Dev En) The ultimate guide to A/B testing


Посмотрели какое-то другое интересное видео? Отправьте боту🧑🏻‍💻
Цель Compose Adaptive Scaffold - облегчить написание приложений Jetpack Compose, поддерживающих большие экраны и складные устройства.

В основе библиотеки лежит идея двух панелей, называемых body и secondary body. Для небольших экранов предусмотрены альтернативные варианты (или вариации), называемые small body и small secondary body (последняя опциональна). В зависимости от компоновки экрана пары body и small body, а также secondary body и small secondary body могут даже совпадать. Под капотом Compose Adaptive Scaffold использует Jetpack WindowManager для обеспечения полной поддержки больших экранов. Просто предоставьте композабл body и secondary body - все остальное будет обработано автоматически.

Compose Adaptive Scaffold на GitHub: https://github.com/tkuenneth/compose_adaptive_scaffold
Платформа: Android
⭐️: 74
Что порой кроется за «успехом»

Хочу рассказать вам свой путь в поиске новой работы в 2023 году и поддержать тех, кто сейчас проходит через это. За 6 месяцев я собеседовался в 25 компаний, прошел 54 этапа (а какие-то не прошел), получил 2 оффера и в итоге один из них принял. Если вы сейчас в поиске работы, эта статья будет для вас глотком свежего воздуха. Если же вы матерый специалист, устраивающий процессы онбординга в своей компании, вам это может быть интересно с другой стороны.

Статья: https://habr.com/ru/articles/751284/
Платформа: Android/работа
❤‍🔥1
Разбираю Swift Runtime на детали

Наверное, вы уже использовали словосочетание «Библиотека Runtime». Можно предположить, что это и есть какая-то библиотека, а значит — у неё есть исходный код. Очевидно, что он находится в репозитории Swift.

Идём туда и видим кучу-кучу-кучу каталогов файлов. Когда я туда попал, почувствовал себя как маленький малыш Йода — стало немножко страшно и неуютно.

Статья: https://habr.com/ru/companies/alfa/articles/750348/
Платформа: iOS
iTorrent - torrent-клиент для iOS. Умеет скачивать файлы в фоновом режиме, последовательно загружать (можно смотреть фильмы в процессе загрузки), сохранять файлы в приложении Файлы (iOS 11+), отправлять уведомления при окончании загрузки и многое другое.

iTorrent на GitHub: https://github.com/XITRIX/iTorrent
Платформа: iOS
⭐️: 1.5K
👍4
Прикладное adb (Android Debug Bridge) для зумеров

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

В этой инструкции хочу рассказать о командах adb, которые использовать легче, чем делать то же самое через UI Android Studio или настройки Android.

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

Статья: https://habr.com/ru/articles/751092/
Платформа: Android
Добавляем обучающие моменты в приложения с помощью TipKit

Сделав в прошлом несколько систем онбординга, я с нетерпением ждал появления этой функции на WWDC 2023. Я был несколько разочарован, когда версия за версией Xcode не содержал фреймворка TipKit. К счастью, в Xcode 15 beta 5 (выпущенной вчера вечером) появился соответствующий фреймворк и документация, позволяющие мне интегрировать подсказки в собственные приложения.

Статья: https://apptractor.ru/info/articles/tipkit.html
Платформа: iOS
Stable Diffusion AI - это простое в использовании приложение, позволяющее быстро генерировать изображения из текста или других изображений с помощью всего нескольких щелчков мыши. С помощью этого приложения можно взаимодействовать с собственным сервером (можно использовать две серверные среды, Txt2Img и Img2Img модели) и генерировать высококачественные изображения за считанные секунды.

Stable Diffusion AI на GitHub: https://github.com/ShiftHackZ/Stable-Diffusion-Android
Платформа: Android
⭐️: 153
1
Лучший спутник в вашем творческом процессе: Android Studio Bot VS ChatGPT для разработчиков

Недавно Google анонсировала Android Studio Bot — нового чат‑помощника для нативной андроид разработки. Кроме генерации ответов на вопросы он обладает дополнительным набором фичей, предназначеннных на порядок облегчить работу разработчику. В этой статье мы разберём, на что способен новый инструмент от Google, сравним его с нашумевшим ChatGPT и выясним, сделает ли он вас эффективнее при решении повседневных задач.

Статья: https://habr.com/ru/companies/joydev/articles/743004/
Платформа: Android
visionOS 30 Days - набор из 30 уроков разработки для visionOS. Текстов и описаний почти нет, есть видео и исходники, сам автор “живет” и постит их в Twitter.

visionOS 30 Days на GitHub: https://github.com/satoshi0212/visionOS_30Days
Платформа: iOS
⭐️: 638
Оптимизация анимации на Compose: крутим лоадеры, ищем неочевидные функции

Android-разработчик red_mad_robot Серёжа Чумиков рассказывает о том, как сделать классную анимацию, не перегрузив смартфон, почему ей не нужна рекомпозиция и как её избежать.

Статья: https://habr.com/ru/companies/redmadrobot/articles/751976/
Платформа: Android
Улучшаем UX: cоздание аватаров по умолчанию в SwiftUI

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

Статья: https://thecuriousdev.medium.com/elevate-user-experience-create-default-avatars-in-swiftui-177117000c0e
Платформа: iOS
AI Companion App - это обучающий стек для создания и размещения AI-компаньонов, с которыми можно общаться в браузере или даже по SMS. Он позволяет определить личность и предысторию собеседника, а также использует векторную базу данных с поиском сходства для извлечения данных и подсказок, что делает беседу более глубокой. Кроме того, он обеспечивает некоторую память разговоров, сохраняя их в очереди и включая в подсказки.

В настоящее время он содержит собеседников как на ChatGPT, так и на Vicuna, размещенной в Replicate.

Существует множество вариантов использования этих собеседников - романтические (AI-подруги/парни), дружеские, развлекательные, обучающие и т.д. Вы можете направить своего компаньона к идеальному варианту использования с помощью написанной вами предыстории и выбранной вами модели.

Этот проект задуман исключительно как учебник для разработчиков и стартовый стек для тех, кому интересно, как создаются чат-боты. Если вас интересует, как выглядит готовая платформа с открытым исходным кодом, обратите внимание на Steamship. Если же вам интересно, как выглядят ведущие платформы для чат-ботов с искусственным интеллектом, обратите внимание на Character.ai.

AI Companion App на GitHub: https://github.com/a16z-infra/companion-app
Платформа: разработка/ИИ
⭐️: 5K
Видео и подкасты за неделю

• (iOS Ru) Кто ты, SwiftData
• (iOS Ru) GC, ARC, RAM. Часть 3. iOS
• (iOS Ru) Поле для ввода кода доступа
• (iOS Ru) Coffee&Code #9: Николай Трухин, молодой синьор-разработчик из Белграда
• (iOS En) What I've learned implementing Swift Macros: 5 takeaways
• (iOS En) SwiftUI Animated Tags View - Layout API
• (iOS En) SwiftData Basics Tutorial: How to Easily Persist Data in SwiftUI
• (iOS En) How to format physical units in Swift using MeasurementFormatter
• (iOS En) SharePlay - Turn your app experience into a shared experience
• (iOS En) SwiftUI: Scroll to Hide Tab Bar
• (And Ru) Как Google победил фрагментацию в Android
• (And Ru) Инди-разработка Android-приложений: боли, идеи и заработок
• (And En) Fixing touch target size in PLR
• (And En) Live Edit for Jetpack Compose
• (And En) Android Studio Giraffe stable release, New Samsung foldables, and more dev news!
• (And En) Top App Bar (Toolbar) - UX With Material3
• (And En) Selection UI Components (Checkboxes, Switches, Radio Buttons) - UX With Material3
• (And En) Android Worldwide July 2023
• (Crs Ru) Как мы сделали онлайн-редактор кода на Flutter
• (Crs En) Firebase Analytics in Flutter app
• (Crs En) Scale McDonald’s with KMM
• (Dev Ru) Мифы и легенды о безопасности мобильных приложений
• (Dev Ru) Avito Security Meetup
• (Dev Ru) Podlodka #329: с чего начинается Big Data

Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻‍💻
1
BDUI, многошаг и Backend Driven аналитика

Привет, меня зовут Анна Саботович, я техлид в Альфа-Банке (команда платежей и переводов), отвечаю за развитие BDUI платформы на Android. Я покажу, как мы внедрили аналитику в контракт экранов на BDUI и как связали их с трекерами. Расскажу, с какими сложностями мы столкнулись по пути, какие ограничения предусмотрели и какие задачи положили в бэклог. Вы узнаете, как применяем BDUI в Альфа-Банке, и как собираем продуктовую аналитику, когда пользователь взаимодействует с экраном BDUI.

Статья: https://habr.com/ru/companies/alfa/articles/752068/
Платформа: разработка
🔥21
App Store Connect Swift SDK - Swift SDK для работы с App Store Connect API. С его помощью можно управлять встроенными покупками и подписками, отзывами на приложения, создавать новые версии приложения, отправлять билды в TestFlight и и т.п.

App Store Connect Swift SDK на GitHub: https://github.com/AvdLee/appstoreconnect-swift-sdk
Платформа: iOS
⭐️: 1.2K
Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android

Для многих разработчиков приложений далеко не секрет, что экосистема Android не предполагает написание полностью нативных приложений: в этой платформе очень многое завязано на Java и без ART можно запустить только простые службы без какого-либо интерфейса. Однако, есть один способ писать практически под «голый» Linux, не перекомпилируя ядро и при этом пользоваться самыми интересными фишками устройства без оверхеда в виде тяжелого Android: ускорение 3D-графики (OpenGLES), микшер звука, ввод с различных устройств, OTG, Wi-Fi и если очень постараться — даже 3G. Это открывает множество разных интересных применений старым устройствам: «железо» смартфонов зачастую гораздо мощнее современных недорогих одноплатников. Сегодня я покажу вам, как написать и запустить программу, которая полностью написанное на C без Android, на No-Name Android-смартфоне практически без модификаций.

Статья: https://habr.com/ru/companies/timeweb/articles/751604/
Платформа: Android
Sticky Header в SwiftUI

В этой статье я бы хотел рассказать свой опыт создания липких заголовков или Sticky Header с использованием SwiftUI (в дальнейшем SUI).

Мы сделаем с вами такой кастомный хедер, а так же вы поймете как мы можем получать доступ к UIKit-овой изнанке SwiftUI.

Статья: https://habr.com/ru/articles/752670/
Платформа: iOS
😁1
FeedFlow - это минималистичный RSS-ридер, который доступен на Android, iOS и macOS.

Имеющаяся у вас коллекция RSS может быть легко импортирована: FeedFlow предлагает полную и удобную возможность импорта и экспорта через файлы OPML.

FeedFlow построен с использованием Jetpack Compose, Compose Multiplatform и SwiftUI. Вся логика разделяется с помощью Kotlin Multiplatform. FeedFlow использует RSSParser, библиотеку парсинга RSS, которую автор создал для Android и которая теперь стала мультиплатформенной.

FeedFlow на GitHub: https://github.com/prof18/feed-flow
Платформа: iOS/Android/кроссплатформа
⭐️: 81
1
Одна наша ошибка в модуляризации iOS-приложения, которая замедлила процесс сборки в Xcode

Полгода назад я обновил свой рабочий ноутбук с обычного Macbook Pro с чипом M1 на Macbook Pro с чипом M1 Pro. Почувствовав себя вдохновленным, первое, что я сделал после настройки — скомпилировал свою рабочую кодовую базу, ожидая определенного скачка производительности в более быстром создании приложений. Однако этого не случилось… Я был шокирован тем, что разница оказалась не такой большой, как я ожидал. 🤔

Статья: https://apptractor.ru/develop/odna-nasha-oshibka-v-modulyarizatsii-ios-prilozheniya-kotoraya-zamedlila-protsess-sborki-v-xcode.html
Платформа: iOS