AppFiles - Mobile Development
1.99K subscribers
2.55K photos
33 videos
8 files
3.42K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Quick - behavior-driven фреймворк тестирования для Swift и Objective-C. Quick помогает вам проверить, как ведет себя ваш код в приложении, сравнивая то, что вы ожидаете от приложения, с тем, что получаете.

Quick на GitHub: https://github.com/Quick/Quick
Платформа: iOS
⭐️: 9.7K
Портирование Graphing Calculator с C++ на Swift

Стоило ли мое время портирования на Swift? Мне понравилось изучать Swift, и теперь я намного больше доволен состоянием кода. Писать на Swift — сплошное удовольствие. С 80-х я намеревался в конечном итоге открыть исходный код. Когда я решил сделать это с кодовой базой C++, я понял, что это не будет полезным вкладом из-за накопившегося за десятилетия технического долга, делающего код C++ непригодным для сопровождения. Теперь я уверен, что новый код можно превратить в полезные автономные пакеты Swift для математических выражений, редактирования, числовых и символьных вычислений и построения графиков.

Статья: https://apptractor.ru/info/articles/portirovanie-graphing-calculator-s-c-na-swift.html
Платформа: iOS
Я хочу запускать любое количество Android UI тестов на каждом PR

Серия из 5 статей от Евгения Мацюка, который решает проблему автоматизации тестирования. Сам Евгений работает в Marathon Labs, которая как раз работает на тестовым облаком, так что он сравнивает все доступные решения и заодно продвигает свою платформу.

Статья: https://proandroiddev.com/i-want-to-run-any-number-of-android-ui-tests-on-each-pr-your-actions-part-i-40d694c7d641
Платформа: Android
👍2
AnkiDroid - полуофициальный порт на Android системы карточек Anki для интервального повторения. Есть ночной режим, вайтборд, виджет прогресса, статистика, синхронизация с AnkiWeb, text-to-speech, более 6000 готовых колод карточек, 2 алгоритма повторения, добавление новых карточек на основе интентов.

AnkiDroid на GitHub: https://github.com/ankidroid/Anki-Android
Платформа: Android
⭐️: 6.5K
Kotlin Multiplatform и Compose Multiplatform — стратегический провал Apple

Kotlin Multiplatform (KMP) и Compose Multiplatform (CM) представляют собой одну из последних попыток решить эти проблемы. Вместе они представляют собой яркую надежду для менеджмента…

А для Apple они представляют собой крупный стратегический провал высшего порядка.

Статья: https://apptractor.ru/info/articles/kotlin-compose-multiplatform.html
Платформа: кроссплатформа
🤡6🤣1
iOS Starter Kit - бесконечный набор примеров для изучающих язык Swift. От самых простых примеров до архитектуры и полезных фишек.

iOS Starter Kit на GitHub: https://github.com/jrasmusson/ios-starter-kit
Платформа: iOS
⭐️: 793
🔥2
Осознанная оптимизация Compose

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

Статья: https://habr.com/ru/companies/ozontech/articles/742854/
Платформа: Android
👍2
Императивный UIKit‍ vs Декларативный SwiftUI

Цель статьи - помочь разработчикам приложений для iOS понять различия между императивным и декларативным подходами к программированию, а также рассмотреть плюсы и минусы фреймворков UIKit и SwiftUI. Знакомство с ними необходимо для оптимизации процесса разработки и создания продукта высокого качества.

Статья: https://habr.com/ru/companies/ozontech/articles/742750/
Платформа: iOS
Flagfit - это мощная, легкая библиотека, предназначенная для превращения ваших функциональных флагов в простые в управлении интерфейсы Kotlin. Будь вы небольшим стартапом или крупной компанией, вы найдете универсальность и простоту Flagfit полезными для вашего цикла разработки программного обеспечения.

Интегрировав Flagfit в свой рабочий процесс разработки, вы сможете:

1. Эффективно управлять развертыванием функций: включать и выключать новые функции без деплоя нового кода, обеспечивая гибкость при тестировании, итерациях и выпуске в своем собственном темпе.
2. Проводить A/B-тестирование: легко создавать и управлять несколькими версиями вашего приложения для проведения экспериментов и принятия решений на основе данных.
3. Снижать риски: постепенно внедрять функции для подмножества пользователей, чтобы минимизировать влияние потенциальных ошибок или проблем.

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

