Hi, my name is Vanya. I solve architectural problems on the frontend in Tinkoff Business and now I will tell you about one of them.
Several years ago, we had a large monolithic application that has grown into a dozen smaller ones over time. In this article I will tell you what problems we had on a regular basis in the monolith, how we solved them and whether it is worth “sawing” our frontend.
Synchronization
«» , , -. , 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.
, , , , , .