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

SwiftGen на GitHub: https://github.com/SwiftGen/SwiftGen
Платформа: iOS
⭐️: 8.4K
Эволюция архитектуры приложения Facebook* для iOS

8 лет развития архитектуры приложения в одном обзоре. С 2014 года, когда были Core Data, MVC, Objective-C(++) и запуск до 30 секунд, до 2022, когда используются внутренние абстракции, динамические библиотеки, плагины и Swift. Пот, кровь и слезы пользователей и разработчиков в поиске лучшего опыта.

Статья: https://apptractor.ru/FBiOS8
Платформа: iOS

*Meta, в том числе ее продукты Facebook и Instagram, признана экстремистской организацией в России.
Ktor — это асинхронный фреймворк для создания микросервисов, веб-приложений и многого другого. Написан JetBrains на Kotlin с нуля. Приложения Ktor могут размещаться в любом контейнере сервлетов с поддержкой Servlet 3.0+ API, таком как Tomcat, или автономно с использованием Netty или Jetty. Поддержка других хостов может быть добавлена через унифицированный API хостинга.

Ktor на GitHub: https://github.com/ktorio/ktor
Платформа: backend
⭐️: 10.8K
👍4
PythonKit - фреймворк Swift для взаимодействия с Python (первоначально был основан на модуле Python из экспериментального проекта Swift for TensorFlow). Например, код может быть реализован так:

import PythonKit

let sys = Python.import("sys")

print("Python \(sys.version_info.major).\(sys.version_info.minor)")
print("Python Version: \(sys.version)")
print("Python Encoding: \(sys.getdefaultencoding().upper())")

PythonKit на GitHub: https://github.com/pvieito/PythonKit
Платформа: iOS
⭐️: 1.3K
😁1
Как запуск приложения Dropbox для Android ускорили на 30%

Запуск приложения - это первое, с чем сталкиваются пользователи после установки приложения, а затем снова и снова, при каждом его запуске. Простое и быстрое приложение приносит пользователям намного больше радости, чем приложение с множеством функций, которое загружается целую вечность. Понимая это, Android-команда Dropbox вложила много сил и средств в измерение, выявление и устранение проблем, влияющих на время запуска приложения. В итоге они улучшили время запуска приложения на 30%, и вот история того, как они этого достигли.

1. Страшный подъем
2. Больше цифр
3. Нарушители производительности
Библиотека Firebase Performance
Миграции
Загрузка пользователя
4. Что теперь?
5. Вывод

Статья: https://apptractor.ru/drpbxst30
Платформа: Android
Read You - открытый RSS-ридер для Android на Jetpack Compose и с Material You.

Read You на GitHub: https://github.com/Ashinch/ReadYou
Платформа: Android
⭐️: 1.8K
SnapKit — это DSL (domain-specific programming language), упрощающий программное создание Auto Layout на iOS, так и на OS X. Фактически, добавляет синтаксический сахар поверх нативного кода автоматической разметки, что упрощает понимание и написание кода для размещения элементов на экране. Разработан и поддерживается Snap.

SnapKit на GitHub: https://github.com/SnapKit/SnapKit
Платформа: iOS
⭐️: 19.1K
На прошлой неделе у нас был Read You, открытый RSS-ридер, а сегодня RSS Parser - библиотека, которая упростит вам работу с любыми RSS-лентами. Поддерживает все атрибуты, кэширование, получение данных из строк. Написано полностью на Kotlin с корутинами.

RSS Parser на GitHub: https://github.com/prof18/RSS-Parser
Платформа: Android
⭐️: 344
Что такое событийная (Event Driven) архитектура

Шаблон управляемой событиями архитектуры (событийная архитектура, event-driven architecture, EDA) - это популярный шаблон распределенной асинхронной архитектуры, используемый для создания масштабируемых приложений. EDA состоит из разделенных одноцелевых компонентов, которые асинхронно получают и обрабатывают события.

Статья: https://apptractor.ru/edarc
Платформа: архитектура
Anime Now! - открытый плеер (для аниме) на SwiftUI и TCA (The Composable Architecture). Поддерживает Airplay 2, картинку-в-картинке, субтитры, скачивание эпизодов. Работает с тремя разными серверами, с которых стримит аниме, предполагаю, что легко перенастраивается на любой другой контент.

Anime Now! на GitHub: https://github.com/AnimeNow-Team/AnimeNow
Платформа: iOS
⭐️: 318
👍1
Отслеживание времени сборки Android-проекта

Начало серии статей о сборке Android-проектов. В этой статье - как отслеживать время сборки и нужную для команды разработчиков системную информацию.

Статья: https://apptractor.ru/gradletime
Платформа: Android
Moshi — это одна из самых популярных современных библиотек для работы с JSON в Android на Java и Kotlin. Она упрощает парсинг JSON в классы Java и Kotlin (и наоборот), используется во многих проектах, где необходима работа с API. Разработана Square.

