ბიბლიოთეკა
00/07 · ~32 წთ
GUIDEDECK · სად და როდის იგება თქვენი HTML

რენდერინგის
სტრატეგიები & კომპრომისები
თითოეულის უკან.

32-წუთიანი სამუშაო სესია იმაზე, თუ როგორ აქცევს ვები კომპონენტებსა და მონაცემებს HTML-ად — CSR, SSR, SSG, ISR და სტრიმინგი — და როგორ ავირჩიოთ სწორი თითო როუტისთვის, ნაცვლად იმისა, რომ მთელი აპლიკაცია ერთ ნაგულისხმევზე დავდოთ.

~32 წთდამწყები → საშუალოფრეიმვორკებზე მორგებული
გადაახვიეთ
01 · რენდერინგის სპექტრი 4 წთ

ყველა სტრატეგია ორ კითხვას
პასუხობს: სად და როდის.

„რენდერინგი“ უბრალოდ ნიშნავს კომპონენტებისა და მონაცემების გადაქცევას HTML-ად, რომელსაც ბრაუზერი დახატავს. სტრატეგიებს შორის რეალურად მხოლოდ ის განსხვავდება, სად სრულდება ეს სამუშაო — ბილდის მანქანაზე, მოთხოვნის დროს სერვერზე თუ მომხმარებლის ბრაუზერში — და როდის ხდება ეს. გაასწორეთ ეს ორი ღერძი და დანარჩენი დეკი უბრალოდ რუკაზე დასახელებული წერტილებია.

რენდერინგი — გვერდის HTML-ის აგება კომპონენტებისა და მონაცემებისგან. ის შეიძლება შესრულდეს წინასწარ (ბილდზე), თითო მოთხოვნაზე (სერვერზე) ან ბრაუზერში (JavaScript-ით). რეალური აპლიკაციების უმეტესობა სამივეს ურევს — თანამედროვე კითხვა არაა „რომელი?“, არამედ „რომელი ამ როუტისთვის?“
BUILD TIME · ahead REQUEST TIME · per visit CLIENT · in the browser SSG prebuilt HTML served from CDN fastest · stale ISR prebuilt, then re-generated fast · fresher SSR HTML per request always current fresh · server cost Streaming shell now, data in chunks fast shell · async CSR browser builds it

ერთი ღერძი: ადრე აგებული HTML (SSG/ISR) სწრაფია, მაგრამ შეიძლება მოძველდეს; გვიან აგებული (SSR/CSR) აქტუალურია, მაგრამ დროს ან გამოთვლას ხარჯავს. დანარჩენი ყველაფერი დეტალია.

ბილდის დროს

დაარენდერეთ ერთხელ, დეპლოის დროს. შედეგი სტატიკური ფაილია, რომელსაც CDN მილიონობით ადამიანს თითქმის უფასოდ მიაწვდის — მაგრამ ეს სნეპშოტია.

მოთხოვნის დროს

დაარენდერეთ ახლიდან სერვერზე თითო ვიზიტორისთვის. ყოველთვის აქტუალური და პერსონალიზებადი — თითო მოხვედრაზე იხდით გამოთვლასა და დროს.

კლიენტში

გაგზავნეთ JavaScript და გვერდი ბრაუზერს ააგებინეთ. იაფი სერვერები, მდიდარი ინტერაქტიულობა — მაგრამ ნელი, ცარიელი პირველი ხატვა.

ნამდვილი პასუხი

ჰიბრიდი. სარეკლამო გვერდი — სტატიკური, დაშბორდი — კლიენტში, პროდუქტის გვერდი — რევალიდირებული. აირჩიეთ თითო როუტზე და არა თითო აპლიკაციაზე.

02 · კლიენტის მხარეს რენდერინგი — SPA 5 წთ

გაგზავნეთ ცარიელი გვერდი, მერე კი
დანარჩენს JavaScript ააგებს.

კლასიკურ single-page აპლიკაციაში სერვერი თითქმის არანაირ HTML-ს არ აგზავნის — მხოლოდ ცარიელ <div>-სა და სკრიპტის ტეგს. ბრაუზერი ჩამოტვირთავს ბანდლს, გაუშვებს მას, წამოიღებს მონაცემებს და მხოლოდ ამის მერე ხატავს ეკრანს. ბრწყინვალეა აპლიკაციური ინტერაქტიულობისთვის; მძიმეა სწორედ იმ პირველ შთაბეჭდილებაზე.

