Компонент
будет решать ваш issue
максимально быстро, предоставляя решения.
KComponent чистая версия на Kotlin уже давно доступна, приветствуем использование всех!!!
Можно сказать, что до сих пор среди всех маршрутизаторов на основе URI
(ARouter
, WMRouter
, ActivityRouter
...) Компонент
является наиболее мощной и полной компонентной системой.
Выбор лучшего, более полного, стабильного и перспективного фреймворка — это задача вашего технического отдела или руководителя технологий!
Сравнение Компонента и ARouter
Просмотреть, какие болевые точки разработки решает Компонент
Мощная компонентная система, которая очень заботится о пользовательском опыте, приносит вам удовольствие от использования. Приглашаем вас использовать её, если вы столкнетесь с любыми проблемами во время использования, пожалуйста, задайте вопрос в QQ группе
ниже или создайте issue
.
Наиболее простой пример "Hello World"
Статьи Что такое модульная архитектура?
Конечно, вот ваш текст переведён на русский язык:
Этот компонентный подход действительно имеет множество преимуществ по сравнению с открытыми компонентными фреймворками, такими как ARouter
, WMRouter
, ActivityRouter
, CC
, DDComponent
.
Поддержка нескольких модулей
Поддержка архитектуры Google App Bundle
Поддержка проектов с Flutter, H5 и другими гибридными проектами
Поддержка androidx, что практически не реализовано в других компонентных фреймворках
Проектирование максимально приближено к нативному, минимальное вторжение в нативный код
Поддержка внедрения зависимостей и маршрутизация целевых интерфейсов
Кросс-модульные вызовы
Поддержка жизненного цикла бизнес-компонентов (загрузка и выгрузка)
Встроенный плагин IDEA для удобной навигации, регулярно обновляемый плагин
Полная поддержка RxJava2 (использует библиотеку rx)
Отделение службы от маршрутизации
Индивидуальное выполнение бизнес-модулей
Возможность перехода между маршрутами
@JavascriptInterface
public void openUrl(final String url) {
Router.with(this).url(url).forward();
}
При запуске маршрута H5 не требуется беспокоиться о предварительных условиях целевого интерфейса (страница-перехватчик уже выполнила все необходимые действия).
Поддерживает нативный анимацию перехода
Поддерживает переход Fragment
(то есть получение Fragment
между компонентами)
Поддерживает один Activity много Fragment архитектура
Направление маршрута имеет исполнение потока главного потока, в целом это асинхронное выполнение (это многие люди не понимают, ничего страшного. сначала используйте его, затем постепенно поймете) - В дизайне исполнительного потока маршрута было учтено, что большая часть кода, которую пользователи обычно пишут, составляет около 90%
главного потока,
поэтому исполнительный поток маршрута также был спроектирован как главный поток, позволяющий вам безопасно выполнять операции с UI
, отображать диалоговые окна и т.д.
При этом предоставляется механизм обратного вызова (Callback
), который позволяет выполнять любую долгоживущую задачу внутри маршрутизатора.
Это абсолютное преимущество, поскольку весь процесс является асинхронным, а внутри маршрутизатора можно писать реализацию так же, как обычно.
Отмена маршрута, практически ни один маршрутный фреймворк не поддерживает отмену маршрута, что является большим преимуществом!
Fragment
или Activity
уничтожается, маршрут автоматически отменяется.Маршрутный перехватчик, полностью удовлетворяет всем бизнес-случаям (подробнее см. перехватчик wiki)) - [x] Глобальный перехватчик (для всех маршрутов)
Локальный маршрутный перехватчик
Поддерживает стандартный URI
Поддерживает пользовательский Intent
, вы можете пометить любой Intent
как маршрут, эта функция очень мощная!
Поддерживает программирование переходов по аналогии с Retrofit
Idea Plugin
мощно поддерживает навигацию между кодом перехода и целевой страницей, а также между местом использования перехватчика и его объявлением
0 конфигураций для получения ActivityResult
, возвращаемого с целевой страницы, часто недоступной во многих фреймворках или требующей изменения базового класса BaseActivity
. Абсолютное преимущество.
Ведёт себя так же, как система, когда контекст (Context
) является контекстом приложения (Application
), службой (Service
) или провайдером содержимого (ContentProvider
). Получение ActivityResult
не поддерживается в этих случаях. Если вам действительно это нужно, вы можете использовать верхний активити стека в качестве контекста.
Кроме случаев, указанных выше, получение ActivityResult
поддерживается во всех остальных ситуациях, включая получение контекста внутри диалога.
Если вы хотите использовать этот функционал отдельно, вы можете сделать это, используя зависимость от этого модуля, ссылка здесь
Аннотация-драйвер не поддерживает частичные обновления, пока неясно, как это реализовать## 5. Дополнительный плагин для Android Studio
Поиск плагина RouterGo в Android Studio позволяет скачать соответствующий плагин.
app
--> Основной проектModule1
--> Бизнес-модуль на JavaModule1run
--> Отдельно запускаемый бизнес-модуль Module1 в виде приложенияModule2
--> Бизнес-модуль на KotlinModuleHelp
--> Модуль помощи, содержащий общие компоненты или системные зависимостиModuleUser
--> Модуль пользователяModuleBase
--> Основной модуль для каждого бизнес-компонента, все остальные модули зависят от негоComponentApi
--> Библиотека APIComponentCompiler
--> Библиотека аннотации-драйвераComponentImpl
--> Реализационная библиотекаComponentRxImpl
--> Расширение реализационной библиотеки для RxJavaComponentPlugin
--> Дополнительный Gradle-плагин, предоставляющий две возможности:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )