рд▓реЗрд░реЙрдп рдорд░реНрд▓рд┐рди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡

рдПрдХ рд╢рд╛рдо, рдХреЙрдлреА рдкреАрддреЗ рд╣реБрдП, рдореБрдЭреЗ рдПрдХ рд╕рд╣рдпреЛрдЧреА рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдорд┐рд▓рд╛ рдЬрд┐рд╕рдореЗрдВ "Lived" рд╢рдмреНрдж рд╣реИ рдФрд░ PiterJS рдкрд░ рдПрдХ рднрд╛рд╖рдг рдХрд╛ рд▓рд┐рдВрдХ рд╣реИ ред рдЗрд╕ рднрд╛рд╖рдг рдореЗрдВ, рд╕реНрдкреАрдХрд░ рдиреЗ рд▓реЗрд░реЙрдп рдорд░реНрд▓рд┐рди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рд▓рд┐рдпрд╛ рдФрд░ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдЧреИрд░-рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рд╛рдЗрдЯ рдкрд░ рдЕрдиреБрдХреВрд▓рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рд╡рд╣ рд╕рд╣реА рд╣реИред рдпрджрд┐ рд╣рдо рдкреЗрдЬрд╕реНрдкреАрдб рдЗрдирд╕рд╛рдЗрдЯреНрд╕ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрди рдореВрд▓реНрдп рд╣реИрдВ:


рдореЛрдмрд╛рдЗрд▓ рдлреЛрдирдбреЗрд╕реНрдХрдЯреЙрдк

рдХреНрдпрд╛ "рдиреАрдЪреЗ рдХреЛ рддреЛрдбрд╝рдирд╛" рд╕рдВрднрд╡ рд╣реИ? рд╣рд╛рдБ! рдФрд░ рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ "рдореВрдб" рдкреЗрдЬрд╕реНрдкреАрдб рдЗрдирд╕рд╛рдЗрдЯреНрд╕ рдЖрдХрд╛рд╢ рдореЗрдВ рддрд╛рд░реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ рдпрд╛ рдХрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИред



рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдХрд╛ рддрдХрдиреАрдХреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рднреА рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб рд╣реВрдВ, рдЗрд╕рдиреЗ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдЭреБрдХрд╛ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рд░рд╛рд╕реНрддрд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рд╕рд╛рдЗрдЯ рдЕрдм рд░реАрдореЗрдХ рд╣реИ, рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреЛрдИ рдЧрд▓рдд рд╣реИ!


рдкрд╣рд▓реА рд▓реЗрд░реЙрдп рдорд░реНрд▓рд┐рди рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ рдереАред рд╕рдордп рдХреЗ рд╕рд╛рде, рд╕рд╛рдЗрдЯ рдмрдврд╝рддреА рдЧрдИ, рдФрд░ рдПрдХ рдмрдбрд╝реА рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЖрдЙрдЯрд╕реЛрд░реНрд╕рд┐рдВрдЧ рд╕реЗ рдЕрдкрдиреЗ рд╡рд┐рдВрдЧ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ред


┬л┬╗, . front-end- Adobe Experience Manager (AEM). , . .


CMS , . .


  1. , . AEM, Java, AEM .
  2. . , . , , .
  3. -. HTML CSS like for like, copy-paste. AEM . HTML CSS .

:


  1. , HTML;
  2. ES5, jQuery ( ), underscore, less, bootstrap.

-. react/angular/vue/svelte, -. .


, : ┬л < >?┬╗ тАФ :


  1. JSON, HTML;
  2. JSON, SSR CMS.

тАФ ┬л ┬╗. , : ┬л, тАФ R&D, , ┬╗. . , , . A/B . , , , , . : ┬л ┬╗, тАФ , .


, - , . -. polymer , . . . HTML import v0 тАФ v1. , , .


, , -.


vanila . -. innerHTML , document.createElement .


polymer lit-element, -. lit-html , - , , -. , , , -, .