CSR — Client-Side Rendering, კლიენტის მხარეს რენდერინგი — სერვერი აბრუნებს მინიმალურ HTML გარსსა და JavaScript ბანდლს; მთელ რენდერინგს ბრაუზერი აკეთებს. ეს არის ნაგულისხმევი ჩვეულებრივი React-, Vue- ან Angular-SPA-სთვის (single-page application), რომელსაც სერვერული ფრეიმვორკი არ ახლავს.
<!-- what the server actually sends --> <body> <div id="root"></div> <!-- empty! --> <script src="/bundle.js"></script> </body> // then, in the browser, after the bundle loads: createRoot(root).render(<App />)

მომხმარებელი ცარიელ ეკრანს უყურებს, სანამ ბანდლი ჩამოიტვირთება, გაეშვება და მონაცემებს წამოიღებს — შემდეგ კი ყველაფერი ერთბაშად ჩნდება, სრულად ინტერაქტიული.

CSR იგებს, როცა
  • გვერდი ავტორიზაციის მიღმაა — დაშბორდები, რედაქტორები, შიდა ინსტრუმენტები — სადაც SEO-სა და პირველ ხატვას თითქმის არ აქვს მნიშვნელობა.
  • ინტერაქტიულობა თავად არის აზრი: drag-and-drop, ცოცხალი ტილოები, მძიმე კლიენტის მდგომარეობა.
  • გინდათ იაფი, სტატიკური ჰოსტინგი — სერვერი მხოლოდ ფაილებს აგზავნის; მთელი სამუშაო მომხმარებლის CPU-ზეა.
CSR აზარალებს, როცა
  • პირველ შთაბეჭდილებას აქვს მნიშვნელობა — ცარიელი ეკრანი, სანამ დიდი ბანდლი იტვირთება საშუალო კლასის ტელეფონზე 4G-ზე.
  • SEO-სა და ბმულის პრევიუებს აქვს მნიშვნელობა — კროულერები და სოციალური სკრეიპერები შეიძლება ცარიელ გარსს ხედავდნენ.
  • ბანდლი მუდმივად იზრდება — ყოველი დამატებული ფუნქციონალი ყოველი ვიზიტორის ჩატვირთვის დროს ბეგრავს.

როგორც  ვიღაცისთვის ავეჯის ნაწილებად და ინსტრუქციით გაგზავნა: მსუბუქად მოგზაურობს, მაგრამ ვერ გამოიყენებენ, სანამ თავად არ ააწყობენ.

03 · სერვერზე რენდერინგი და ჰიდრაცია 5 წთ

ჯერ ნამდვილი HTML გაგზავნეთ,
მერე კი გააღვიძეთ.

SSR CSR-ს პირუკუ აბრუნებს: სერვერი თქვენს კომპონენტებს თითო მოთხოვნაზე უშვებს, წამოიღებს მონაცემებს და მზა HTML-ს აგზავნის. მომხმარებელი კონტენტს თითქმის მაშინვე ხედავს. ხრიკი მეორე მოქმედებაშია — ჰიდრაცია — სადაც ბრაუზერს მაინც უწევს იმავე JS-ის ჩამოტვირთვა და მთელი ინტერაქტიულობის უკან მიბმა.

SSR — Server-Side Rendering, სერვერის მხარეს რენდერინგი — სერვერი თითო მოთხოვნაზე აგებს სრულ HTML-ს და აგზავნის, ასე რომ პირველივე ხატვა ნამდვილ კონტენტს აჩვენებს. Time to first byte ახლა თქვენს სერვერსა და მონაცემების წამოღებაზეა დამოკიდებული — იხილეთ ქსელები, თუ რატომაა TTFB მნიშვნელოვანი და როგორ შევამციროთ იგი.
ჰიდრაცია — ბრაუზერი ჩამოტვირთავს JS-ს, ხელახლა აგებს კომპონენტების ხეს და სერვერზე დარენდერებულ HTML-ს მოვლენების დამმუშავებლებს აბამს, რომ ის ინტერაქტიული გახდეს. სანამ ჰიდრაცია არ დასრულდება, გვერდი გამოიყურება მზად, მაგრამ ღილაკები არ პასუხობს — ეს უხერხული ფანჯარა ხშირად „uncanny valley“-დ ან ჰიდრაციის შეყოვნებად იწოდება.

