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

Шейдер в компьютерной графике — это программный модуль, который используется для определения внешнего вида объектов и их поведения в трехмерной графике. Основная задача шейдеров — создание эффектов освещения, цвета, текстурирования и других визуальных аспектов, которые формируют конечное изображение на экране. На платформе Android с использованием языка программирования Kotlin, шейдеры обычно используются в контексте OpenGL ES (в версии 2.0 или выше) или Vulkan API для реализации графики на уровне GPU.

В iOS 17 стало возможным добавить шейдер к любой View. На платформе шейдеры применяются в контексте OpenGL ES или Metal API. Оба эти API предоставляют инструменты для создания высокопроизводительной графики на устройствах Apple.

На платформе Android шейдеры обычно используются в контексте OpenGL ES (в версии 2.0 или выше) или Vulkan API для реализации графики на уровне GPU.

Статья: https://apptractor.ru/info/articles/chto-takoe-sheyder.html
Платформа: разработка
Курс по большим языковым моделям

Курс по изучению (основы/исследователь/инженер) LLM с роадмапами, списками материалов и блокнотами Colab.

Курс на GitHub: https://github.com/mlabonne/llm-course
Платформа: обучение
This media is not supported in your browser
VIEW IN TELEGRAM
Hand Shadows - эта библиотека позволяет быстро и легко интегрировать в приложение тени рук, которые следуют за жестами в реальном времени. По идее, это позволяет записывать более описательные и интуитивно понятные демонстрационные видео.

Hand Shadows на GItHub: https://github.com/adamwulf/HandShadows
Платформа: iOS
⭐️: 184
10 нестандартных уроков, полученных за 10 лет работы инженером-программистом

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

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

1. Выбирайте обучение, а не деньги
2. Инвестируйте в принципы и практики
3. Станьте инженером, с которым все хотят работать
4. Разнообразьте свою жизнь
5. Относитесь к отзывам как к золоту
6. Сначала широкий уровень
7. Лидерство без титула
8. Думайте о сферах влияния
9. Наточите инструменты
10. Показывайте свою работу

Статья: https://apptractor.ru/info/articles/10-nestandartnyh-urokov-poluchennyh-za-10-let-raboty-inzhenerom-programmistom.html
Платформа: разработка/карьера
Как создать клиент App Store Connect API на Swift с помощью OpenAPI

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

Единственное, что требуется для начала работы с App Store Connect API — это API-ключ, но чтобы действительно извлечь из подключения максимум пользы — скажем, чтобы вы могли создавать собственные внутренние инструменты на основе данных App Store Connect — хорошей идеей будет настройка API-клиента для аутентификации и выполнения запросов к App Store Connect API.

Статья: https://apptractor.ru/all-api/kak-sozdat-klient-app-store-connect-api-na-swift-s-pomoschyu-openapi.html
Платформа: iOS
👍1
Calendar - настраиваемая библиотека для отображения календаря в Android, опирающаяся на RecyclerView для системы View и LazyRow/LazyColumn для Compose. Из фич - выбор одной, нескольких или диапазона дат, режим неделя/месяц, кастомные view/composable для ячейки даты и самого календаря, горизонтальный или вертикальный скрол, тепловая карта и прочее.

Calendar на GitHub: https://github.com/kizitonwose/Calendar
Платформа: Android
⭐️: 4.2K
Как мы в Fix Price запустили PWA-приложение для Android

Меня зовут Роман Хаджаев, я работаю над проектами Fix Price в качестве фронтенд-разработчика. Сегодня расскажу вам о том, как мы создали собственное веб-приложение и развернули его для запуска на Android. Да, речь идет о PWA-приложении, в которое мы упаковали наш сайт и добавили некоторые дополнительные функции. А в завершение дам полезную информацию начинающим разработчикам, которые только приступают к решению подобных задач.

Статья: https://habr.com/ru/companies/fix_price/articles/790100/
Платформа: Android/кроссплатформа
Шаблоны корутин в Android и как они работают

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

Статья: https://apptractor.ru/info/articles/shablony-korutin-v-android-i-kak-oni-rabotayut.html
Платформа: Android
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
3D Pokemon Card - небольшой забавный проект, демонстрирующий реализацию эффекта параллакса в SwiftUI. Фичи - используется анимация SwiftUI для создания эффекта параллакса на карточке, код организован по модульному принципу с возможностью многократного использования, что позволяет легко интегрировать эффект параллакса в другие проекты SwiftUI, можно легко настроить карточку покемона, изменив содержимое и изображение.

3D Pokemon Card на GItHub: https://github.com/helvetiica/PokemonCard
Платформа: iOS
⭐️: 64
1
This media is not supported in your browser
VIEW IN TELEGRAM
Интегрируем интерактивные 2D/3D-объекты в iOS-приложение

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

Статья: https://habr.com/ru/companies/simbirsoft/articles/790294/
Платформа: iOS
👍2
Kotlin изнутри: как работают inline-функции

Многие разработчики не понимают, в чем польза inline-функций, зачем нужен crossinline и как работает reified. Причина распространенных заблуждений насчет inline-функций отчасти заключается в неточном их описании, ранее опубликованном на сайте kotlinlang.org. Хочу развенчать эти заблуждения и наглядно показать, как работают inline-функции (встраиваемые) и в чем преимущество их использования.

Статья: https://apptractor.ru/kotlin-inline-medium
Платформа: Android/Kotlin
👍21
Повышение производительности модульных тестов в MEGA Android

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

Статья: https://apptractor.ru/info/articles/povyshenie-proizvoditelnosti-modulnyh-testov-v-mega-android.html
Платформа: Android
2
Neo Store - современный и многофункциональный клиент F-Droid для всех. Его основные особенности - UX, ориентированный на расширение возможностей пользователей, быстрая синхронизация репозиториев, встроенные репозитории, легкое открытие новых приложений, минимализм с принципами KISS.

