briedis Posted February 19, 2016 Report Share Posted February 19, 2016 Padalieties pieredzē - vai ikdienā lietojat templeitu sistēmu, ja jā, tad kādu un kāpēc. a nelietojat, bet kādreiz esat mēģinājuši, tad miniet iemeslus, kāpēc atteicāties, kādi bija sarežģījumi utt. Quote Link to comment Share on other sites More sharing options...
Леший Posted February 19, 2016 Report Share Posted February 19, 2016 Tēmai ir vairāk ka 10 gadi. Laikam no smartija laikiem notiek karš starp pro un con. Ir rakstīts ar smarty, blade un citām sistēmām. Pārgāju uz pure PHP, jo: 1) Vienmēr būs kāda klienta prasība, ko nevarēs dabūt ar blade, un jāliek iekšā PHP kods; 2) Viss, ko māk blade, ir pieejams, izsaucot metodes ar pure PHP; 3) Blade ieguvums ir pārāk mazs, lai attaisnotu to, ka ir jāmācās jauna valoda; 4) PHP pats par sevi ir templeitu valoda. Quote Link to comment Share on other sites More sharing options...
Blitz Posted February 19, 2016 Report Share Posted February 19, 2016 Blade Pros: 1) Kods pārskatāmāks, vieglāk uzturams, strukturējams (partials) 2) Līdz minimumam samazināts xss 3) Layouts / Template inheritance 4) Learning curve praktiski neeksistē, 0.5h rtfm un mauc. 5) Lietot pure php kur vajag / ja vajag Cons 1) Nav normāli nodrošināta JS nodalīšana, pa modīgo, lapas apakšā (lietot atsevišķu sekciju paršalu JS gadijumā nevar) 2) Nav tādas oficiālas standalone versijas Quote Link to comment Share on other sites More sharing options...
l27 Posted February 19, 2016 Report Share Posted February 19, 2016 Vēl ir bijis, ka template engine vairs netiek uzturēta un rodas problēmas ar migrāciju uz jaunāku PHP. Iekš Yii lielāko HTML daļu veido ar Widgetiem un nav nepieciešams template engins. Quote Link to comment Share on other sites More sharing options...
Blitz Posted February 19, 2016 Report Share Posted February 19, 2016 Tieši tie widgeti iekš Yii ir vis tracinosaka lieta Quote Link to comment Share on other sites More sharing options...
werd Posted February 19, 2016 Report Share Posted February 19, 2016 Ne gluži ikdienā, bet ja ir vajadzība, tad http://twig.sensiolabs.org/ Bez visa tā, ko var izlasīt oficiālajā dokumentācija man personīgi tas šķiet vizuāli pievilcīgs un īss(simbolu skaita ziņā pret plain PHP). Protams, mantošana ir ļoti lietderīga funkcionalitāte jebkurā dzinējā. Quote Link to comment Share on other sites More sharing options...
Wuu Posted February 19, 2016 Report Share Posted February 19, 2016 Apmēram, jau gadus divus esmu atteicies no jebkāda PHP klienta pusē, sākumā ar javascript GET'ie pildīju saturu. Tagad, React, React-router un Flux veikali - iepakots ar Webpack. Redzot PHP, kurš apstrādā HTML, man reāli šermuļi metas. Tā ir maģija, kad klienta puse no servera puses ir pilnvērtīgi atdalīta. Reāli, ar abiem vienlaicīgi ir grūtāk un lēnāk strādāt. Pluss, veic izmaiņas klienta pusē, nebaidoties kaut ko sačakarēt servera pusē. Un klients laimīgāks, jo aplikācija strādā ātrāk, imho, kaut vai uz desktopa nomet html failus un viss darbosies tik un tā. Nevis, pie katra klikšķa, lejuplādē vienus un tos pašus failus ar minimālām izmaiņām. Pēdējā puss gadā laika, no PHP arī atteicos, jo node.js ir daudz ērtāks. Quote Link to comment Share on other sites More sharing options...
Blitz Posted February 19, 2016 Report Share Posted February 19, 2016 Apmēram, jau gadus divus esmu atteicies no jebkāda PHP klienta pusē Mhm, tālāk komentu jau laikam lasīt nav jēgas Quote Link to comment Share on other sites More sharing options...
Wuu Posted February 19, 2016 Report Share Posted February 19, 2016 (edited) Mhm, tālāk komentu jau laikam lasīt nav jēgas Trolis, neizmantoju PHP satura apstrādei/izvadīšanai, ja saturs paredzēts attēlošanai interneta pārlūka grafiskā veidā. Apmierināts? Edited February 19, 2016 by Wuu Quote Link to comment Share on other sites More sharing options...
daGrevis Posted February 19, 2016 Report Share Posted February 19, 2016 Serveris atgriež _datus_, klients uzrenderē (ReactJS). Quote Link to comment Share on other sites More sharing options...
jurchiks Posted February 19, 2016 Report Share Posted February 19, 2016 (edited) No vienas puses, šāda pieeja (HTML - frontend only) ir laba, bet no otras - uz servera HTML uzģenerēt parasti ir ievērojami ātrāk, nekā uz klienta kompja, turklāt servera pusē to visu var iekešot un nav katram klientam katru reizi jārēķina viss pa jaunam; protams, daļēji šo var apiet, izmantojot browser cache un local storage, bet tas vienalga ir katram klientam individuāli. Discuss? Edited February 19, 2016 by jurchiks Quote Link to comment Share on other sites More sharing options...
codez Posted February 19, 2016 Report Share Posted February 19, 2016 Man šķiet, ka tieši klienta pusē ģenerēt ir ātrāk, jo galvenais botlenecks ātrumam ir tieši tīkls un raw dati parasti aizņems vairākas reizes mazāk vietas kā šie dati ieģenerēti htmlā. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted February 19, 2016 Report Share Posted February 19, 2016 (edited) > Discuss? Jēga renderēt servera pusē ir divos scenārijos: 1) Tava lapa nav dinamiska — tās saturs tiek ielādēts un mainās tikai ejot uz jaunu lapu. Serveris uzrenderē, atgriež atbildi un aizmirst. Šādas lapas ir okay, bet bieži vien gribēsi lai tava lapa ir ar UI/UX kas vairāk atbilst 2016. gadam. Ne visas lapas satur “tekstu un dažas bildītes“. Kā piemērs, Facebook vai Gmail. Tās arī ir “tikai weblapas“, bet būtu neprāts tādas taisīt izmantojot server renderēšanu un abildes agriešanu. Šādām lapām ir bizillions rindas ar JavaScript, kas tāpat visu laiku maina DOM! Beigās sanāks ka tu uzrenderēsi HTML ar template engine A un tad ar savu template engine B, citā valodā, tam pārrakstīsi pāri. Vēl viena lieta ar ko programmētājam ir jācīnas? Waste of time. P.S. Varbūt vēl viens iemesls statiskai lapa būtu SEO, bet nu tas arī ar katru gadu kļūst ar vien mazāk aktuāli. 2) Gribi optimizēt lapas ielādi. Lielām applikācijām kas visu dara klienta pusē ir lielāks izmērs — pirmā ielādēte būs lēnāka. Visa renderēšana notiek klientā, bet tu jau daļēji uzrenderē lapu servera pusē. Kamēr klientam tiek sūts JavaScript un pārējie asseti (pirmā ielāde), klients parāda servera uzrenderēto lapas versiju. Kad frontends ir gatavs pieslēgties, tas pārņem kontroli un turpina iesākto. Šajā gadījumā tiek izmantots viens un tas pats template engine un koda duplikācija ir minimāla. Tie paši templeiti un viss pārējais. Šādi dara jau manis minētais Facebook un, starp citu, arī Instagram Android un iOS appas. Tiek izmantots ReactJS, bet, protams, citi framework to arī pieprot. Edited February 19, 2016 by daGrevis Quote Link to comment Share on other sites More sharing options...
Mr.Key Posted February 19, 2016 Report Share Posted February 19, 2016 (edited) Bija laiks, kad programmas taisīja priekš Desktop. Konceptuāli tas izskatījās līdzīgi, kā tagad apspriestās frontend appas (Desktop appam nevajadzēja pārlādēt katru skatu, skati bija stateful utml). Tad nāca web laiks ar to, kas nu tur bija iespējams tā laika pārlūkos. Tagad viss attīstījies. Var tos pašus 20 un vairāk gadus vecos konceptus attiecināt arī uz webiskām aplikācijām. Buzzzzwordu gan pilns... JS front-end aplikācija jau vairs nav modernāka HTML aplikācija ar servera pusē veidotām statiskajām lapām. Ja pārlūku iespējas senajos laikos pirms 5 un 10 gadiem to ļautu, tad, visticamāk, tad tādas servera pusē ģenerētās lapas varbūt pat nemaz nebūtu radušās. Jo tās bija diezgan lielas mocības sākumā, sevišķi datu ievades ātruma ziņā. Tiem pašiem interneta veikaliem nereti (un vēl tagad varbūt) admin lapas vietā bija desktop apps un šķēpi toreiz tika lauzti par to, kas labāk - admin kā desktop apps vai admin zona weblapā. Un tad vēl – vai admin nodalīts atsevišķi, vai admin režīms, kur klienta lapā parādās rediģēšanas iespējas, bez atsevišķas admin daļas. Citiem vārdiem sakot, interesanti vērot, kā appas attīstās no MS-DOS teksta interfeisa uz Win/Java aplikācijām, tad viss aiznesās uz webu un tagad uz JS / mobile appiem. Paradigmu maiņas katru reizi. Salīdzināt savā starpā tur ir maz ko - atšķiras gan arhitektūra, gan lietojums un vajadzība. Gan jau ka pēc 5 gadiem šodienas top skillus varēs norakstīt un mācīties visu no jauna. Edited February 19, 2016 by Mr.Key Quote Link to comment Share on other sites More sharing options...
jurchiks Posted February 19, 2016 Report Share Posted February 19, 2016 (edited) Jā, man arī galvenais punkts par labu servera HTML bija tas, ka sākotnēji atverot lapu vismaz kaut kam ir jāparādās, pirms tiek ajaxiski ielādēts viss pārējais saturs, kurš tā paša Facebook gadījumā ir ļoti daudz un prasa atbilstoši daudz laika. Protams, HTML manipulācija klienta pusē atbilstoši ajax pieprasījumiem utt ir pavisam normāli, bet vismaz sākotnēji noteikti kaut kādam HTML ir jānāk no servera (un ar to es nedomāju tikai head+body tagus ar css un js tajos, bet gan reāli taustāmu/apskatāmu saturu, tā saucamo above the fold saturu). Un tā, kā tas sākotnējais saturs atšķiras atkarībā no URL... Man personīgi ļoti nepatīk lapas, kuras atverot 3+ sekundes rādās "Loading...", kamēr ielādējas JS un tas izpildās. Vārdu sakot, ir sweet spot starp "ielādēt visu no servera, klientā neko nerenderēt ar JS" un "no servera ielādēt tikai JS, renderēt visu klientā". Piemēram, kāda interneta veikala kategoriju atverot, headerim, footerim un varbūt kaut kādiem sidebar'iem jau būtu jābūt no servera, bet produktus un atbilstošos filtrus var ielādēt un renderēt caur JS, jo tur tiešām ir daudz repetitive HTML. Ir ļoti maz tādu lapu, kurām burtiski viss saturs mainās tās lietošanas laikā, tāpēc arī manuprāt nav prātīgi visu renderēt caur JS, ja tas pēc tam netiks mainīts. Šis attiecas uz gandrīz visu lapu headeriem un footeriem. Edited February 19, 2016 by jurchiks Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.