Hallo, ich heiße Vanya. Ich löse architektonische Probleme am Frontend in Tinkoff Business und erzähle Ihnen jetzt von einem davon.
Vor einigen Jahren hatten wir eine große monolithische Anwendung, die im Laufe der Zeit zu einem Dutzend kleinerer geworden ist. In diesem Artikel werde ich Ihnen sagen, welche Probleme wir regelmäßig im Monolithen hatten, wie wir sie gelöst haben und ob es sich lohnt, unser Frontend zu "sägen".

Synchronisation
«» , , -. , iframe . .
(- ), . , -.

, : « - !». .
?
, , - . :
|
| |
, | , . | |
| , — , — | , . |
(ownership) . , . - 5, 10, - (), | , . , , - | , . git flow |
| — , state-, , , . « » |
|
| , , , , . — - ? — . , , . ? :) | , , , . |
| , . , ( ). :
| , , codemod . 100% |
, — | - , , . , | - |
, «» , . , , , - , «» , .
?
- , :-) , :
. -, . Frame Manager, .
. , , window.myVar .my-bar. , - . , .
. : . vendor.js , vendor1.js, vendor2.js . . , — . № 4, , , url' .
, , , , , . : , ?
. , :
. , . , , . , .
foundation. () libs . : - , ?
— . , . , Nx Workspace. , . , . , , .
: foundation package.json. . , , tsconfig.json.
git submodule / subtree — , , , - . : . — .
— npm-, . , . : auth 1.0.0 2.0.0, , - , 2.0.1, , , - . -, -/ . . — Lerna.
SPA. SPA, , , , , . , . , Frame Manager, . , , . : window.myVar, localStorage, sessionStorage, CustomEvent, postMessage .
(SSR), . . . , , iframe, SSR.
.
. . , npm-.
, , - , , , . : « , , ?» :
. , ? , . ?
.
ci pipeline, .
: Nx. apps/, libs/. , . ci pipeline pipeline , IaC.
tl;dr
, Frame Manager.

. , . tips&tricks, :
, ? , , , , , :)
«», . , , , , , , .
, . -, , — , , : .
— , , , . /.
, . , , , . , .
P. S.
, , , , , .