Moshi на GitHub: https://github.com/square/moshi
Платформа: Android
⭐️: 8.8K
📱 Команда Тинькофф проведет mobile-митап в Нижнем Новгороде

Мобильные разработчики Тинькофф и RetailNext встретятся с местным комьюнити 1 марта в пространстве «Кинофактура».

На встрече расскажут:

— как отказались от 3rd party системы аналитики;
— как собирать iOS-фреймворк из исходных файлов на Kotlin;
— как использовать SRE-практики в мобильной разработке.

Зарегистрироваться на митап и узнать подробнее о докладах можно на странице IT’s Tinkoff Mobile Meetup
Roadmap - библиотека позволяет публиковать свою дорожную карту разработки в приложении и пользователи могут голосовать за будущие фичи. Сама дорожная карта хранится в JSON и просто хранится на сервере, для отображения доступны настройки - цвета, шрифты, иконки и т.п.

Roadmap на GitHub: https://github.com/AvdLee/Roadmap
Платформа: iOS
⭐️: 384
7 открытых iOS-проектов, которые помогут изучить SwiftUI

Чтение кода (и его понимание) — один из лучших способов улучшить свои навыки разработки. Проекты с открытым исходным кодом — самое правильное место, где можно узнать о лучших практиках, стилях программирования и многих других темах. В этой статье список из 7 iOS-проектов на SwiftUI, которые помогут вам научиться новому.

1. Clean Architecture for SwiftUI + Combine
2. The OldOS Project
2. SwiftUICraft
4. Velik
5. Open Sesame
6. Swiftui 2048
7. Expense Tracker

Статья: https://apptractor.ru/7iosswiftui
Платформа: iOS
Альтернатива: 10 открытых проектов Jetpack Compose, которые вас вдохновят.
KMPTemplate - минимальный шаблон мультиплатформенного приложения на Kotlin и Compose. Без сети или базы данных, просто Hello world. Зато нативно работает на Android, использует UIKit на iOS и Skia Library на десктопах.

KMPTemplate на GitHub: https://github.com/Kashif-E/KMPTemplate
Платформа: кроссплатформа
⭐️: 129
Вышел курс «Основы Android с Compose»

Google сообщает, что опубликован полный курс «Основы Android с Compose» (Android Basics with Compose). Независимо от того, являетесь ли вы новичком без опыта программирования или разработчиком, который хочет изучить Jetpack Compose и освежить свои навыки разработки для Android, сейчас самое время начать обучение.

Этот курс предназначен для того, чтобы научить вас создавать приложения для Android с помощью Jetpack Compose, рекомендуемого современного набора инструментов, который упрощает и ускоряет разработку пользовательского интерфейса для Android. Попутно вы изучите основы языка программирования Kotlin, архитектуру Android-приложений и часто используемые библиотеки Jetpack. В курсе также есть модуль по взаимодействию Views-Compose, чтобы вы могли применять свои навыки Compose при работе над существующим приложением, созданным с помощью устаревшего набора инструментов пользовательского интерфейса на основе View.

Курс: https://developer.android.com/courses/android-basics-compose/course
Платформа: Android
Сбои Crashlytics в Android Studio с помощью App Quality Insights

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

Однако даже при наличии подробных отчетов о сбоях в режиме реального времени для устранения неполадок обычно требуется переход между консолью Crashlytics и кодовой базой, чтобы найти ошибку. Просмотр трассировки стека в браузере, а затем необходимость навигации по исходному коду, чтобы найти правильное место для установки точек останова, утомляет и может разочаровать. И легко пропустить новые отчеты, если вы не проверяете Firebase Console регулярно.

Вот почему в Android Studio Electric Eel появилось новое окно App Quality Insights, которое помогает вам обнаруживать, исследовать и воспроизводить проблемы, о которых сообщает Crashlytics, в одном месте и в контексте вашей любимой IDE.

Статья: https://apptractor.ru/crshstudia
Платформа: Android
👍2
IceCubesApp - это приложение с открытым исходным кодом для доступа к децентрализованной социальной сети Mastodon. Оно полностью построено на SwiftUI, что делает его быстрым, легким и простым в использовании.

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

Проект - отличная отправная точка для изучения SwiftUI. Приложение охватывает многие основные концепции SwiftUI, такие как создание макетов, работа с данными и обработка взаимодействия с пользователем. Изучая код, вы сможете получить четкое представление о том, как использовать SwiftUI в повседневной жизни. Кроме того, открытый исходный код IceCubesApp означает, что вы можете увидеть, как создаются реальные приложения, и получить представление о передовых методах использования SwiftUI.

IceCubesApp на GitHub: https://github.com/Dimillian/IceCubesApp
Платформа: iOS
⭐️: 2.4K