კონტენტი ადრე იხატება (კარგია), მაგრამ არსებობს ფანჯარა, როცა ის მზად გამოიყურება და კლიკებს მაინც უგულებელყოფს — სანამ ჰიდრაცია არ დასრულდება.

რას ყიდულობს SSR — და რა უჯდება

  • სწრაფი, შინაარსიანი პირველი ხატვა — ნამდვილი კონტენტი და არა სპინერი. შესანიშნავია კონტენტისა და კომერციისთვის.
  • საიმედო SEO & პრევიუები — კროულერები სრულ HTML-ს იღებენ თქვენი JS-ის გაშვების გარეშე.
  • მაგრამ თითო მოთხოვნაზე სერვერს უშვებთ, და ნელი მონაცემები TTFB-ს აშორებს — გვერდი ვერ დაიწყება, სანამ სერვერი არ დაასრულებს.
  • და ჰიდრაციისთვის JS-ს მაინც აგზავნით — SSR ბანდლს არ ამცირებს, ის ცვლის იმას, როდის ხედავს მომხმარებელი პიქსელებს.
სად ჯდება Server Components. თანამედროვე React ამას კიდევ ყოფს: Server Components სერვერზე რენდერდება და ნულოვან JS-ს აგზავნის, ჰიდრაცია კი მხოლოდ ინტერაქტიულ Client Components-ს სჭირდება. ეს ჰიდრაციის ხარჯს დრამატულად ამცირებს — სრული მექანიკა აქაა: თანამედროვე React. აქ უბრალოდ დაიმახსოვრეთ იდეა: ყველა კომპონენტს ჰიდრაცია არ სჭირდება.
04 · სტატიკური გენერაცია და ინკრემენტული რევალიდაცია 5 წთ

დაარენდერეთ ერთხელ, მიაწოდეთ
მილიონჯერ.

თუ გვერდი ყველასთვის ერთნაირად გამოიყურება, რატომ უნდა აიგოს ის თითო მოთხოვნაზე? SSG მას დეპლოის დროს რენდერავს ჩვეულებრივ ფაილად, რომელსაც CDN მყისიერად და თითქმის უფასოდ გასცემს. ერთადერთი სისუსტე მოძველებაა — და ISR სწორედ ამის წამალია: სტატიკის სისწრაფე რჩება, ოღონდ გვერდები ჩუმად თავად ახლდება.

SSG — Static Site Generation, სტატიკური საიტის გენერაცია — ყოველი გვერდი ერთხელ, ბილდის დროს რენდერდება სტატიკურ HTML-ად. მოთხოვნის გზაზე სერვერი აღარაა: CDN წინასწარ აგებულ ფაილს მომხმარებელთან ახლოს მდებარე edge-იდან გასცემს. ყველაზე სწრაფი მიწოდებაა — მაგრამ კონტენტი გაყინულია შემდეგ დეპლოიმდე.
ISR — Incremental Static Regeneration, ინკრემენტული სტატიკური რეგენერაცია — სტატიკურ გვერდს გასცემს, მაგრამ დადგენილი ინტერვალის შემდეგ (ან მოთხოვნით) ფონურად ხელახლა რენდერავს, რომ ის აქტუალური დარჩეს სრული ბილდის გარეშე. იღებთ სტატიკის სისწრაფეს კონტროლირებადი მოძველების ფანჯრით.
// Next.js App Router — ISR by time export const revalidate = 3600 // re-build at most hourly export default async function Page({ params }) { const post = await getPost(params.slug) return <Article data={post} /> } // or on-demand, after an edit lands: revalidateTag("posts") // purge just this content

ISR დაქეშირებულ გვერდს მყისიერად გასცემს, შემდეგ კი ფონურად არეგენერირებს — მკითხველები ბილდს არასდროს ელოდებიან.

