Ваш первый чистый MVI-проект для Android
В этой статье автор представляет чистую архитектуру со своей точки зрения без каких-либо сложных и тяжелых объяснений. Зачем переходить на чистую архитектуру? Она:
• Поддерживаема
• Расширяема
• Соответствует принципам SOLID
• Хорошо подходит для больших команд и проектов
Статья на Medium: https://apptractor.ru/ClnMVIAndr
Платформа: Android
👋: 158
В этой статье автор представляет чистую архитектуру со своей точки зрения без каких-либо сложных и тяжелых объяснений. Зачем переходить на чистую архитектуру? Она:
• Поддерживаема
• Расширяема
• Соответствует принципам SOLID
• Хорошо подходит для больших команд и проектов
Статья на Medium: https://apptractor.ru/ClnMVIAndr
Платформа: Android
👋: 158
Coroutine Recipes - примеры работы корутинов в Kotlin, готовый к использованию проект IntelliJ IDEA с пояснениями основ и работы:
• Базовые async/launch сравнения
• Job/Deferred вызовы завершения и отмены
• Контекстные тесты
• Параллельные и последовательные задачи. Сравнение с RxJava.
• Обработка критических секций
• Доступ к ресурсам из разных потоков
• Каналы, BroadcastChannels, ConflatedBroadcastChannels
• Буферы каналов
• Различия между каналами и потоками
• Основные операторы Flow
• Состояние и общие потоки
GitHub: https://github.com/edgar-zigis/CoroutineRecipes
Платформа: Android
⭐️: 191
• Базовые async/launch сравнения
• Job/Deferred вызовы завершения и отмены
• Контекстные тесты
• Параллельные и последовательные задачи. Сравнение с RxJava.
• Обработка критических секций
• Доступ к ресурсам из разных потоков
• Каналы, BroadcastChannels, ConflatedBroadcastChannels
• Буферы каналов
• Различия между каналами и потоками
• Основные операторы Flow
• Состояние и общие потоки
GitHub: https://github.com/edgar-zigis/CoroutineRecipes
Платформа: Android
⭐️: 191
Изучаем стандартную библиотеку Kotlin 1.5
В этой статье обсуждаются некоторые изменения стандартной библиотеки, которые вышли в версии Kotlin 1.5.
Статья на Medium: https://apptractor.ru/slktln
Платформа: Android
👋: 246
В этой статье обсуждаются некоторые изменения стандартной библиотеки, которые вышли в версии Kotlin 1.5.
Статья на Medium: https://apptractor.ru/slktln
Платформа: Android
👋: 246
Widelands - это бесплатная стратегическая игра в реальном времени с открытым исходным кодом, с однопользовательскими кампаниями и многопользовательским режимом. Игра была вдохновлена Settlers II, но в ней больше разнообразия и глубины.
GitHub: https://github.com/widelands/widelands
Платформа: Windows/Linux/MacOS
⭐️: 1.2K
GitHub: https://github.com/widelands/widelands
Платформа: Windows/Linux/MacOS
⭐️: 1.2K
Я провел тестирование Codex от OpenAI, и результаты оказались жутко хорошими
OpenAI воспользовался этой возможностью, разработав новую версию GPT-3, которая была специально обучена на коде и оптимизирована для его создания. Результат — Codex. Меня пригласили на бета-тестирование новой системы примерно через неделю после ее запуска, и с тех пор я постоянно тестирую Codex. Платформа является эволюцией GPT-3, и ее результаты пугающе хороши. Вот мои мысли и выводы после нескольких дней работы с Codex.
Перевод статьи: https://apptractor.ru/cdx
Платформа: программирование
👋: 362
OpenAI воспользовался этой возможностью, разработав новую версию GPT-3, которая была специально обучена на коде и оптимизирована для его создания. Результат — Codex. Меня пригласили на бета-тестирование новой системы примерно через неделю после ее запуска, и с тех пор я постоянно тестирую Codex. Платформа является эволюцией GPT-3, и ее результаты пугающе хороши. Вот мои мысли и выводы после нескольких дней работы с Codex.
Перевод статьи: https://apptractor.ru/cdx
Платформа: программирование
👋: 362
Atributika - это простой способ создания NSAttributedString. Библиотека обнаруживает HTML-подобные теги, ссылки, номера телефонов, хэштеги, любые регулярные выражения и стилизует их с помощью различных атрибутов, таких как шрифт, цвет и т.д. В Atributika также есть AttributedLabel, которая может сделать любое такое обнаружение кликабельным.
GitHub: https://github.com/psharanda/Atributika
Платформа: iOS
⭐️: 978
GitHub: https://github.com/psharanda/Atributika
Платформа: iOS
⭐️: 978
Compose Animations - группа библиотек, которые помогут вам создавать лучшие анимации в Jetpack Compose. API создания анимации предоставляет богатый функционал для обработки изменения состояния, но вам необходимо реализовать некоторый шаблонный код, когда дело доходит до других типов анимации. Вот он и реализован в этих библиотеках.
Библиотека на GitHub: https://github.com/touchlab-lab/compose-animations
Платформа: Android
👋: 7
Библиотека на GitHub: https://github.com/touchlab-lab/compose-animations
Платформа: Android
👋: 7
Принцип KISS для Swift-разработчиков
В первую очередь программисты пишут код, пишут модульные/UI тесты, выбирают архитектуры и делают многое другое. Поскольку программирование является самым фундаментальным в программной инженерии, эта статья посвящена только этому. Она пытается показать, можно ли заменить трудный для понимания и подробный код более простым и лаконичным, сохраняя при этом то же поведение. Таким образом, она следует принципу KISS. Принцип объясняется путем сравнения фрагментов кода в пяти различных сценариях. Хотя сниппеты написаны на Swift, большинство основных идей можно применить и в аналогичных языках.
Перевод статьи: https://apptractor.ru/ksss
Платформа: программирование
👋: 340
В первую очередь программисты пишут код, пишут модульные/UI тесты, выбирают архитектуры и делают многое другое. Поскольку программирование является самым фундаментальным в программной инженерии, эта статья посвящена только этому. Она пытается показать, можно ли заменить трудный для понимания и подробный код более простым и лаконичным, сохраняя при этом то же поведение. Таким образом, она следует принципу KISS. Принцип объясняется путем сравнения фрагментов кода в пяти различных сценариях. Хотя сниппеты написаны на Swift, большинство основных идей можно применить и в аналогичных языках.
Перевод статьи: https://apptractor.ru/ksss
Платформа: программирование
👋: 340
ShowTime - это самый простой и понятный способ показать все ваши прикосновения и жесты на экране. Библиотека идеально подходит для демонстрации, презентации или видео. ShowTime даже отображает уровень прилагаемой силы и может быть настроен для отображения фактического количества выполненных нажатий. События Apple Pencil можно настраивать и отключать по умолчанию. ShowTime работает с одно- и многооконными приложениями, а также с виджетами.
GitHub: https://github.com/KaneCheshire/ShowTime
Платформа: iOS
⭐️: 370
GitHub: https://github.com/KaneCheshire/ShowTime
Платформа: iOS
⭐️: 370
Oops No Internet - простой диалог и snackbar, который говорит пользователю о том, что у него нет Интернета. Автоматически появляются и исчезают в зависимости от состояния подключения к Сети.
Библиотека на GitHub: https://github.com/ImaginativeShohag/Oops-No-Internet
Платформа: Android
👋: 108
Библиотека на GitHub: https://github.com/ImaginativeShohag/Oops-No-Internet
Платформа: Android
👋: 108
This media is not supported in your browser
VIEW IN TELEGRAM
SoftButton - эта библиотека позволяет вам добавить неоморфный дизайн к вашим UIButton в Swift. Она поддерживает как темный, так и светлый режим, реагирует на нажатия, а также предлагает параметры настройки радиуса угла и выступа кнопки.
Библиотека на GitHub: https://github.com/PallavAg/SoftButton
Платформа: iOS
⭐️: 1
Библиотека на GitHub: https://github.com/PallavAg/SoftButton
Платформа: iOS
⭐️: 1
DeepfakeHTTP - фейковый веб-сервер, который использует HTTP-дампы как источник ответов. Можно использовать для тестирования взаимодействия с мобильными клиентами. Поддерживает тестирование и прототипирование REST, GraphQL и других API.
Сервер на GitHub: https://github.com/xnbox/DeepfakeHTTP
Платформа: веб
⭐️: 144
Сервер на GitHub: https://github.com/xnbox/DeepfakeHTTP
Платформа: веб
⭐️: 144
SegmentedArcView - progress view с широкими возможностями кастомизации. Вы можете задать любое количество сегментов, каждый отдельный сегмент можно настроить с помощью градиента, есть возможность анимации, поддержка RTL.
Библиотека на GitHub: https://github.com/edgar-zigis/SegmentedArcView
Платформа: Android
⭐️: 73
Библиотека на GitHub: https://github.com/edgar-zigis/SegmentedArcView
Платформа: Android
⭐️: 73
Производительность и скорость: как в Duolingo внедрили MVVM на Android
Приложение Duolingo начало испытывать проблемы роста из-за сложностей масштабирования их Android-архитектуры. Они смогли решить эти проблемы с производительностью и восстановить продуктивность разработчиков за счет рефакторинга до архитектуры Model-View-ViewModel и использования Android Jetpack Dagger и Hilt для внедрения зависимостей.
Перевод статьи: https://apptractor.ru/mmndr
Платформа: Android
Приложение Duolingo начало испытывать проблемы роста из-за сложностей масштабирования их Android-архитектуры. Они смогли решить эти проблемы с производительностью и восстановить продуктивность разработчиков за счет рефакторинга до архитектуры Model-View-ViewModel и использования Android Jetpack Dagger и Hilt для внедрения зависимостей.
Перевод статьи: https://apptractor.ru/mmndr
Платформа: Android
Как подготовиться к iOS-собеседованию
Илья Кузнецов, Principal iOS Engineer в inDriver, рассказывает о процессе смены работы и прохождении собеседования iOS-разработчика.
Статья: https://apptractor.ru/iossbs
⬆️: +14
+ Собеседование разработчика: 50 вопросов и ответов для iOS #1 и #2
Илья Кузнецов, Principal iOS Engineer в inDriver, рассказывает о процессе смены работы и прохождении собеседования iOS-разработчика.
Статья: https://apptractor.ru/iossbs
⬆️: +14
+ Собеседование разработчика: 50 вопросов и ответов для iOS #1 и #2
Forwarded from Mobile Development by AppTractor
Вакансия: Android Developer
Киев, full-time, office.
OBRIO - одна из продуктовых компаний экосистемы бизнесов Genesis. Mobile команда OBRIO создала и развивает мобильное приложение Nebula. Продукт уже показал высокие результаты: его активная аудитория превышает 2 млн. пользователей ежемесячно, а Android версия заняла второе место в категории LifeStyle Apps по США, обогнав Tinder 🙂
Техническая команда продукта состоит из: Android лида, middle Android разработчика, QA и DevOps инженеров. Наш стек: Kotlin, CI/CD, Dagger 2, Android Architecture Components (Room, etc.), clean architecture, Retrofit, rx 2, Socket io.
Мы обеспечим отсутсвие бюрократии, гибкое распределение задач и прямую коммуникацию с командами, свободу принятия решений, выбора современных инструментов и подходов в работе, возможность влиять на продукт, разрабатывать новые фичи с нуля и неограниченный рост: проявлять инициативу, брать на себя более амбициозные задачи, реализовывать свои идеи.
Полное описание вакансии:
https://gen-tech.breezy.hr/p/b90fb941547a
Больше о нас:
Genesis https://gen.tech/
OBRIO https://bit.ly/3fNifqQ
Nebula https://play.google.com/store/apps/details?id=genesis.nebula&hl=ru&gl=US
Наш рекрутер ответит на все твои вопросы🤔
https://t.iss.one/alinaneverova
Киев, full-time, office.
OBRIO - одна из продуктовых компаний экосистемы бизнесов Genesis. Mobile команда OBRIO создала и развивает мобильное приложение Nebula. Продукт уже показал высокие результаты: его активная аудитория превышает 2 млн. пользователей ежемесячно, а Android версия заняла второе место в категории LifeStyle Apps по США, обогнав Tinder 🙂
Техническая команда продукта состоит из: Android лида, middle Android разработчика, QA и DevOps инженеров. Наш стек: Kotlin, CI/CD, Dagger 2, Android Architecture Components (Room, etc.), clean architecture, Retrofit, rx 2, Socket io.
Мы обеспечим отсутсвие бюрократии, гибкое распределение задач и прямую коммуникацию с командами, свободу принятия решений, выбора современных инструментов и подходов в работе, возможность влиять на продукт, разрабатывать новые фичи с нуля и неограниченный рост: проявлять инициативу, брать на себя более амбициозные задачи, реализовывать свои идеи.
Полное описание вакансии:
https://gen-tech.breezy.hr/p/b90fb941547a
Больше о нас:
Genesis https://gen.tech/
OBRIO https://bit.ly/3fNifqQ
Nebula https://play.google.com/store/apps/details?id=genesis.nebula&hl=ru&gl=US
Наш рекрутер ответит на все твои вопросы🤔
https://t.iss.one/alinaneverova
gen-tech.breezy.hr
Android Developer (OBRIO) at Genesis
OBRIO - це одна з найбільших та найуспішніших компаній, яка входить в екосистему бізнесів Genesis. Ми розвиваємо наші продукти вже 2 роки і маємо у своєму портфоліо чотири додатки та один успішний exit. Наша щомісячна аудиторія становить понад 2 млн. користувачів…
TTProgressHUD - легкая библиотека для показа HUD-ов на SwiftUI. Сделаны в стиле Apple.
Библиотека на GitHub: https://github.com/honkmaster/TTProgressHUD
Платформа: iOS
⭐️: 70
Библиотека на GitHub: https://github.com/honkmaster/TTProgressHUD
Платформа: iOS
⭐️: 70
This media is not supported in your browser
VIEW IN TELEGRAM
Многопоточность и Kotlin в Яндекс.Картах: как не допустить падения новых фич на iOS
Kotlin Multiplatform пошел в прод и вот статья от Яндекс.Карт:
В статье я расскажу и покажу на примерах, с какими проблемами я столкнулся при написании многопоточного кода на Kotlin Multiplatform, как эти проблемы решать, как лучше организовывать потоки данных в многопоточной среде и что ещё нужно делать, чтобы написанное на Kotlin не падало на iOS. Увы, писать код «как обычно» не получится.
Статья: https://habr.com/ru/company/yandex/blog/575846/
Платформа: iOS
⬆️: 21
Kotlin Multiplatform пошел в прод и вот статья от Яндекс.Карт:
В статье я расскажу и покажу на примерах, с какими проблемами я столкнулся при написании многопоточного кода на Kotlin Multiplatform, как эти проблемы решать, как лучше организовывать потоки данных в многопоточной среде и что ещё нужно делать, чтобы написанное на Kotlin не падало на iOS. Увы, писать код «как обычно» не получится.
Статья: https://habr.com/ru/company/yandex/blog/575846/
Платформа: iOS
⬆️: 21
Atmostate - погодное приложение на основе OpenWeatherMap, написанное на Jetpack Compose с применением рекомендованной Google архитектуры MVVM. С офлайн кешированием, данными для текущей локации пользователя.
Приложение на GitHub: https://github.com/ramzan/Atmostate/
Платформа: Android
⭐️: 73
Приложение на GitHub: https://github.com/ramzan/Atmostate/
Платформа: Android
⭐️: 73
Google ускоряет сборку Kotlin с Kotlin Symbol Processing 1.0
Google выпустил Kotlin Symbol Processing (KSP). KSP предлагает аналогичные функции Kotlin Annotation Processing Tool (KAPT), однако он работает до 2 раз быстрее, предлагает прямой доступ к конструкциям языка Kotlin и поддерживает многоплатформенные таргеты.
KSP отходит от модели генерации заглушек, работая как плагин компилятора Kotlin — он позволяет обработчикам аннотаций читать и анализировать исходные программы и ресурсы непосредственно в Kotlin, вместо того, чтобы требовать от вас зависимости от инфраструктуры обработки аннотаций Java. Это значительно увеличивает скорость сборки (до 2 раз быстрее для тестового приложения Kotlin с Room) и означает, что KSP можно использовать для сред без Android и без JVM, таких как Kotlin/Native и Kotlin/JS.
Подробнее: https://apptractor.ru/info/news/kotlin-symbol-processing-1-0.html
Google выпустил Kotlin Symbol Processing (KSP). KSP предлагает аналогичные функции Kotlin Annotation Processing Tool (KAPT), однако он работает до 2 раз быстрее, предлагает прямой доступ к конструкциям языка Kotlin и поддерживает многоплатформенные таргеты.
KSP отходит от модели генерации заглушек, работая как плагин компилятора Kotlin — он позволяет обработчикам аннотаций читать и анализировать исходные программы и ресурсы непосредственно в Kotlin, вместо того, чтобы требовать от вас зависимости от инфраструктуры обработки аннотаций Java. Это значительно увеличивает скорость сборки (до 2 раз быстрее для тестового приложения Kotlin с Room) и означает, что KSP можно использовать для сред без Android и без JVM, таких как Kotlin/Native и Kotlin/JS.
Подробнее: https://apptractor.ru/info/news/kotlin-symbol-processing-1-0.html