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 . .
(- ), . , -.
, : « - !». .
?
, , - . :
|
| |
, | , . | |
| , — , — | , . |
(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.
, , , , , .