Как нарезать Android-монолит с помощью compile-time плагинов?

Привет на связи Федотов Михаил и Абдульманов Эдуард, мы технические лидеры Android разработки в Альфа-Банке и занимаемся приложением для физических лиц. В этой статье вспомним наш опыт разбиения большого монолитного android приложения на мини-приложения срезки, занимались мы этим уже довольно давно, но тема все равно актуальная. Переход к таким мини-приложениям позволяет ускорить конфигурацию Gradle и уменьшить время компиляции проекта как локально так и на CI. Думаю это будет полезно тем кто интересуется архитектурой android приложений, KSP, Dagger, а также тем у кого крупное многомодульное приложение и есть проблемы с производительностью работы Gradle в проекте.

https://habr.com/ru/companies/alfa/articles/1002998/

#ksp #dagger2 #архитектура #compiletime #performance #inversion_of_control

Как нарезать Android-монолит с помощью compile-time плагинов?

Привет, на связи Федотов Михаил и Абдульманов Эдуард , мы технические лидеры Android-разработки в Альфа-банке и занимаемся приложением для физических лиц. В этой статье вспомним наш опыт разбиения...

Хабр

Как мы Best Practices в Java анализатор внедряли

История о том, как мы переписывали приложение под DI контейнеры, разбирали зависимости, рисовали графики, чтобы в этом не потеряться, и молились, чтобы ничего вдруг не сломалось.

https://habr.com/ru/companies/pvs-studio/articles/944164/

#java #dependency_injection #guice #software_architecture #clean_code #static_analysis #inversion_of_control

Как мы Best Practices в Java анализатор внедряли

История о том, как мы переписывали приложение под DI контейнеры, разбирали зависимости, рисовали графики, чтобы в этом не потеряться, и молились, чтобы ничего вдруг не сломалось. Предпосылки Первая...

Хабр

Найди x: React + MobX + SSR + x = Счастье

С ростом приложения и увеличением количества зависимостей, мы осознали необходимость в централизованном управлении зависимостями, выходящем за рамки React и MobX. Существующие IoC-контейнеры показались избыточными и тяжеловесными. Поэтому было создано собственное решение . Вы статье вы узнаете, как мы решили уравнение)

https://habr.com/ru/articles/880720/

#dependency_injection #inversion_of_control #di #ioc #react #mobx #ssr #server_side_rendering #state_management

Найди x: React + MobX + SSR + x = Счастье

Приветствую всех читателей! В мире информационных технологий наблюдается устойчивая тенденция перехода от традиционных десктопных приложений к веб-приложениям. Сегодня веб-приложения достигли...

Хабр

Разница между ранним и поздним связыванием

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

https://habr.com/ru/articles/856578/

#late_binding #early_binding #inversion_of_control #dependency_injection #teqfw

Разница между ранним и поздним связыванием

В этой публикации я « на пальцах » попытаюсь объяснить, чем отличается раннее и позднее связывание кода для обычного программиста. Не для компилятора или статического...

Хабр

Nexus-IoC — хорошо знакомый незнакомец в мире TypeScript и DI

Вы запутались в сложных графах зависимостей и бесконечных правках кода? Nexus-IoC – это лёгкое, это мощное решение для внедрения зависимостей в проектах на TypeScript. Созданная как альтернатива Inversify, эта библиотека поможет вам легко управлять модулями, находить ошибки до их появления в продакшене и даже визуализировать граф зависимостей вашего приложения! В статье я расскажу, какие проблемы решает Nexus-IoC, как начать с ним работать и как эта библиотека может сделать разработку более управляемой и предсказуемой. А также поделюсь планами на будущее. Впереди много интересного!

https://habr.com/ru/articles/853722/

#dependency_injection #inversion_of_control #typescript #javascript

Nexus-IoC — хорошо знакомый незнакомец в мире TypeScript и DI

Предыстория В одном из моих проектов мы использовали библиотеку Inversify для внедрения зависимостей (DI). Хотя это мощное и гибкое решение, его избыточная гибкость со временем обернулась против нас:...

Хабр

Формат описания идентификатора зависимости в JS DI

Эта статья для тех, кто знает, что такое “ внедрение зависимостей ” и имеет практический опыт его использования. Меня зовут Алекс Гусев и я являюсь автором библиотеки “ @teqfw/di ”. Цель моей библиотеки - дать возможность использовать функционал “ внедрение зависимостей через конструктор ” в проектах на JS (фронт и бэк) и TS (бэк). Минимальной единицей внедрения является отдельный экспорт es6-модуля. Поэтому библиотека не может использоваться с модулями CJS или UMD. В основу внедрения зависимостей заложена идея о том, что вместо статического связывания исходного кода на этапе написания (через import ) применяется динамическое связывание объектов программы в режиме выполнения. В моей библиотеке это достигается за счёт размещения в коде конструкторов (или фабричных функций) инструкций по созданию нужных им зависимостей, которые интерпретируются Контейнером Объектов при работе программы и на основании которых загружаются нужные исходники и создаются нужные зависимости. В этой статье я сформулировал правила для создания этих инструкций и хотел бы узнать у сообщества, насколько эти правила интуитивно понятны и покрывают ли все варианты использования или я что-то упустил.

https://habr.com/ru/articles/832490/

#dependency_injection #inversion_of_control #javascript #@teqfw/di

Формат описания идентификатора зависимости в JS DI

Эта статья для тех, кто знает, что такое “ внедрение зависимостей ” и имеет практический опыт его использования. Меня зовут Алекс Гусев и я являюсь автором библиотеки “ @teqfw/di ”. Цель моей...

Хабр

[Перевод] Инверсия управления Контейнеров и паттерн Инъекции Зависимостей — перевод

В основе сборки любых компонентов лежит общий шаблон того, как они выполняют прокидывание зависимостей, это концепция, которую разработчики называют очень общим именем Inversion of Control (IoC: инверсия контроля). В этой статье я углублюсь в то, как работает этот паттерн под более конкретным названием «Dependency Injection» (Инъекция зависимостей), и сравню его с альтернативой - Service Locator

https://habr.com/ru/articles/832390/

#dependency_injection #inversion_of_control #service_locator

Инверсия управления Контейнеров и паттерн Инъекции Зависимостей — перевод

Это перевод статьи Мартина Фаулера “Inversion of Control Containers and the Dependency Injection pattern В сообществе Java наблюдается бурный рост числа легковесных контейнеров (lightweight...

Хабр