Построение Библиотек Компонентов И Их Организация. Или Как Получить Максимальную Отдачу От Вашего Бизнеса С Помощью React И Angular

Наша компания разрабатывает десятки продуктов.

Ряд продуктов работает на Angular, некоторые — на React. Пользователи системы в зависимости от стадии бизнес-процесса и роли взаимодействуют с конкретным приложением.

Часто нам, как бизнесу, необходимо показывать одни и те же данные в разных местах.

Эти данные отображаются как компоненты пользовательского интерфейса.

В этой статье мы узнаем, как организовать библиотеки компонентов для решения бизнес-задач.

Давайте научимся повторно использовать и запускать компоненты React внутри Angular. Таким образом, мы сможем гибко и эффективно решать бизнес-задачи.



Построение библиотек компонентов и их организация.
</p><p>
 Или как получить максимальную отдачу от вашего бизнеса с помощью React и Angular

Допустим, у нас есть 10 приложений.

3 для React, 7 для Angular. Мы отображаем информацию о пользователе в красивом компоненте:

  • Полное имя
  • Контактный номер
  • Почта
  • Количество транзакций
  • Список тегов (новый пользователь, постоянный клиент)
Через месяц приходит бизнес и ставит задачу добавить в компонент еще 1 поле.

Первый сценарий развития (да, такое бывает – дикий запад) Команды разбросаны.

Каждый из них разрабатывает собственное приложение и хранит компоненты непосредственно в проекте.

Что происходит во время модификаций:

  • Заходим в каждый проект отдельно и дорабатываем составляющие
Оказывается, это отнимает довольно много времени.

Выполните те же действия N раз.

Второй сценарий развития (частый сценарий) Разделение на пакетную базу React и Angular. Это более позитивный сценарий.

В данном случае имеется некоторый UIKit для двух инструментов внешнего интерфейса.

Работа будет сводиться к следующим действиям:

  • Доработка компонента в React
  • Публикация пакета React
  • Обновление зависимостей в приложениях React
  • Дорабатываем компонент в Angular
  • Публикация пакета в Angular
  • Обновление зависимостей в приложениях Anguar
Действий меньше, но надо делать 2 реализации одного компонента плюс поддержка разных репозиториев.

Третий подход, о котором я расскажу: основной пакет — множество приложений.

Его подход заключается в следующем:

  • Написание компонента в React
  • Добавление слоя Angular для компонента React (передача реквизита через декораторы ввода) — проект библиотеки.

  • Публикуем 2 пакета одной командой
  • Обновление приложений
В этом случае мы получаем только одно место, которое нужно доработать под бизнес-требования и при необходимости добавить пересылку данных в обертку Angular. Код компонента Angular с использованием React:
При использовании сторонних библиотек, как и в этом подходе, важно запускать их через запуститьOutsideAngular чтобы уменьшить количество вызовов обнаружения изменений при работе с компонентом React.
   

import { AfterViewInit, Component, Input, NgZone, OnChanges, OnInit } from '@angular/core'; import * as React from 'react'; import * as ReactDOM from 'react-dom'; import Avatar, { ReactAvatarProps } from 'react-avatar'; @Component({ selector: 'app-ng-avatar', templateUrl: '.

/ng-avatar.component.html' }) export class NgAvatarComponent implements OnChanges, AfterViewInit {

Теги: #Разработка веб-сайтов #C++ #npm #react.js #react #angular #библиотека компонентов
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.