SSG ჯდება

დოკუმენტაცია, სარეკლამო გვერდები, ბლოგები, changelog-ები — კონტენტი, რომელიც იშვიათად იცვლება და ყველასთვის ერთნაირად გამოიყურება. ყველაზე იაფი და სწრაფი, რაც არსებობს.

ISR ჯდება

კატალოგები, ჩამონათვალები, სიახლეები — ძირითადად სტატიკური გვერდები, რომლებიც ან ძალიან ბევრია, ან ძალიან სწრაფად იცვლება სრული ბილდისთვის, და სადაც რამდენიმეწუთიანი მოძველება მისაღებია.

ყურადღება

თითო მომხმარებლის ან რეალურ დროში მიღებული მონაცემები (კალათა, ბალანსი, დაშბორდები) — სტატიკური ქეშირება ერთი ადამიანის ხედს მეორეს ჟონავს. ისინი დინამიური დატოვეთ. მოთხოვნით რევალიდაცია კარგად ეწყობა ქეშის ტეგებს.

როგორც  დაბეჭდილი გაზეთი (SSG) იმის საპირისპიროდ, რომელსაც პატარა ჩანართი ყოველ დილით ხელახლა ებეჭდება (ISR) — გაცილებით იაფია, ვიდრე თითო მკითხველისთვის ახალი გამოცემა.

05 · სტრიმინგი, Suspense და ნაწილობრივი პრერენდერი 5 წთ

გააგზავნეთ სწრაფი ნაწილები ახლა,
ნელი — როცა დასრულდება.

ჩვეულებრივ SSR-ს ერთი ნაკლი აქვს: მონაცემების ყველაზე ნელი ნაჭერი მთელ გვერდს მძევლად იჭერს — არაფერი იგზავნება, სანამ ყველაფერი მზად არ იქნება. სტრიმინგი ამ ჩიხს არღვევს. სერვერი მყისიერ ნაწილებს მაშინვე აგზავნის, ნელებს კი ჩანკებად ატანს, ხოლო Suspense ხვრელებში ადგილმჭერებს ხატავს.

სტრიმინგ SSR — სერვერი HTML-ს ჩანკებად აგზავნის, როგორც კი თითოეული ნაწილი მზადაა, ნაცვლად იმისა, რომ მთელი გვერდი ბუფერში დააგროვოს. Suspense-ის საზღვრები ასინქრონულ არეებს ნიშნავს: React მაშინვე აჩვენებს ფოლბექს (სკელეტონს), შემდეგ კი ნამდვილ კონტენტს ასტრიმავს, როცა მისი მონაცემები მოვა. გარსი ინტერაქტიულია, სანამ ნელი ვიჯეტები ჯერ კიდევ იტვირთება.
// the shell renders instantly; each slow part streams in export default function Dashboard() { return ( <Shell> <Suspense fallback={<Skeleton />}> <SlowRevenueChart /> // awaits a 2s query </Suspense> </Shell> ) }
სტატიკური გარსი · მყისვე
გარსი ინტერაქტიულია, სანამ ხვრელი ივსება
მენიუ · ჰედერი
<Suspense> დინამიური ხვრელი
სკელეტონი → სტრიმული კონტენტი
ფუტერი

სტატიკური გარსი მყისვე იხატება და რეაგირებს; ნელი არე ჯერ სკელეტონს აჩვენებს, შემდეგ კი ნამდვილი კონტენტი ჩამოსტრიმავს, როცა მისი მონაცემები მოვა.

PPR — Partial Prerendering, ნაწილობრივი პრერენდერი — ბუნებრივი დასასრული: ერთი როუტი გასცემს სტატიკურ, CDN-ში დაქეშირებულ გარსს, რომელშიც დინამიური ხვრელები ჩამოსტრიმავს თითო მოთხოვნაზე — ერთ პასუხში აერთიანებს SSG-ის მყისიერ პირველ ხატვასა და SSR-ის აქტუალურობას. Next.js 16-ში ეს Cache Components-სა და use cache დირექტივაზეა აგებული: თქვენ ნიშნავთ, რა იქეშება, დანარჩენი კი ისტრიმება.
სტრიმინგი და PPR ბრწყინავს, როცა
  • გვერდი ურევს სწრაფსა და ნელ მონაცემებს — დაქეშირებული ჰედერი და პერსონალიზებული, ძვირი ვიჯეტი.
  • გინდათ საუკეთესო პირველი ხატვა ისე, რომ ხეში ყველაზე ნელ შეკითხვას არ დაელოდოთ.
  • აგებულია Server Components-სა და Suspense-ზე — იგივე პრიმიტივები, ახლა უკვე მიწოდებისთვის.
