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

• (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
Наддув непрерывной интеграции с помощью Gradle

В предыдущей статье моего коллеги Тони Робалика мы рассмотрели проблемы управления обширным Gradle-проектом. Тогда мы рассказали о сложностях, с которыми столкнулись Android-разработчики Square, когда они управляли проектом, состоящим из более чем 3500 модулей. С тех пор наш проект вырос еще больше и теперь включает в себя более 5 000 модулей. В этой статье мы рассмотрим, как этот рост влияет на наш рабочий процесс. Для сравнения, среднее время выполнения сборок в CI за последние 6 месяцев составило около 65 минут на одну сборку.

Статья: https://developer.squareup.com/blog/supercharging-continuous-integration-with-gradle/
Платформа: Android
CloudStream - приложение для стриминга и загрузки медиа. Без рекламы, без трекинга, есть поддержка телефонов, ТВ и Chromecast, поддерживает расширения.

CloudStream на GitHub: https://github.com/recloudstream/cloudstream
Платформа: Android
⭐️: 4.2K
🔥2
Flutter DevTools: анализируем и улучшаем Flutter-приложения на примере «Росбанк Инвест»

Меня зовут Нияз, и в этом посте я расскажу о Flutter DevTools — очень богатом и разнообразном наборе инструментов для оценки Flutter-приложений, причем доступном прямо через браузер. Статья представляет собой обзор доступного функционала Flutter DevTools, где я постараюсь описать, что можно сделать с его помощью. Для иллюстраций я по возможности буду использовать приложение «Росбанк Инвест». В ряде случаев нужных примеров в приложении не нашлось, поэтому я придумал их сам. Надеюсь, эта статья будет вам полезна и добавит в ваш инструментарий кое-что новое.

Статья: https://habr.com/ru/companies/rosbank/articles/753252/
Платформа: кроссплатформа
🤮3👍1💩1
Гибкая и современная архитектура приложений для Android: пошаговое руководство

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

Одним из наиболее распространенных вопросов был: «А как же X? Это не совсем соответствует правилам». Именно поэтому я всегда говорил:

Изучайте принципы, а не слепо следуйте правилам.

Эта статья призвана продемонстрировать практическую сторону: научить Android-архитектуре на реальном примере. В первую очередь это означает показать, как принимаются те или иные архитектурные решения. Мы будем сталкиваться с ситуациями, когда есть несколько возможных ответов, и в каждом случае мы будем опираться на принципы, а не заучивать набор правил.

Статья: https://apptractor.ru/info/articles/gibkaya-i-sovremennaya-arhitektura-prilozheniy-dlya-android-poshagovoe-rukovodstvo.html
Платформа: Android
👍2
Цель репозитория TipKit Examples - предоставить примеры кода для реализации подсказок в ваших приложениях. Первоначально основное внимание уделено простым реализациям, но со временем автор надеется добавить более сложные контексты и элементы управления.

TipKit Examples на GitHub: https://github.com/jordibruin/TipKit-Examples
Платформа: iOS
⭐️: 233
This media is not supported in your browser
VIEW IN TELEGRAM
Google Play Billing Samples - официальные примеры приложений, использующих внутри для подписок и покупок Google Play Billing. Это Trivial Drive Java/Kotlin - покупка товаров/подписок в приложении для Android (без сервера), Classy Taxi Kotlin/Java App - покупка подписок и одноразовых товаров в приложении для Android и управление ими на сервере, Classy Taxi Server - управление подписками и разовыми продуктами на вашем сервере.

Google Play Billing Samples на GitHub: https://github.com/android/play-billing-samples
Платформа: Android
⭐️: 2.3K
Kiosk (Lock task mode) для Android: польза, кейсы применения и кастомизация

Меня зовут Светлана Палицына, я — Android-разработчик в мобильной команде «Лаборатории Касперского», где мы создаем решения для защиты мобильных устройств. Мои коллеги из Kaspersky уже рассказывали о наборе решений и технологий для управления поведением устройств, известном как Mobile device management. Я подробно рассмотрю один из режимов этого механизма — Lock task mode, также известный как Kiosk-режим.

Статья: https://habr.com/ru/companies/kaspersky/articles/753288/
Платформа: Android
Создаем дефолтные аватары пользователей в SwiftUI

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

Статья: https://apptractor.ru/info/articles/sozdaem-defoltnye-avatary-polzovateley-v-swiftui.html
Платформа: iOS
Исходники переизданной версии Quake II

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

Quake II на GitHub: https://github.com/id-Software/quake2-rerelease-dll
Платформа: разработка
🔥4
Swift Transformers - это набор утилит, помогающих использовать языковые модели (LLM) в приложениях на Swift (через Core ML). По возможности пакет старается следовать API и абстракциям трансформеров Python, но при этом стремится предоставить идиоматический интерфейс Swift и не предполагает предварительного знакомства с трансформерами или токенизаторами.

Swift Transformers на GitHub: https://github.com/huggingface/swift-transformers
Статья: https://huggingface.co/blog/swift-coreml-llm
Платформа: iOS
⭐️: 109
🔥1
Как разработчику готовиться к собеседованиям

Продолжаем разговор с Андреем Белоусом (@tzkt1 в Телеграм) о поиске работы для мобильных разработчиков.

Статья: https://apptractor.ru/info/interview/kak-razrabotchiku-gotovitsya-k-sobesedovaniyam.html
Платформа: собеседования
Apple не хочет, чтобы люди создавали приложения для собственного удовольствия

Как по мне, за этим всем стоит жадность и ничего больше. Хотя, с другой стороны, становится понятно, как Apple пришла к рыночной стоимости в триллионы. Пока что они не требуют с меня ежегодного взноса разработчика за то, что пишу на своем макбуке приложения на Python – спасибо и на том.

Статья: https://habr.com/ru/companies/productivity_inside/articles/753938/
Платформа: разработка
1
Тинькофф проведет большой мобильный митап в Воронеже 📲

Встречу соберут 19 августа на «Винзаводе». В программе докладов — четыре кейса:

— про то, как мы отказались от ручного тестирования;
— про безопасность приложений;
— и про ускорение сборки проектов.

А после — общение и нетворкинг. Кажется, лучше плана на субботу и не придумаешь!

📆 19 августа, «Винзавод», IT’s Tinkoff Mobile Meetup. Зарегистрироваться можно тут: https://l.tinkoff.ru/its_tinkoff_mobile.meetup.vrn