Flagfit на GitHub: https://github.com/abema/flagfit
Платформа: Android
⭐️: 72
Google запустил обучающий курс по генеративному ИИ

Программа состоит из 10 учебных потоков.

1. Введение в генеративный ИИ
2. Введение в большие языковые модели
3. Введение в ответственный ИИ
4. Основы генеративного ИИ
5. Введение в генерацию изображений
6. Архитектура Кодер-декодер
7. Механизм внимания
8. Модели Transformer и модель BERT
9. Создание моделей описания изображений
10. Введение в Generative AI Studio

Желательно иметь начальный уровень владения Python и знание Tensorflow.

Подробнее: https://apptractor.ru/learn/google-zapustil-obuchayuschiy-kurs-po-generativnomu-ii.html
Платформа: обучение
👍1
Как самому научиться Android-разработке

Андрей Белоус разрабатывает мобильные приложения уже больше 6 лет. В 2021 году занял 3 место на чемпионате Яндекса по мобильной разработке с 5000 участниками, а сейчас работает Senior Android Developer в Лондоне. До мобильной разработки он успел поработать программистом 1С и отучиться на сварщика в универе. А потом сам научился разрабатывать мобильные приложения, не потратив на это ни рубля. С ним мы поговорили о том, как самостоятельно стать Android-разработчиком.

Интервью: https://apptractor.ru/info/interview/kak-samomu-nauchitsya-android-razrabotke.html
Платформа: Android/обучение
👍5
ReSwift - это Redux-подобная реализация архитектуры однонаправленного потока данных в Swift. ReSwift поможет вам разделить три важных аспекта компонентов вашего приложения:

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

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

ReSwift на GitHub: https://github.com/ReSwift/ReSwift
Статья о потоках: Реализация Unidirectional Data Flow в супераппе
Платформа: iOS
⭐️: 7.4K
Изнутри: Swift макрос — #Preview

Макрос #Preview в языке Swift предоставляет удобный способ создания и предварительного просмотра компонентов пользовательского интерфейса. Он позволяет разработчикам быстро и легко создавать превью для своих View, чтобы визуально оценить, как они выглядят и взаимодействуют.

Статья: https://habr.com/ru/companies/ozontech/articles/744216/
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
Dropbox переделал поиск на 40% быстрее с помощью Jetpack Compose

После внедрения Compose разработчики Dropbox переписали множество функций приложения, включая домашний экран, предварительный просмотр файлов и поиск. Поиск в Dropbox был полностью переделан всего за несколько недель, что на 40% меньше, чем ожидалось, и меньше половины времени, которое потребовалось на создание аналогичной функции для iOS.

Статья: https://android-developers.googleblog.com/2023/06/dropbox-rebuilt-search-experience-faster-with-jetpack-compose.html
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
TranslationPlugin - плагин для IntelliJ/Android Studio IDE для перевода текста. Поддерживает несколько переводчиков, может переводить сразу на несколько языков, переводить целые документы, работать со словарями, автоматически переводить документацию и т.п.

TranslationPlugin на GitHub: https://github.com/YiiGuxing/TranslationPlugin
Платформа: Android
⭐️: 10.1K
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создание часов в Jetpack Compose с помощью Canvas

В этой статье я объясню, как мы можем реализовать это с помощью API Compose Canvas. Я также расскажу о математических концепциях, связанных с вычислением координат на окружности и рисованием фигур и текста вокруг этих координат. Многие из используемых здесь формул были получены методом проб и ошибок, поэтому их понимание поначалу может оказаться сложным. Однако я буду упрощать объяснения с помощью диаграмм, чтобы облегчить их понимание. Надеюсь, вам понравится читать эту статью.

Статья: https://proandroiddev.com/crafting-a-clock-with-canvas-9b1ad430da72
Платформа: Android
3
Mapbox Maps SDK для iOS - это открытая библиотека для отображения интерактивных кастомизируемых карт в iOS. Она принимает стили карт, применяет их к векторным плиткам и отображает их с помощью Metal. Есть отдельные библиотеки для построения маршрутов, поиска локаций. То же самое и для Android.

Mapbox Maps SDK iOS на GitHub: https://github.com/mapbox/mapbox-maps-ios
Платформа: iOS
⭐️: 322