გაითვალისწინეთ კომპრომისები
  • სტრიმინგ პასუხების მთლიანად დაქეშირება და მათზე მსჯელობა უფრო რთულია, ვიდრე ერთი სტატიკური ფაილის.
  • სკელეტონი, რომელიც კონტენტის მოსვლისას წაინაცვლებს, ლეიაუტის სტაბილურობას (CLS) აზარალებს — დაუტოვეთ ადგილი.
  • ნუ ასტრიმავთ გვერდს, რომელიც ისედაც სრულად სტატიკურია — სირთულეს ნულოვანი მოგებისთვის დაამატებდით.
06 · SEO, Core Web Vitals და ფასი 4 წთ

იგივე არჩევანი, შეფასებული
ხილვადობით, სისწრაფითა და ანგარიშით.

სტრატეგია ესთეტიკური გემოვნება არაა — ის ჩნდება ძებნის რანჟირებაში, იმ მეტრიკებში, რომლითაც Google გაფასებთ, და თქვენს ჰოსტინგის ინვოისში. აი, როგორ ჯდება სპექტრი თითოეულზე, და რომელი ფრეიმვორკები გაძლევთ არჩევანს თითო როუტზე.

Core Web Vitals — Google-ის საველე მეტრიკები რეალური მომხმარებლის გამოცდილებისთვის: LCP (Largest Contentful Paint — როდის ჩნდება მთავარი კონტენტი, კარგია ≤ 2.5წმ), INP (Interaction to Next Paint — რეაქციულობა, კარგია ≤ 200ms; მან 2024-ში FID ჩაანაცვლა) და CLS (Cumulative Layout Shift — ვიზუალური სტაბილურობა, კარგია ≤ 0.1). ისინი ძებნის რანჟირებას კვებავს, ამიტომ რენდერინგის არჩევანს SEO-ზე შედეგები აქვს.
request TTFB server responds FCP first pixels LCP main content interactive INP responsive time →

SSG/ISR TTFB-სა და LCP-ს შორს მარცხნივ სწევს; CSR პირველ კონტენტს მარჯვნივ ხრის (ჯერ ცარიელი, მერე აფეთქება); SSR კი ადრეული ხატვაა ჰიდრაციის ხარვეზით ინტერაქტიულობამდე.

SEO

კროულერები და სოციალური სკრეიპერები HTML-ს კითხულობენ საუკეთესოდ. SSG/SSR/ISR მათ სრულ მარკაპს აწვდის; სუფთა CSR ცარიელი გარსის რისკს ქმნის — Googlebot JS-ს უშვებს, მაგრამ ბიუჯეტითა და დაგვიანებით. სტატიკური <title> და OG ტეგები ყველაზე უსაფრთხოა.

Web Vitals

SSG/ISR LCP-ს იგებს (წინასწარ აგებული, edge-იდან გაცემული). SSR/სტრიმინგი ადრე ხატავს, მაგრამ ყურადღება ჰიდრაციის ფასზე INP-ისთვის. CSR ყველაზე ცუდი LCP-სკენ იხრება — არაფერი, სანამ ბანდლი არ გაეშვება.

ფასი

სტატიკა ნებისმიერ მასშტაბზე თითქმის უფასოდ გაიცემა. SSR/სტრიმინგი თითო მოთხოვნაზე გამოთვლას გახდით — ხოლო edge რანტაიმები შეზღუდულ სენდბოქსს გასცვლიან რეგიონულ node-თან შედარებით დაბალ შეყოვნებაში.

ინსტრუმენტების ლანდშაფტი

