Cómo cortamos el monolito. Parte 1

Hola, mi nombre es Vanya. Resuelvo problemas arquitectónicos en el frontend en Tinkoff Business y ahora les cuento uno de ellos.

Hace varios años, teníamos una gran aplicación monolítica que se ha convertido en una docena de aplicaciones más pequeñas con el tiempo. En este artículo te diré qué problemas teníamos de forma habitual en el monolito, cómo los solucionamos y si merece la pena "cortar" nuestra interfaz.

Sincronización

«» , , -. , iframe . .

(- ), . , -.

Un diagrama aproximado de una aplicación frontend monolítica
-

, : « - !». .

?

, , - . :

,

, .

TBD -

, — , —

, .

(ownership) . , . - 5, 10, - (),

, . , , -

, . git flow

— , state-, , , . « »

, , , , .

— - ?

— . , , .

? :)

, , , .

, . , ( ). : 

  1. , - ,

  2. : - —

, , codemod . 100%

, —

- , , . ,

-

, «» , . , , , - , «» , .

?

- , :-) , :

  • . -, . Frame Manager, .

  • . , , window.myVar .my-bar. , - . , .

  • . : . vendor.js , vendor1.js, vendor2.js . . , — . № 4, , , url' .

, , , , , . : , ?

. , :

  1. . , . , , . , .

  2. foundation. () libs . : - , ?

  3. SPA. SPA, , , , , . , . , Frame Manager, . , , . : window.myVar, localStorage, sessionStorage, CustomEvent, postMessage .

  4. (SSR), . . . , , iframe, SSR.

.

. . , npm-. 

, , - , , , . : « , , ?» :

  • . , ? , . ?

  • .

  • ci pipeline, .

: Nx. apps/, libs/. , . ci pipeline pipeline , IaC.

tl;dr

, Frame Manager.

Esquema de interacción del cliente con microfront-end

. , . tips&tricks, :

  1. , ? , , , , , :)

  2. «», . , , , , , , .

  3. , . -, , — , , : .

  4. — , , , . /.

  5. , . , , , . , .

P. S.

, , , , , .

.




All Articles