Са толико опција које можете изабрати, рендеровање је тема коју морате да пратите.
Модерни веб оквири нуде много опција о томе како да испоруче сајт или апликацију од сервера до клијента. Можете да генеришете ХТМЛ са обе стране или да га унапред прикажете за дистрибуцију великом брзином путем мреже за испоруку садржаја.
Одлучивање о томе како структурирати сајт или апликацију ослања се на неколико различитих фактора. Морате бити свесни како ће посетиоци приступити вашој веб локацији или апликацији. Требало би да разумете да ли је брзина учитавања важнија при почетном учитавању или накнадној навигацији. Такође размислите колико често ћете ажурирати сајт.
Имајте на уму све ове факторе да бисте одмерили предности и недостатке сваке парадигме приказивања.
Рендеровање веб локација на више начина
Рендеровање веб локације односи се на процес којим се веб локација приказује у веб претраживачу. Постоји много различитих начина да се приступи процесу претварања необрађених података у форматирани ХТМЛ на екрану корисника.
Свака метода има своје предности и недостатке, а познавање предности и мана сваког може вам помоћи да одаберете прави за вашу веб локацију.
ЦСР: Прегледач преузима контролу
ЦСР је скраћеница од Цлиент Сиде Рендеринг. Када рендерујете клијентску страну апликације или сајта, сервер преноси мало или нимало ХТМЛ-а осим малог дела шаблонског кода. Страница затим тражи све податке који су јој потребни од сервера, након догађаја учитавања странице, преко АЈАКС захтева.
Када апликација или страница приказује страну клијента, сервер клијенту прослеђује скрипту која ће генерисати ХТМЛ у претраживачу клијента. Ово омогућава апликације на једној страници које не освежавају прегледач када ступите у интеракцију са њима.
ЦСР апликације се често брзо учитавају у навигацији, али у почетку могу бити споре. Брзина ће у великој мери зависити од оквира који одаберете за рендеровање и колико додатних библиотека и додатака користите. Већина популарни модерни ЈаваСцрипт оквири укључити опцију за ЦСР.
Странице и апликације које се у потпуности приказују на страни клијента пате од немогућности директног навигације на дату страницу помоћу УРЛ-а. Када се апликација приказана на страни клијента први пут покрене, без обзира на унету УРЛ адресу, она ће се кретати до исте почетне тачке.
ССР: Рендеровање на централном серверу
ССР је скраћеница од Сервер Сиде Рендеринг. Ово је много традиционалнији облик приказивања веб страница у коме сајтови генеришу ХТМЛ на основу шаблона и шаљу мешавину ХТМЛ-а, стилова и скрипти клијенту. Већина најпопуларнији позадински веб оквири спадају у ову категорију.
Апликације и сајтови рендеровани на страни сервера обично се брже учитавају, али свака следећа навигација ће захтевати потпуно освежавање. То значи да не само да ће им требати више времена, већ ће програмери који раде са ССР-ом морати да учествују у управљању сесијама.
Највећа предност сајтова и апликација генерисаних ССР-ом је доследност навигације путањом. Корисник који унесе дату путању биће одведен директно на тражену страницу. Неки оквири управљају преусмеравањем корисника са странице на страницу унутар апликације, али корисници можда неће моћи да приступе страници коју желе у почетку.
Многи модерни оквири нуде комбинована решења која почињу тако што клијенту испоручују страницу коју приказује сервер. Када се страница учита, дешава се догађај познат као хидратација у којем су догађаји скрипте на страни клијента придружени контролама странице. Од сада па надаље, клијент управља било којом навигацијом.
Комбинована динамика нуди корисницима могућност да оду директно на било коју страницу у апликацији, док и даље добијају брзину и глаткоћу апликације на једној страници. Нект.јс нуди више парадигми приказивања, као и Нукт.јс и Свелтекит.
ССГ: Минимизирано приказивање
ССГ, или генерисање статичког сајта, заобилази потребу за генерисањем ХТМЛ-а на страни клијента или сервера. Уместо тога, сајтови и апликације у ССГ стилу унапред компајлирају сваку страницу која им је потребна и прослеђују резултате у ЦДН за брзу испоруку.
Ово је изузетно ефикасан метод за изузетно брзо сервирање веб страница. Резултати се обично састављају у једноставне пакете који садрже сав ХТМЛ и стилове потребне за појединачну страницу. Ови пакети се држе што је могуће компактније како би се осигурало да ће их корисник добити што је брже могуће.
ССГ сајтови имају тенденцију да нуде изузетно велике брзине учитавања, упркос томе што захтевају освежавање за сваку навигацију. Међутим, главна мана статичне локације је недостатак флексибилности. Веома динамични системи као што су апликације за друштвене мреже или сложене платформе за е-трговину захтеваће много више промена него што ССГ може лако да поднесе.
Многим статичним сајтовима ће такође бити потребно веће трошкове за измену јер ће свака нова промена морати да се независно компајлира. Ово чини приказивање у ССГ стилу лошим избором за сајтове који се брзо мењају, попут дигиталног излога са инвентаром који се брзо мења или апликацијама друштвених медија.
ИСР: Од свега по мало
Лако најкомплекснији тип приказивања, али и најкориснији, ИСР је скраћеница за инкременталну статичку регенерацију. ИСР спаја брзину и скалабилност статички генерисаних сајтова са реактивношћу апликација у стилу ССР-а и ЦСР-а.
Када се било која страница затражи на страници или апликацији у ИСР стилу, сервер ће прво проверити да ли постоји кеширана верзија странице која није истекла. Ако постоји, сервер ће одмах послужити кеширану страницу.
Ако кеширана верзија странице не постоји или је прошло довољно времена од њеног генерисања, сервер ће генерисати нову верзију. Ова нова верзија ће бити прослеђена клијенту и кеширана за будућу употребу.
Овај тип приказивања је сложенији за подешавање, али аутоматизује већину проблема са којима се ССГ сајтови обично сусрећу. Ово омогућава апликацијама да понуде и брзину и поузданост статички генерисане апликације док аутоматизују додатне трошкове.
Неколико модерних оквира већ нуди опцију рендеровања у ИСР стилу. Многи више имају подршку за инкременталну генерацију у развоју. Већина главних оквира ће ускоро подржати ИСР рендеровање ако то већ није.
Који тип приказивања је најбољи?
Постоји неколико начина да се прикаже веб локација или апликација. Сваки од ова четири типа приказивања има више варијација. Ниједан тип приказивања није идеалан за све пројекте, а који тип одаберете зависи од тога шта је најважније на вашем сајту или апликацији.
Када бирате парадигму приказивања за свој пројекат, важно је узети у обзир брзину, како ће ваша публика користити ваш пројекат и колико често ће се сајт мењати. Ово ће бити примарни принципи који ће вам помоћи да одлучите који је најбољи начин да структурирате свој сајт или апликацију.