აირჩიეთ იმის მიხედვით, რამდენად აპლიკაციურია პროდუქტი და რომელ ენაში ცხოვრობს თქვენი გუნდი — თითოეული ფრეიმვორკი მთელ სპექტრს უჭერს მხარს, ოღონდ სხვადასხვა სიმძიმის ცენტრზეა ოპტიმიზებული.

Next.js (App Router)

აირჩიეთ React აპლიკაციებისთვის, რომლებსაც წვრილმარცვლოვანი, თითო როუტზე კონტროლი სჭირდება.

  • დადებითი — ყველა სტრატეგია ერთ ადგილას: Server Components, SSR, SSG, ISR, სტრიმინგი, PPR.
  • უარყოფითი — დიდი ზედაპირი; ყველაზე მდიდარი შესაძლებლობები Vercel-ს ეყრდნობა.
Astro

აირჩიეთ სარეკლამო, დოკუმენტაციისა და კონტენტზე ორიენტირებული საიტებისთვის.

  • დადებითი — კუნძულების არქიტექტურა ნაგულისხმევად ნულოვან JS-ს აგზავნის; შესანიშნავია კონტენტისთვის.
  • უარყოფითი — ნაკლებად ბუნებრივია მძიმედ აპლიკაციური, მდგომარეობიანი ინტერფეისებისთვის.
SvelteKit

აირჩიეთ მჭლე, სწრაფი აპლიკაციებისთვის, სადაც ბანდლის ზომა მეფობს.

  • დადებითი — კომპილატორის შედეგი პაწაწინაა; SSR/SSG/CSR აირჩევა თითო როუტზე ადაპტერებით.
  • უარყოფითი — React-ზე პატარა ეკოსისტემა და დაქირავების ბაზარი.
Nuxt

აირჩიეთ, როცა თქვენი გუნდი უკვე Vue-ზე აშენებს.

  • დადებითი — Vue-ს პასუხი: ჰიბრიდული რენდერინგის წესები თითო როუტზე.
  • უარყოფითი — მხოლოდ Vue; ამ ეკოსისტემის საზღვრებს იმემკვიდრებთ.

ერთი და იგივე აპლიკაცია სხვადასხვაგვარად რენდერდება იმის მიხედვით, რომელ რანტაიმზე მოხვდება — edge გლობალურად ახლოსაა, მაგრამ შეზღუდული; node სრულფასოვანია, მაგრამ რეგიონული.

Vercel

აირჩიეთ, როცა Next.js თქვენი ფრეიმვორკია და DX-ს მნიშვნელობა აქვს.

  • დადებითი — პირველხარისხოვანი Next.js: ISR, სტრიმინგი და PPR კოლოფიდანვე მუშაობს, node-ზეც და edge-ზეც.
  • უარყოფითი — მოხმარებაზე დაფუძნებული ფასი მოთხოვნების მოცულობასთან ერთად იზრდება.
Cloudflare

აირჩიეთ გლობალურად დაბალი შეყოვნების SSR-სა და edge ლოგიკისთვის.

  • დადებითი — Workers edge-ზე მუშაობს თითქმის ნულოვანი ცივი სტარტით; მასშტაბზე იაფია.
  • უარყოფითი — შეზღუდული რანტაიმი; ნაგულისხმევად სრული Node არაა.
Netlify

აირჩიეთ სტატიკაზე დაფუძნებული საიტებისთვის, სადაც ცოტაოდენი დინამიური წებოა.

  • დადებითი — ძლიერი სტატიკა + ფუნქციები; ხელმისაწვდომია edge-იც და node-იც.
  • უარყოფითი — ფრეიმვორკის მოწინავე შესაძლებლობები შეიძლება ჩამორჩეს იმ პლატფორმას, რომელზეც ისინი გამოდის.
07 · არჩევა თითო როუტზე + შეჯამება 4 წთ

ნაგულისხმევად სტატიკა. ყოველი ნაბიჯი
დინამიურობისკენ დაიმსახურეთ.

„საუკეთესო“ რენდერინგის სტრატეგია არ არსებობს — არსებობს მხოლოდ ყველაზე იაფი, რომელიც როუტის რეალურ აქტუალურობასა და ინტერაქტიულობის საჭიროებას აკმაყოფილებს. მოგება იმის გაცნობიერებაა, რომ ეს თითო როუტის გადაწყვეტილებაა: ერთსა და იმავე აპლიკაციას შეუძლია გვერდიგვერდ გასცეს სტატიკური ლენდინგი, რევალიდირებული კატალოგი და კლიენტში დარენდერებული დაშბორდი.

