This media is not supported in your browser
VIEW IN TELEGRAM
ComposeFadingEdges - это мощная библиотека Compose для Android, которая легко реализует настраиваемые исчезающие края с горизонтальной или вертикальной ориентацией, статичным или прокручиваемым содержимым, видео или рисунком.
ComposeFadingEdges на GitHub: https://github.com/GIGAMOLE/ComposeFadingEdges
Платформа: Android
⭐️: 42
ComposeFadingEdges на GitHub: https://github.com/GIGAMOLE/ComposeFadingEdges
Платформа: Android
⭐️: 42
Универсальные датасорсы в iOS-разработке
В мире iOS-разработки, коллекции – это основной инструмент для представления данных в упорядоченной форме, таких как списки, таблицы, галереи фотографий или медиа-файлов. Они широко используются в различных сервисах, от социальных сетей до медицинских приложений. Однако, для создания эффективных и высокопроизводительных систем, необходимо иметь гибкое и масштабируемое решение для управления данными в коллекциях. Именно здесь на сцену выходят универсальные датасорсы.
Статья: https://habr.com/ru/companies/tensor/articles/763582/
Платформа: iOS
В мире iOS-разработки, коллекции – это основной инструмент для представления данных в упорядоченной форме, таких как списки, таблицы, галереи фотографий или медиа-файлов. Они широко используются в различных сервисах, от социальных сетей до медицинских приложений. Однако, для создания эффективных и высокопроизводительных систем, необходимо иметь гибкое и масштабируемое решение для управления данными в коллекциях. Именно здесь на сцену выходят универсальные датасорсы.
Статья: https://habr.com/ru/companies/tensor/articles/763582/
Платформа: iOS
Возможна ли жизнь после плеймаркета?
Всё не так плохо, как кажется. Мы были готовы к такому исходу событий и заранее изучали альтернативы. В андроиде существует определенное количество мест распространения — я буду их называть альтернативные сторы.
Статья: https://habr.com/ru/companies/alfa/articles/763976/
Платформа: Android
Всё не так плохо, как кажется. Мы были готовы к такому исходу событий и заранее изучали альтернативы. В андроиде существует определенное количество мест распространения — я буду их называть альтернативные сторы.
Статья: https://habr.com/ru/companies/alfa/articles/763976/
Платформа: Android
Использование строковых ресурсов в ViewModel
При создании приложений для Android одним из распространенных "подводных камней" является использование строковых ресурсов во ViewModel.
В этой статье мы выясним, почему включение строковых ресурсов непосредственно в ViewModel может вызвать проблемы, и рассмотрим альтернативные методы их решения.
Статья: https://apptractor.ru/info/articles/ispolzovanie-strokovyh-resursov-v-viewmodel.html
Платформа: Android
При создании приложений для Android одним из распространенных "подводных камней" является использование строковых ресурсов во ViewModel.
В этой статье мы выясним, почему включение строковых ресурсов непосредственно в ViewModel может вызвать проблемы, и рассмотрим альтернативные методы их решения.
Статья: https://apptractor.ru/info/articles/ispolzovanie-strokovyh-resursov-v-viewmodel.html
Платформа: Android
MetaCodable - расширение возможностей реализации
MetaCodable нацелен на повышение эффективности ваших реализаций Codable, предоставляя следующие возможности:
• Позволяет объявлять пользовательские значения
• Позволяет создавать плоскую модель для вложенных значений
• Позволяет создавать композицию из нескольких типов
• Позволяет предоставлять значение по умолчанию в случае сбоев декодирования с помощью
• Позволяет создавать пользовательские стратегии декодирования/кодирования с помощью
• Позволяет игнорировать определенные свойства при декодировании/кодировании с помощью
• Позволяет игнорировать все инициализированные свойства типа при декодировании/кодировании с помощью функции
MetaCodable на GitHub: https://github.com/SwiftyLab/MetaCodable
Платформа: iOS
⭐️: 180
Codable
в Swift с помощью макросов. Фреймворк предоставляет пользовательские макросы, которые могут быть использованы для генерации динамических реализаций Codable. Ядром фреймворка является макрос Codable(), который генерирует реализацию на основе данных, предоставляемых с помощью других макросов.MetaCodable нацелен на повышение эффективности ваших реализаций Codable, предоставляя следующие возможности:
• Позволяет объявлять пользовательские значения
CodingKey
для каждой переменной, вместо того чтобы писать все значения CodingKey
с помощью CodedAt(_:)
, передавая один аргумент.• Позволяет создавать плоскую модель для вложенных значений
CodingKey
с CodedAt(_:)
и CodedIn(_:)
.• Позволяет создавать композицию из нескольких типов
Codable
с помощью CodedAt(_:)
, не передавая никаких аргументов.• Позволяет предоставлять значение по умолчанию в случае сбоев декодирования с помощью
Default(_:)
.• Позволяет создавать пользовательские стратегии декодирования/кодирования с помощью
HelperCoder
и использовать их с помощью CodedBy(_:)
, т.е. LossySequenceCoder
и т.д.• Позволяет игнорировать определенные свойства при декодировании/кодировании с помощью
IgnoreCoding()
, IgnoreDecoding()
и @IgnoreEncoding()
.• Позволяет игнорировать все инициализированные свойства типа при декодировании/кодировании с помощью функции
IgnoreCodingInitialized()
, если они явно не запрошены для декодирования/кодирования путем добавления каких-либо атрибутов кодирования, т.е. CodedIn(_:)
, CodedAt(_:)
, CodedBy(_:)
, Default(_:)
и т.д.MetaCodable на GitHub: https://github.com/SwiftyLab/MetaCodable
Платформа: iOS
⭐️: 180
GitHub
GitHub - SwiftyLab/MetaCodable: Supercharge Swift's Codable implementations with macros meta-programming.
Supercharge Swift's Codable implementations with macros meta-programming. - SwiftyLab/MetaCodable
Как создать Todo-приложение с помощью Cloud Firestore, MVI, Kotlin и Jetpack Compose
6 видео.
Плейлист: https://www.youtube.com/playlist?list=PLA7YMGupLhlGdLMlZQUuplhUfnTQUWxTc
Платформа: Android
6 видео.
Плейлист: https://www.youtube.com/playlist?list=PLA7YMGupLhlGdLMlZQUuplhUfnTQUWxTc
Платформа: Android
❤2
Как начать работу со Swift Concurrency
В видео:
00:00:00 - Введение
00:03:58 - Async await в Swift с примерами кода
00:50:18 - Обертывание существующего асинхронного кода в async/await в Swift
01:09:06 - Async let: параллельный вызов асинхронных функций
01:19:53 - Какую роль играют Task в системе параллелизма Swift?
01:48:00 - Понимание групп задач Swift на примере
02:11:14 - Заключение
Видео: https://www.youtube.com/watch?v=TOIUI369RzU
Платформа: iOS
В видео:
00:00:00 - Введение
00:03:58 - Async await в Swift с примерами кода
00:50:18 - Обертывание существующего асинхронного кода в async/await в Swift
01:09:06 - Async let: параллельный вызов асинхронных функций
01:19:53 - Какую роль играют Task в системе параллелизма Swift?
01:48:00 - Понимание групп задач Swift на примере
02:11:14 - Заключение
Видео: https://www.youtube.com/watch?v=TOIUI369RzU
Платформа: iOS
👍1
Notify - это простое приложение для заметок, созданное с использованием современных средств Android-разработки. Этот проект демонстрирует хорошую реализацию Android-приложения с правильным проектированием архитектуры. Используется: MVVM, Kotlin, корутины, Jetpack Compose UI Toolkit, Android Architecture Components, Dependency Injection, Material Components for Android, Accompanist и Biometric.
Notify на GItHub: https://github.com/aritra-tech/Notify
Платформа: Android
⭐️: 116
Notify на GItHub: https://github.com/aritra-tech/Notify
Платформа: Android
⭐️: 116
Вы не так готовите Kingfisher, или как самураи работают с загрузкой изображений
У самурая нет цели, есть только путь. И никакой самурай уж точно не станет изобретать велосипед, чтобы этот путь проехать. Вот и у меня нет цели дать готовый рецепт — только указать верное направление.
В статье разберемся с тем, как использовать готовые решения, не допуская распространенных ошибок, на которые часто подталкивают авторы библиотек для загрузки и отображения картинок.
Статья: https://habr.com/ru/articles/761772/
Платформа: iOS
У самурая нет цели, есть только путь. И никакой самурай уж точно не станет изобретать велосипед, чтобы этот путь проехать. Вот и у меня нет цели дать готовый рецепт — только указать верное направление.
В статье разберемся с тем, как использовать готовые решения, не допуская распространенных ошибок, на которые часто подталкивают авторы библиотек для загрузки и отображения картинок.
Статья: https://habr.com/ru/articles/761772/
Платформа: iOS
Библиотека Scout — быстрый и безопасный DI на Kotlin
Яндекс выпустил свою DI-библиотеку для Kotlin. Используется в приложении Маркета.
Scout на GitHub: https://github.com/yandex/scout
Статья: https://habr.com/ru/companies/yandex/articles/764920/
Платформа: Android
⭐️: 7
Яндекс выпустил свою DI-библиотеку для Kotlin. Используется в приложении Маркета.
Scout на GitHub: https://github.com/yandex/scout
Статья: https://habr.com/ru/companies/yandex/articles/764920/
Платформа: Android
⭐️: 7
🔥2😱2
Побочные эффекты Jetpack Compose в подробностях
Цель побочных эффектов в Jetpack Compose - обеспечить возможность выполнения операций, не связанных с пользовательским интерфейсом, которые изменяют состояние приложения вне Composable-функции контролируемым и предсказуемым образом.
Побочные эффекты, такие как обновление базы данных или сетевой вызов, должны быть отделены от логики рендеринга пользовательского интерфейса для повышения производительности и удобства сопровождения кода.
Jetpack Compose предоставляет несколько функций Composable, таких как
Статья: https://apptractor.ru/info/articles/pobochnye-effekty-jetpack-compose-v-podrobnostyah.html
Платформа: Android
Цель побочных эффектов в Jetpack Compose - обеспечить возможность выполнения операций, не связанных с пользовательским интерфейсом, которые изменяют состояние приложения вне Composable-функции контролируемым и предсказуемым образом.
Побочные эффекты, такие как обновление базы данных или сетевой вызов, должны быть отделены от логики рендеринга пользовательского интерфейса для повышения производительности и удобства сопровождения кода.
Jetpack Compose предоставляет несколько функций Composable, таких как
SideEffect
, LaunchedEffect
и DisposableEffect
.Статья: https://apptractor.ru/info/articles/pobochnye-effekty-jetpack-compose-v-podrobnostyah.html
Платформа: Android
Papyrus - это типобезопасный HTTP-клиент для Swift. Он превращает ваши API в чистые и лаконичные протоколы Swift, в которых каждая функция представляет собой конечную точку API. А аннотации к протоколу, функциям и параметрам помогают конструировать запросы и декодировать ответы.
Papyrus на GitHub: https://github.com/joshuawright11/papyrus
Платформа: iOS
⭐️: 117
Papyrus на GitHub: https://github.com/joshuawright11/papyrus
Платформа: iOS
⭐️: 117
GitHub
GitHub - joshuawright11/papyrus: A type-safe HTTP client for Swift.
A type-safe HTTP client for Swift. Contribute to joshuawright11/papyrus development by creating an account on GitHub.
Осваиваем фреймворк Observation в Swift
Новый фреймворк Observation в сочетании с функциями Swift Concurrency позволяет заменить Combine, который выглядит устаревшим по мнению Apple. В этой статье мы узнаем, как использовать фреймворк Observation для обработки потоков данных в наших приложениях.
Статья: https://apptractor.ru/info/articles/osvaivaem-freymvork-observation-v-swift.html
Платформа: iOS
Новый фреймворк Observation в сочетании с функциями Swift Concurrency позволяет заменить Combine, который выглядит устаревшим по мнению Apple. В этой статье мы узнаем, как использовать фреймворк Observation для обработки потоков данных в наших приложениях.
Статья: https://apptractor.ru/info/articles/osvaivaem-freymvork-observation-v-swift.html
Платформа: iOS
AppTractor
Осваиваем фреймворк Observation в Swift
В этой статье мы узнаем, как использовать фреймворк Observation для обработки потоков данных в наших приложениях.
Добавление кастомных шрифтов Google в приложение
Видео: https://www.youtube.com/watch?v=9HGbwifxirw
Платформа: Android
Видео: https://www.youtube.com/watch?v=9HGbwifxirw
Платформа: Android
AnyPass - это универсальное решение для управления паролями, генерации паролей и анализа их состояния. Внутри Kotlin, Compose Multiplatform, корутины, Swift, модуляризация, Koin, Firebase, Coil, Ktlint и многое другое.
AnyPass на GitHub: https://github.com/getspherelabs/anypass-kmp
Платформа: Android/кроссплатформа
⭐️: 92
AnyPass на GitHub: https://github.com/getspherelabs/anypass-kmp
Платформа: Android/кроссплатформа
⭐️: 92
👍2
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
•
(iOS Ru)
Как ускорить сборку проекта и не остановить разработку•
(iOS Ru)
Забудь про UITableView•
(iOS Ru)
Новые подходы к работе с регулярными выражениями в Swift. Просто о сложном•
(iOS Ru)
О дивный новый мир со Swift Concurrency•
(iOS En)
Custom In-App Notification’s – Xcode 15 – SwiftUI Tutorials•
(iOS En)
How to get started with Swift Concurrency (Beginner Tutorial)•
(iOS En)
Changing Status Bar Style in 5 Min's - SwiftUI•
(iOS En)
Build an Air Quality Index App with SwiftUI Map & Google AQI API•
(iOS En)
How to Build a Custom Sheet in SwiftUI•
(iOS En)
New and Deprecated APIs in iOS 17•
(And Ru)
Как устроена логика навигации флоу в приложении Тинькофф•
(And Ru)
Введение в безопасность Android-приложений•
(And Ru)
Удалил один класс, а сломался весь проект: Decoupling•
(And Ru)
Корутинные загадки•
(And Ru)
Измеряем sequence•
(And En)
Now in Android: 92 - Studio Bot expansion, Firebase integration, Android Studio, and much more!•
(And En)
How to Build a Camera App With CameraX - Taking Photos•
(And En)
How to Build a Custom Gradle Plugin to Share Project Config - Multi-Module Architecture•
(And En)
Add Custom Google Fonts in your App•
(And En)
How to make and use BOM (Bill of Materials) dependencies in Android projects•
(Crs Ru)
Генератор межъязыковых мостов для мобильных приложений PyDjinni•
(Crs En)
KMP Hopes & Dreamcatchers with Ritesh GuptaПоставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻
AppTractor
Как ускорить сборку проекта и не остановить разработку
Тинькофф Бизнес ускорили холодную сборку до 2 раз.
Подборка видео про новый фреймворк Observation
Новый фреймворк Observation в сочетании с функциями Swift Concurrency позволяет заменить Combine, который выглядит устаревшим по мнению Apple.
• Фреймворк Observation (SwiftUI + iOS 17)
• iOS 17 Data Flow with Observation Framework
• SwiftUI Data Flow in iOS 17 - Observation & @Observable
• SwiftUI Data Flow with the new Observation - simpler SwiftUI code and improved performance in iOS 17
• Swift Observation from Scratch
Платформа: iOS
Новый фреймворк Observation в сочетании с функциями Swift Concurrency позволяет заменить Combine, который выглядит устаревшим по мнению Apple.
• Фреймворк Observation (SwiftUI + iOS 17)
• iOS 17 Data Flow with Observation Framework
• SwiftUI Data Flow in iOS 17 - Observation & @Observable
• SwiftUI Data Flow with the new Observation - simpler SwiftUI code and improved performance in iOS 17
• Swift Observation from Scratch
Платформа: iOS
Как эффективно провести модульное тестирование большого MVVM-приложения? The Unit Testing Diet Sample App - пример чат-приложения для Android, который демонстрирует, как следовать Behavior-Driven Development (BDD) путем написания модульных тестов, проверяющих поведение пользователя и результат, который он воспринимает, без проверки деталей реализации. Тесты написаны в стиле Given-When-Then и охватывают уровни ViewModel, UseCase и Repository, без использования моков.
The Unit Testing Diet Sample App на GitHub: https://github.com/steliosfran/unit-testing-diet
Платформа: Android
⭐️: 7
The Unit Testing Diet Sample App на GitHub: https://github.com/steliosfran/unit-testing-diet
Платформа: Android
⭐️: 7
GitHub
GitHub - steliosfran/unit-testing-diet: Sample Android chat application demonstrating how to follow Behavior-Driven Development…
Sample Android chat application demonstrating how to follow Behavior-Driven Development (BDD), by writing unit tests that test the behavior and not the implementation. - steliosfran/unit-testing-diet
Open Interpreter позволяет LLM выполнять код (Python, Javascript, Shell и др.) локально. Вы можете общаться с Open Interpreter через ChatGPT-подобный интерфейс в терминале, запустив после установки $ interpreter.
Он обеспечивает естественно-языковой интерфейс к задачам общего назначения - таким, как:
• Создание и редактирование фотографий, видео, PDF-файлов и т.д.
• Управление браузером Chrome для проведения исследований
• Создание, очистка и анализ больших массивов данных
...и т.д.
Open Interpreter на GitHub: https://github.com/KillianLucas/open-interpreter
Платформа: разработка
⭐️: 28.7K
Он обеспечивает естественно-языковой интерфейс к задачам общего назначения - таким, как:
• Создание и редактирование фотографий, видео, PDF-файлов и т.д.
• Управление браузером Chrome для проведения исследований
• Создание, очистка и анализ больших массивов данных
...и т.д.
Open Interpreter на GitHub: https://github.com/KillianLucas/open-interpreter
Платформа: разработка
⭐️: 28.7K
This media is not supported in your browser
VIEW IN TELEGRAM
BigUIPaging - коллекция элементов SwiftUI для управления страницами контента.
BigUIPaging на GitHub: https://github.com/notsobigcompany/BigUIPaging
Платформа: iOS
⭐️: 118
BigUIPaging на GitHub: https://github.com/notsobigcompany/BigUIPaging
Платформа: iOS
⭐️: 118
👍1