Comment nous avons scié le monolithe. Partie 1

Salut, je m'appelle Vanya. Je résous des problèmes d'architecture sur le frontend dans Tinkoff Business et maintenant je vais vous parler de l'un d'entre eux.

Il y a plusieurs années, nous avions une grande application monolithique qui est devenue une douzaine d'applications plus petites au fil du temps. Dans cet article, je vais vous dire quels problèmes nous avons régulièrement rencontrés dans le monolithe, comment nous les avons résolus et s'il vaut la peine de "scier" notre frontend.

Synchronisation

«» , , -. , iframe . .

(- ), . , -.

Un schéma approximatif d'une application frontend monolithique
-

, : « - !». .

?

, , - . :

,

, .

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.

Schéma d'interaction client avec microfront

. , . tips&tricks, :

  1. , ? , , , , , :)

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

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

  4. — , , , . /.

  5. , . , , , . , .

P. S.

, , , , , .

.




All Articles