AppFiles - Mobile Development
1.99K subscribers
2.53K photos
33 videos
8 files
3.41K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Как оптимизировать приложение для Android для больших экранов (и чего НЕ делать!)

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

Статья от Google: https://android-developers.googleblog.com/2023/05/optimizing-your-android-app-for-large-screens.html
Платформа: Android
👍2
Аксиоматическое программирование в Swift для создания систем любого масштаба

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

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

Статья: https://betterprogramming.pub/axiomatic-and-brain-sized-coding-in-swift-for-creating-systems-of-any-scale-ec352e7d87a9
Платформа: iOS/Swift
SwiftUI предоставляет отличную встроенную поддержку для работы с состоянием, но объектно-ориентированный подход может сделать разделение кода сложным. Именно здесь могут помочь атомы.

Atoms - это мощная и гибкая библиотека управления атомарными состояниями для Swift, предназначенная для создания компактных, независимых глобальных компонентов состояния с легкой адаптацией и композицией.

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

Atoms на GitHub: https://github.com/bangerang/swift-atoms
Платформа: iOS
⭐️: 79
Как я получил сертификат Associate Android Developer

Хотите, чтобы Google официально подтвердил ваши скиллы разработчика Android? Все не так уж трудно: рассказываю, как это делается.

Статья: https://habr.com/ru/articles/733932/
Платформа: Android
👍21
Двойное соответствие протоколу

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

В этой небольшой статье я хочу поделиться тем, чему я научился.

Статья: https://alexanderweiss.dev/blog/2023-04-23-double-protocol-conformance
Платформа: iOS/Swift
Compose Rich Editor - библиотека редактора для Jetpack Compose и Compose Multiplatform, полностью настраиваемая и поддерживающая общие функции rich text редактора. Она построена на основе TextField и поможет вам легко создать текстовый редактор.

Compose Rich Editor на GitHub: https://github.com/MohamedRejeb/Compose-Rich-Editor
Платформа: Android
⭐️: 241
Реализуем Универсальные ссылки на iOS

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

Статья: https://apptractor.ru/info/articles/realizuem-universalnye-ssylki-na-ios.html
Платформа: iOS
Итоги конференции Google I/O: искусственный интеллект и новые гаджеты

Вчера, 10 мая прошла ежегодная конференция компании Google, где презентовали новые гаджеты и обновления. Большинство изменений связано с искусственным интеллектом. Анатолий Шулипов, Android Lead Developer студии CleverPumpkin, рассказывает о том, что ждет пользователей экосистемы Google в 2023 году:

AI везде! Обзор обновлений сервисов Google
Google Maps
Google Photos
Чат-бот Google Bard
Google Workspace
Google Search
Обновления Android
Смартфоны Google: что нового
Google Pixel Fold
Pixel 7a
Pixel Tablet
Нововведения для разработчиков
AI
Для мобильных устройств Android
Для веб-разработки
Cloud

Статья: https://apptractor.ru/info/articles/itogi-konferentsii-google-i-o-iskusstvennyy-intellekt-i-novye-gadzhety.html
🔥1
Z Combinator for Hacker News - клиент для Hacker News (сообщество Y Combinator), написанный на SwiftUI. Есть логин, комменты, голосования, добавление постов, просмотр профилей и ленты, виджеты, экшены и все прочее.

Z Combinator for Hacker News на GitHub: https://github.com/Livinglist/ZCombinator
Платформа: iOS
⭐️: 19
Анонс Dart 3

Dart 3 содержит три мажорных улучшения. Во-первых, мы завершили путь к 100-процентной нулевой безопасности. Во-вторых, мы добавили новые языковые возможности: записи (records), паттерны (patterns) и модификаторы классов (class modifiers). В-третьих, мы даем предварительный прогноз на будущее, в котором расширим поддержку наших платформ, добавив нативный код для web с помощью Wasm-компиляции. Давайте углубимся в детали.

Статья: https://habr.com/ru/articles/734396/
Платформа: кроссплатформа/Flutter
Shady - это галерея AGSL-шейдеров, демонстрирующая эффекты шейдеров в Jetpack Compose, текстурирование изображений с помощью шейдеров и возможности настраиваемых/анимированных шейдеров. Эти шейдеры варьируются от развлекательных до практичных, подходящих для создания самостоятельных эффектов или в качестве основы для генеративного искусства и визуализации.

Shady на GitHub: https://github.com/drinkthestars/shady
Платформа: Android
⭐️: 19
Google I/O 2023. Что нового в Kotlin для Android?

Сегодня мы посмотрим на новинки Kotlin для Android, представленные Google в видео «What's new in Kotlin for Android» с Google I/O 2023 (с некоторыми комментариями и дополнениями).

Статья: https://habr.com/ru/companies/usetech/articles/734338/
Платформа: Android
Поток данных SwiftUI с примерами

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

@Binding
@StateObject
@Environment
@Published
@State
@EnvironmentObject
@ObservedObject

Статья: https://apptractor.ru/info/articles/potok-dannyh-swiftui-s-primerami.html
Платформа: iOS
Обзор всех изменений в Android 13 для разработчиков

В видео:

• Улучшенная поддержка планшетов и больших экранов
• Разрешение на показ уведомлений
• Photo Picker
• Выбор языка для приложений
• Predictive Back Gesture
• Task Manager
• Улучшение расхода заряда батарейки
• Изменения буфера обмена
• Nearby
• Новая иконка для приложений
• Java 11
• Alarm Manager
• JobScheduler
• Программируемые шейдеры
• Улучшения ART
• Разграничение доступа к медиа
• Еще больше разрешений
• Новое поведение Intent Filter
• Ограничение скорости интернета
• Ограничение доступа в Accessibility Services
• Прочие изменения

Видео: https://apptractor.ru/info/media/razbor-android-13-dlya-razrabotchikov.html
Платформа: Android
Проект нашего читателя - Six-Sided Puzzle. Это паззлы на Flutter, в которых надо собирать картинки городов.

Если у вас есть какой-то открытый интересный проект - присылайте, тоже опубликуем.

Six-Sided Puzzle на GitHub: https://github.com/AlShevelev/HexagonalPuzzle
Платформа: Flutter/кроссплатформа
⭐️: 1
👍1
Акторы в Swift

На конференции WWDC21 компания Apple представила новую фичу под названием Actors, которая решает фундаментальную проблему при написании асинхронного кода — состояний гонки.

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

Но что такое актор как сущность? Это не класс и не структура.

Статья: https://medium.com/@uladzislau.komar/%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D1%8B-%D0%B2-swift-actors-in-swift-35d6618b6d02
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
10 открытых проектов, которые заставят вас полюбить Jetpack Compose

Эти 10 проектов и библиотек дадут вам толчок для изучения или глубокого погружения в Jetpack Compose. Наслаждайтесь!

Статья: https://apptractor.ru/develop/10-otkrytyh-proektov-kotorye-zastavyat-vas-polyubit-jetpack-compose.html
Платформа: Android
👍2