View Model не обязательно наследоваться от ViewModel
Рекомендованные практики от Google, как правило, включают использование ViewModel в качестве базового класса для View Models (тех, которые в MVVM). ViewModel — отличная штука для сохранения чего угодно в случае поворота экрана: будь то View Model, Presenter или Router. Но можно ли получить все преимущества выживания при повороте без необходимости наследоваться от ViewModel напрямую?
Статья: https://apptractor.ru/vmdl
Платформа: Android
⬆️: +10
Рекомендованные практики от Google, как правило, включают использование ViewModel в качестве базового класса для View Models (тех, которые в MVVM). ViewModel — отличная штука для сохранения чего угодно в случае поворота экрана: будь то View Model, Presenter или Router. Но можно ли получить все преимущества выживания при повороте без необходимости наследоваться от ViewModel напрямую?
Статья: https://apptractor.ru/vmdl
Платформа: Android
⬆️: +10
Подборка видео Swift Heroes 2021 - виртуальной конференции, посвященной вопросам iOS-разработки. В этом плейлисте SwiftUI, CoreText, масштабируемая архитектура. Всего 20 видео.
Видео: https://apptractor.ru/sfth
Платформа: iOS
Видео: https://apptractor.ru/sfth
Платформа: iOS
Властелин модулей. Продолжение истории
В 2018 году на одной из конференций Александр Блинов представил доклад «Властелин модулей». С тех пор утекло много воды, а многомодульность в проекте HH.ru приняла финальные очертания. В этой статье он рассказывает о допущенных ранее ошибках, как выглядит работа с модулями сейчас и как проектировать сложные решения.
Статья: https://habr.com/ru/company/hh/blog/566450/
Платформа: Android
⬆️: +7
В 2018 году на одной из конференций Александр Блинов представил доклад «Властелин модулей». С тех пор утекло много воды, а многомодульность в проекте HH.ru приняла финальные очертания. В этой статье он рассказывает о допущенных ранее ошибках, как выглядит работа с модулями сейчас и как проектировать сложные решения.
Статья: https://habr.com/ru/company/hh/blog/566450/
Платформа: Android
⬆️: +7
Google выпустил Android Game Development Kit (AGDK), полный набор инструментов и библиотек, которые помогут вам разрабатывать, оптимизировать и выпускать высококачественные игры для Android.
В AGDK заложено три ключевых принципа:
• Код, созданный для разработки игр. Все библиотеки были написаны и протестированы с учетом производительности с использованием C или C++.
• Уменьшение фрагментации. Инструменты и библиотеки AGDK работают во многих различных версиях Android.
• Создано Android для Android. Функции будут расширены в следующих обновлениях платформы Android, а библиотеки по возможности обеспечат обратную совместимость.
В этом первоначальном запуске разработчики сосредоточились на трех основных областях, в которых они получили много отзывов от сообщества разработчиков: интегрированные рабочие процессы, игровые библиотеки C/C++ и оптимизация производительности.
Официальный сайт: https://developer.android.com/games/agdk
В AGDK заложено три ключевых принципа:
• Код, созданный для разработки игр. Все библиотеки были написаны и протестированы с учетом производительности с использованием C или C++.
• Уменьшение фрагментации. Инструменты и библиотеки AGDK работают во многих различных версиях Android.
• Создано Android для Android. Функции будут расширены в следующих обновлениях платформы Android, а библиотеки по возможности обеспечат обратную совместимость.
В этом первоначальном запуске разработчики сосредоточились на трех основных областях, в которых они получили много отзывов от сообщества разработчиков: интегрированные рабочие процессы, игровые библиотеки C/C++ и оптимизация производительности.
Официальный сайт: https://developer.android.com/games/agdk
Представляем DocC: новый инструмент для написания документации в Xcode
На этой WWDC Apple представила новый инструмент создания документации для пакетов и фреймворков Swift - DocC.
DocC, как следует из названия, представляет собой компилятор документов (Document Compiler), он работает с компилятором Swift в создании документации для фреймворков и пакетов Swift, и глубоко интегрирован в Xcode. DocC создает документацию в стиле Apple, которую вы можете увидеть прямо в окне в Xcode, и, что еще лучше, вы можете разместить документацию в виде веб-сайта.
В этой статье изучают DocC в двух подходах. В первой части показывается, как вы можете документировать свои фреймворки и пакеты с помощью разметки DocC и генерировать документацию для Xcode, а во второй части - как вы можете разместить свой документ в виде веб-сайта.
Статья на Medium: https://apptractor.ru/dccxcdoe
Платформа: iOS
👋: 328
На этой WWDC Apple представила новый инструмент создания документации для пакетов и фреймворков Swift - DocC.
DocC, как следует из названия, представляет собой компилятор документов (Document Compiler), он работает с компилятором Swift в создании документации для фреймворков и пакетов Swift, и глубоко интегрирован в Xcode. DocC создает документацию в стиле Apple, которую вы можете увидеть прямо в окне в Xcode, и, что еще лучше, вы можете разместить документацию в виде веб-сайта.
В этой статье изучают DocC в двух подходах. В первой части показывается, как вы можете документировать свои фреймворки и пакеты с помощью разметки DocC и генерировать документацию для Xcode, а во второй части - как вы можете разместить свой документ в виде веб-сайта.
Статья на Medium: https://apptractor.ru/dccxcdoe
Платформа: iOS
👋: 328
ReactorKit - это фреймворк для реактивной и однонаправленной архитектуры приложений Swift (действия пользователя и состояния экранов доставляются на каждый слой через наблюдаемые потоки - эти потоки однонаправлены: представление может только испускать действия, а реактор может только испускать состояния). В этом репозитории представлена основная концепция ReactorKit и описано, как создавать приложения с помощью ReactorKit.
GitHub: https://github.com/ReactorKit/ReactorKit
Платформа: iOS
⭐️: 2.2К
GitHub: https://github.com/ReactorKit/ReactorKit
Платформа: iOS
⭐️: 2.2К
Собеседование Неклюдов - Мацюк
За виртуальным столом встретились два культовых специалиста Android сообщества и оба Android GDE. Сторона "Интервьюер" - Денис Неклюдов, Staff Mobile Engineer в Lyft, а со стороны "Кандидат" - Евгений Мацюк, Software Expert из Лаборатории Касперского!
Видео: https://apptractor.ru/info/media/sobesedovanie-neklyudov-matsyuk.html
Платформа: Android
👍: 377
За виртуальным столом встретились два культовых специалиста Android сообщества и оба Android GDE. Сторона "Интервьюер" - Денис Неклюдов, Staff Mobile Engineer в Lyft, а со стороны "Кандидат" - Евгений Мацюк, Software Expert из Лаборатории Касперского!
Видео: https://apptractor.ru/info/media/sobesedovanie-neklyudov-matsyuk.html
Платформа: Android
👍: 377
Compose Path Finding - простое мобильное приложение, визуализирующее нахождение пути (Алгоритм Дейкстры) и демонстрирующее применение Jetpack Compose в Android.
GitHub: https://github.com/crjacinro/compose-path-finding
Платформа: Android
⭐️: 26
GitHub: https://github.com/crjacinro/compose-path-finding
Платформа: Android
⭐️: 26
Мой стек iOS-разработки 2021
В этом статье я расскажу об инструментах, архитектуре и ресурсах, которые я сейчас использую для разработки.
Немного обо мне: я iOS-инженер из Кейптауна, ЮАР. Занимаюсь разработкой приложений для iOS более 5 лет в сфере FinTech и электронной коммерции. Мне нравится создавать продукты, которые влияют на жизнь людей, и я думаю на Swift ⚡️😉.
Перевод: https://apptractor.ru/iostsru
Оригинал: https://apptractor.ru/iosts
Платформа: iOS
👋: 228
В этом статье я расскажу об инструментах, архитектуре и ресурсах, которые я сейчас использую для разработки.
Немного обо мне: я iOS-инженер из Кейптауна, ЮАР. Занимаюсь разработкой приложений для iOS более 5 лет в сфере FinTech и электронной коммерции. Мне нравится создавать продукты, которые влияют на жизнь людей, и я думаю на Swift ⚡️😉.
Перевод: https://apptractor.ru/iostsru
Оригинал: https://apptractor.ru/iosts
Платформа: iOS
👋: 228
This media is not supported in your browser
VIEW IN TELEGRAM
Hammer - библиотека синтеза сенсорного и клавиатурного ввода для имитации взаимодействия с пользователем, предназначенная для юнит-тестов iOS-приложений. Умеет работать со стилусом, клавиатурой, жестами, ждать симулятор и искать View для взаимодействий.
GitHub: https://github.com/lyft/Hammer
Платформа: iOS
⭐️: 237
GitHub: https://github.com/lyft/Hammer
Платформа: iOS
⭐️: 237
Pacman Compose - еще одна игра на Jetpack Compose, теперь это Pacman. Весь UI в нем сделан на Jetpack Compose, внутри Kotlin, анимации AnimateFloatAsState и InfiniteTransition, Canvas API.
GitHub: https://github.com/danielmbutler/Pacman_Compose
Платформа: Android
⭐️: 12
GitHub: https://github.com/danielmbutler/Pacman_Compose
Платформа: Android
⭐️: 12
Pulse - это мощная система логирования для платформ Apple. Нативная. Создана с использованием SwiftUI. Записывайте и проверяйте сетевые запросы и логи прямо из iOS-приложений с помощью Pulse Console. Делитесь логами и просматривайте их в приложении Pulse для macOS. Логи записываются локально и никогда не покидают ваше устройство.
GitHub: https://github.com/kean/Pulse
Платформа: iOS
⭐️: 3.2К
GitHub: https://github.com/kean/Pulse
Платформа: iOS
⭐️: 3.2К
KAHelpers - набор расширений и хелперов Kotlin для упрощения и ускорения разработки. Есть код практически для всего - от accessibility до viewpager2.
GitHub: https://github.com/FunkyMuse/KAHelpers
Платформа: Android
⭐️: 465
GitHub: https://github.com/FunkyMuse/KAHelpers
Платформа: Android
⭐️: 465
GitHub
GitHub - FunkyMuse/KAHelpers: Kotlin Extensions (Android extensions) and Helpers for smoother Android development
Kotlin Extensions (Android extensions) and Helpers for smoother Android development - GitHub - FunkyMuse/KAHelpers: Kotlin Extensions (Android extensions) and Helpers for smoother Android development
CoreStore - обертка для Core Data, обеспечивающая безопасное и удобное управление данными, а также реализацию лучших практики в работе с базой данных. Есть API для SwiftUI и Combine, работа с DiffableDataSources, работа с данными в памяти и постоянном хранилище, безопасная конкурентная архитектура и многое другое.
GitHub: https://github.com/JohnEstropia/CoreStore
Платформа: iOS
⭐️: 3К
GitHub: https://github.com/JohnEstropia/CoreStore
Платформа: iOS
⭐️: 3К
Как добавить анимацию переворачивания карточки в Android-приложение
Недавно мы в HealthifyMe обновили дашборд, чтобы сделать его более привлекательным для пользователей. И мы попробовали действительно классные анимации. Одна из них — анимация переворачивающейся карточки. Если пользователь отслеживает потребление воды, сон или что-то еще, и достигает своей цели, мы переворачиваем карточку с прогресса на вознаграждение.
В этой статье мы покажем, как это реализовать.
Статья: https://apptractor.ru/flcrdru
Статья на Medium: https://apptractor.ru/flcrd
Платформа: Android
👋: 204
Недавно мы в HealthifyMe обновили дашборд, чтобы сделать его более привлекательным для пользователей. И мы попробовали действительно классные анимации. Одна из них — анимация переворачивающейся карточки. Если пользователь отслеживает потребление воды, сон или что-то еще, и достигает своей цели, мы переворачиваем карточку с прогресса на вознаграждение.
В этой статье мы покажем, как это реализовать.
Статья: https://apptractor.ru/flcrdru
Статья на Medium: https://apptractor.ru/flcrd
Платформа: Android
👋: 204
School - открытое приложение для продуктивности школьников, календарь и органайзер школьных задач.
GitHub: https://github.com/daannnnn/School
Платформа: Android
⭐️: 30
GitHub: https://github.com/daannnnn/School
Платформа: Android
⭐️: 30
Pix - пикер картинок и видео в стиле WhatsApp. Есть интеграция сAndroidx Camera API, поддержка Scoped storage, возможность использовать как Fragment. Написано (вернее уже переписано) на Kotlin.
GitHub: https://github.com/akshay2211/PixImagePicker
Платформа: Android
⭐️: 557
GitHub: https://github.com/akshay2211/PixImagePicker
Платформа: Android
⭐️: 557
Понимаем безопасность потоков в Swift
Параллелизм - это отправная точка для самых сложных и причудливых ошибок, с которыми когда-либо столкнется программист. Поскольку у нас, на уровне приложения, нет реального контроля над потоками и железом, нет реального способа создания модульных тестов, которые гарантировали бы правильное поведение систем при одновременной работе нескольких потоков.
В этой статье я поделюсь своими любимыми методами обеспечения безопасности потоков, а также проанализирую производительность различных механизмов.
Статья на Medium: https://apptractor.ru/tssft
Платформа: iOS
👋: 206
Параллелизм - это отправная точка для самых сложных и причудливых ошибок, с которыми когда-либо столкнется программист. Поскольку у нас, на уровне приложения, нет реального контроля над потоками и железом, нет реального способа создания модульных тестов, которые гарантировали бы правильное поведение систем при одновременной работе нескольких потоков.
В этой статье я поделюсь своими любимыми методами обеспечения безопасности потоков, а также проанализирую производительность различных механизмов.
Статья на Medium: https://apptractor.ru/tssft
Платформа: iOS
👋: 206
MIFieldValidator - валидатор полей для форм. Это самый простой проверки введенной информации, всего за одну строку кода. С его помощью вы, например, можете проверить имя, пароль, смену пароля, адрес электронной почты, номер телефона и многое другое.
GitHub: https://github.com/Mindinventory/MIFieldValidator
Платформа: iOS
⭐️: 25
GitHub: https://github.com/Mindinventory/MIFieldValidator
Платформа: iOS
⭐️: 25
Оптимизация сборки Kotlin
Kotlin, строго говоря, классный. Время сборки Kotlin, мягко говоря, не очень хорошее. Хотя многие разработчики взвесили все и пришли к выводу, что время сборки того стоит, это не меняет самого факта, что всем приходится платить эту цену
В планах есть многообещающие изменения, но, к сожалению, реальность такова, что сборки Kotlin сегодня часто идут медленно по причинам, которых можно избежать. Некоторые из них связаны с проблемами Gradle, некоторые - с проблемами Kotlin. Эта статья предназначена для того, чтобы подробно описать ряд распространенных ошибок, о которых следует знать, и то, что вы можете с ними сделать.
Статья: https://www.zacsweers.dev/optimizing-your-kotlin-build/
Платформа: Android
Kotlin, строго говоря, классный. Время сборки Kotlin, мягко говоря, не очень хорошее. Хотя многие разработчики взвесили все и пришли к выводу, что время сборки того стоит, это не меняет самого факта, что всем приходится платить эту цену
В планах есть многообещающие изменения, но, к сожалению, реальность такова, что сборки Kotlin сегодня часто идут медленно по причинам, которых можно избежать. Некоторые из них связаны с проблемами Gradle, некоторые - с проблемами Kotlin. Эта статья предназначена для того, чтобы подробно описать ряд распространенных ошибок, о которых следует знать, и то, что вы можете с ними сделать.
Статья: https://www.zacsweers.dev/optimizing-your-kotlin-build/
Платформа: Android
Voyager - это практичная навигационная библиотека, созданная для и полностью интегрированная с Jetpack Compose. С ее помощью вы можете создавать масштабируемые Single-Activity приложения, создавать навигацию с вкладками как в YouTube, создавать вложенные стеки навигации, управлять восстановлением состояния после воссоздания Activity и т.д.
GitHub: https://github.com/adrielcafe/voyager
Платформа: Android
⭐️: 147
GitHub: https://github.com/adrielcafe/voyager
Платформа: Android
⭐️: 147
GitHub
GitHub - adrielcafe/voyager: 🛸 A pragmatic navigation library for Compose Multiplatform
🛸 A pragmatic navigation library for Compose Multiplatform - adrielcafe/voyager