SSG
ლენდინგი · დოკები · ბლოგი · changelog
ISR / PPR
პროდუქტი · ლისტინგი · სიახლეები
SSR / სტრიმი
ძებნის შედეგები · პერსონალური მთავარი
CSR
დაშბორდი · რედაქტორი · ლოგინის მიღმა
სტატიკური · იაფი · სწრაფი
დინამიური · აქტუალური · პირადი

მარცხნიდან მარჯვნივ მხოლოდ იმდენად წაიწიეთ, რამდენადაც როუტის აქტუალურობა და თითო მომხმარებლის საჭიროებები მოითხოვს — როუტების უმეტესობა უფრო ადრე ჩერდება, ვიდრე გგონიათ.

1დაიწყეთ სტატიკით, დინამიურობაზე მხოლოდ იძულებით გადადით. SSG/ISR სწორი პასუხია ბევრად უფრო ხშირად, ვიდრე მისი რეპუტაცია გვაფიქრებინებს — გვერდების უმეტესობა ყველასთვის ერთნაირია.
2მოარგეთ სტრატეგია აქტუალურობას. გაყინული კონტენტი → SSG; რამდენიმეწუთიანი მოძველება მისაღებია → ISR; უნდა იყოს ახალი → SSR; თითო მომხმარებლისთვის და ინტერაქტიული → CSR.
3CSR შემოინახეთ ავტორიზაციის მიღმა ინტერაქტიულობისთვის. სადაც SEO-სა და პირველ ხატვას მნიშვნელობა არ აქვს, SPA მოდელი კარგად ჯდება — მაგრამ არა როგორც ნაგულისხმევი საჯარო გვერდებისთვის.
4ასტრიმეთ, რომ ნელი ნაწილი განბლოკოთ, და PPR-ს მიეცით საშუალება, სტატიკური გარსი დინამიურ ხვრელებს შეაერთოს — მაგრამ მხოლოდ იქ, სადაც გვერდი მართლაც ურევს სწრაფ და ნელ მონაცემებს.
5გადაწყვიტეთ თითო როუტზე და არა თითო აპლიკაციაზე. ფრეიმვორკი ყოველ გვერდს არჩევანს აძლევს; დახარჯეთ სისწრაფისა და გამოთვლის ბიუჯეტი იქ, სადაც თითოეულ გვერდს ის მართლა სჭირდება.

60-წამიანი გადაწყვეტილების გზამკვლევი

  • ყველასთვის ერთნაირია & იშვიათად იცვლება? → SSG. სარეკლამო გვერდები, დოკუმენტაცია, ბლოგპოსტები.
  • ყველასთვის ერთნაირია, მაგრამ ხშირად იცვლება / ძალიან ბევრია ხელახლა ასაგებად? → ISR (ან PPR სტატიკური გარსისთვის დინამიური ნაჭრით).
  • უნდა ასახავდეს ახლანდელ მონაცემებს ან თითო მოთხოვნის პერსონალიზაციას? → SSR, ნელი ნაწილების სტრიმინგით.
  • ძალიან ინტერაქტიულია და ავტორიზაციის მიღმაა? → CSR, ან SSR კლიენტის კუნძულებით — SEO თამაშში არაა.
  • ჯერ კიდევ გეეჭვებათ? აირჩიეთ უფრო სტატიკური ვარიანტი და დინამიურობა მაშინ დაამატეთ, როცა რეალური საჭიროება გაჩნდება — და არა მანამდე.
ცოდნის შემოწმება

დაგამახსოვრდათ?

ხუთი სწრაფი კითხვა CSR-ზე, SSR-ზე, SSG/ISR-ზე, სტრიმინგსა და Core Web Vitals-ზე — მყისიერი უკუკავშირი, ავტორიზაციის გარეშე.

შეაფასეთ ეს დასტა
იყავით პირველი

ნავიგაცია ← → ღილაკებით ან სქროლით · უკან ბიბლიოთეკაში