Stencil тАФ , , . -, TypeScript. - тАФ loader , . , тАФ TypeScript. , TS-, , TypeScript, any, - .


sencil, lit-element , . - . . Lighthouse 100 100 , , , js , . 1/3. HTML W3C- .


. - тАФ http/1.1. , , http/2 - - . , , , stencil. , ┬л┬╗ , , CDN, http/2. , .


, dynamic import. ( ):


  1. , body;
  2. body;
  3. ;
  4. , ( );
  5. ;
  6. switchтАжcase -, .

Intersection Observer, , , . , JS- 1/3. тАФ , , , , .


, webpack es5, es6. open-wc , , webpack.


. . - , . , , , SEO, .


:





html :


<uc-payment-options text=" " credit="visa mastercard mir" cash></uc-payment-options>

JS :




, , . , HTML devtools.


, JS , html (, тАФ ).


тАФ CORS, CDN.


.


, , lit-element shadowdom тАФ . , , . -. stencil , shadowdom, shadowdom , . stencil ie11 Edge, lit-element .


, , , .


product owner, , , ┬л┬╗ :


  1. ie11 .
  2. тАФ Chrome 2 . ┬л┬╗ , .
  3. ┬л┬╗ 2 , .
  4. Edge ( 18 ) , Edge 79 chromium .

. , . , . . , .


тАФ es5 .


-.


2 :


  1. ui-kit;
  2. - (elbrus-ui).

, ui-kit . , - , .


: - , тАФ . , -, storybook, , , - HTML-.





, . , . . , - , AEM.


тАФ , , . - - . тАФ 2 - - -, , ui-kit, elbrus-ui.


, - .


- . , , , .


┬л┬╗ -.


(basket, wishlist, compare, lk, analytics) document.body . , , , ( , , html, ).


custom event, .


, , basket:update.


, , , .


, redux, , .


, , ┬л┬╗, , тАФ -.


, ( ). , , + -, -, A/B (, , ).


  1. Basket + checkout. , .




    , lit-element , , SPA ( , ). uc-basket, -, . redux/mobx, . . , , lit-element, , -, . , , , , . , . -. - .


  2. Header. - , api.



  3. .





    SEO- . , - SEO, . Yandex: SEO- lightdom. , Yandex, Google.


  4. ( A/B 23.12.19)




    . , , , , UX/UI, . , . тАФ -. HTML, , . , , safari.



PageSpeed Insights .



, 100 100.


: 954kb (gzip) 120kb тАФ - (JS + CSS + SVG). тАФ , . , PageSpeed Insights, .


, . . , , .


. switch...case 2500 , . , , ga-, , - .


, -, , .


, , , : DOM-, . , . . , .


. , , - . , ga body. . , . , ga . .


, , , , .


  1. . , , . C , Apple UI, - (stencil). Firefox, about:config -.
  2. . , , - -. Adobe Oracle, - . :


  3. . . ┬л ┬╗ , ( ), . , ┬л react┬╗ тАФ .
  4. ui-kit. , ┬л ┬╗, - UI, api, .
  5. , shadowdom .
  6. safari selenium shadowdom .
  7. - . , shadowdom. : safari , shadowdom. , - тАФ .
  8. , . - , , , . , , lit-html, , .
  9. , constructible style sheets тАФ . , . , , . , chrome, , lit-element. JS, , , JS.
  10. , shadowdom. . . , shadowdom , , , . Slot, , . ::part() . , , - -. , , , shadowdom, . , .


    , loading=тАЭlazyтАЭ img shadowdom. , , data-src + IntersectionObserver .


  11. , , . , , . , , 116kb, 380kb тАФ . performance lighthouse 4g .


    max4721
    min192
    lazystatic

    , .


    Safari - : , , , .


    . , , , . , . - .


  12. , -. : () -? .


    1. -, , .
    2. - - .
    3. тАФ UI .
    4. html.
    5. , , . , , UI-.


react. -. react + lit-element . 2 .


All Articles