Neo Store на GitHub: https://github.com/NeoApplications/Neo-Store
Платформа: Android
⭐️: 2.3K
Новая подборка видео и подкастов за неделю:

(iOS Ru) Как избежать утечек памяти при использовании Task, Combine, CurrentValueSubject и AsyncStream
(iOS En) SwiftUI: Universal Hero Effect
(iOS En) Introducing Vortex: High-performance particle effects for SwiftUI
(iOS En) SwiftUI Minimal Todo List With SwiftData & Interactive Widgets
(iOS En) Exploring AppState, a new open-source framework for SwiftUI Application State
(iOS En) SwiftUI Share Sheet Extension
(And Ru) Построение multi-app архитектуры
(And Ru) Старт карьеры в Android-разработке до 18 лет
(And Ru) Compose Navigation Codelab: проходим кодлаб от Google
(And En) What’s new in Jetpack Compose, Google Summer of Code 2024, and more dev news!
(And En) ALL Must-Know Changes in New Android Studio Hedgehog
(And En) This is Your 2024 Action Plan to Get Your Android Dream Job
(Crs Ru) Flutter Dev Podcast #44: Как стать Flutter-разработчиком? Часть 2
(Crs En) Prototyping apps with Project IDX, Firebase extensions and the PaLM API
(Dev Ru) Найти работу в кризис: джун, мидл и сеньёр
(Dev Ru) Проектирование невизуальных интерфейсов: основа, смыслы, примеры
(Dev Ru) Подходы и инструменты кастомизации процессов разработки
(Dev Ru) Кем вы видите себя в компании через 5 лет? Отвечает Head of Mobile
(Dev Ru) Podlodka: NeRF – последний шанс для VR?
(Dev En) Learn Accessibility - Full a11y Tutorial
(Dev En) Deep Learning Interview Prep Course

Что вы посмотрели/послушали интересного про разработку?

🌐 AppFiles
WhisperKit - это пакет Swift, который интегрирует популярную модель распознавания речи Whisper от OpenAI с фреймворком CoreML от Apple для эффективной локальной работы на устройствах Apple.

WhisperKit на GitHub: https://github.com/argmaxinc/WhisperKit
Платформа: iOS
⭐️: 777
👍3
Разбираемся с MavenGate, новой атакой на цепочку поставок для Java и Android-приложений

Я хотел бы разобрать в этой статье новый тип атаки на цепочку поставок под названием MavenGate. А что в ней, собственно, такого? Ну хотя бы то, что ей подвержены более 18% всех Java-библиотек, соответственно, для Android это применимо в полной мере. Совершить эту атаку безумно просто. Суть ее основана на логике работы сборщиков Java/Android-проектов и разрозненности репозиториев, которые хранят эти библиотеки.

Статья: https://habr.com/ru/companies/swordfish_security/articles/790544/
Платформа: Android
DVDB (Dart Vector DB) - кроссплатформенная векторная база данных на основе Dart, которая может быть использована в приложениях на базе Flutter. Основные фичи: конфиденциальность превыше всего - данные пользователя никогда не покидают его устройство и не хранятся на сторонних сервисах, DVDB работает локально на устройстве - нулевая задержка и никаких хлопот с обслуживанием серверов, поддержка эмбеддингов OpenAI и пользовательских эмбеддингов, поддержка нескольких платформ - независимо от того, являетесь ли вы Android или iOS командой, DVDB работает на обеих платформах, делая разработку приложений легким делом.

DVDB на GitHub: https://github.com/FastCodeAI/DVDB
Платформа: кроссплатформа
⭐️: 16
Эксперимент: насколько сложно обмануть на технических собеседованиях с помощью ChatGPT?

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

На сайте Interviewing.io мы много думали о том, как ChatGPT изменит проведение технических собеседований. Один из главных вопросов — позволит ли ChatGPT легко обманывать на собеседованиях? Чтобы ответить на этот вопрос, мы привлекли нескольких наших профессиональных интервьюеров и пользователей к участию в эксперименте с ИИ-обманом! В этой статье мы расскажем обо всем, что мы обнаружили, и объясним, что это значит для вас. В качестве небольшого предисловия просто знайте: компаниям необходимо немедленно изменить типы вопросов, которые они задают на собеседовании.

Статья: https://apptractor.ru/info/articles/eksperiment-naskolko-slozhno-obmanut-na-tehnicheskih-sobesedovaniyah-s-pomoschyu-chatgpt.html
Платформа: собеседования
Apk.sh - это Bash-скрипт, который облегчает реверс-инжиниринг Android-приложений, автоматизируя некоторые повторяющиеся задачи, такие как извлечение, декодирование, восстановление и исправление APK. Он в основном использует apktool для дизассемблирования, декодирования и восстановления ресурсов и немного bash для автоматизации процесса инъекции гаджетов frida.

Фичи: патчинг APK для загрузки frida-gadget.so при запуске, поддержка пакетов приложений/разделенных APK, разборка ресурсов до почти оригинального вида с помощью apktool, восстановление декодированных ресурсов обратно в бинарный APK/JAR с помощью apktool, подпись apk с помощью apksigner, поддержка нескольких архитектур (arm, arm64, x86, x86_64), не требуется рутованное Android-устройство.

Apk.Sh на GitHub: https://github.com/ax/apk.sh
Платформа: Android
⭐️: 2.9K
Кто ты, SwiftData

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

Статья: https://habr.com/ru/companies/tinkoff/articles/791692/
Платформа: iOS
🔥2