Javascripty v stránkach

Programovacie jazyky, rady, poradňa...
Mikosko
Amateur
Amateur
Príspevky: 10
Registrovaný: 03 okt 2014, 22:08

Javascripty v stránkach

Príspevok od používateľa Mikosko »

Zdravím,
Mám takú skôr teoretickú otázku.
Ako načítavate alebo čo si myslíte, že je best practice pre načítavanie Javascriptov na webe. Ja to momentálne robím tak, že mam na stránke rozdelený Javascript na Vendors a Javascripty pre daný "presenter". Príklad: Keď iba na jednej stránke v celom webe používam knižnicu na Grafy, príde mi blbé načítavať na každej stránke knižnicu na grafi keď ju použijem len na jednej stránke.

No lenže slovo dalo slovo a pri pive padol pokec o tom, že je lepšie načítať všetky JavaScripty čo budu na webe z jedného JavaScriptu z toho dôvodu, že sa zacatchuju a už sa len používajú. S čím som aj súhlasil lebo keď sa nad tým tak zamyslím, tak počkať si pri prvom načítaní o pár milisekúnd dlhšie a potom to už neriešiť je asi pohodlnejšie. A čo ak sa ten človek k tým grafom nikdy nedostane a zbytočne si ich načíta. Prípadne spravím nejakú zmenu a bude si musieť zase načítať všetky Javascripty.

Ako to vy riešite? A ako sa staviate k tejto problematike?

Očakávam vaše názory a ako sa k tomu staviate :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Javascripty v stránkach

Príspevok od používateľa audiotrack »

záleží od projektu. Keď robíš web, mal by si vedieť čo bude robiť. Ak je ten graf klúčová služba, a je predpoklad že 90% ľudí na ten graf príde, tak ho daj kľudne do globalu všetkým. Ak je to naopak služba ktorá je napríklad platená a je predpoklad že menej ako polovica ľudí ten graf použije, tak ho načítavaj "on demand" iba tým, čo ho potrebujú
V dnešnej dobe je lepšie do globálneho js dať iba to, čo určite použije každý a všetko ostatné dávať na konkrétne stránky aby sa dotiahli tým, čo to potrebujú. Najlpešie minimalizovať a pospájať do jedného súboru. A pokiaľ možno, dotiahnúť dynamicky napríklad cez require.js iba v prípade, že naozaj použije danú funkciu (lebo že príde na nejakú stránku ešte neznamená že ten js aj reálne bude používať)

pokiaľ sú to malé javascripty, rádovo pár riadkov, tak by som toto vôbec neriešil a dal do jedného súboru (fyzicky do separovaných, ale cez gulp poslal klientovi ako minimalizovaný a pospájaný jeden js file)
Mikosko
Amateur
Amateur
Príspevky: 10
Registrovaný: 03 okt 2014, 22:08

Re: Javascripty v stránkach

Príspevok od používateľa Mikosko »

Jo supr, takže to nerobím špatne. Je mi jasne, že vždy to záleží do projektu :) Len mi už šlo o to, či nastaviť Gulpu nech si spojí aj tie ostatne JS s Vendorom alebo nech ich len minifykuje. Btw ako funguje ten require.js? Čítal som si niečo o ňom(nijako extra podrobne), ale prišla mi to ako zbytočnosť keď mám na stránke len 2 JS súbory. Či to funguje ešte nejako extra inač?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Javascripty v stránkach

Príspevok od používateľa audiotrack »

keď máš dva súbory, tak pridávať tretí čo ich bude obsluhovať je fakt zbytočnosť
Boccaccio
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1097
Registrovaný: 01 mar 2014, 14:00
Bydlisko: Bratislava

Re: Javascripty v stránkach

Príspevok od používateľa Boccaccio »

nie je lepsie nacitavat JS kniznic priamo z CDN ?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Javascripty v stránkach

Príspevok od používateľa audiotrack »

má to výhody, aj nevýhody. Osobne sa prikláňam k skupine ľudí čo radšej CDN nepoužívajú
Mikosko
Amateur
Amateur
Príspevky: 10
Registrovaný: 03 okt 2014, 22:08

Re: Javascripty v stránkach

Príspevok od používateľa Mikosko »

CDN sa snažím vyhýbať, nevidím dôvod prečo sa dokazovať na cudzí server keď to môžem mať u seba a viem, že to bude fungovať na 100%.
Edit: Ako sa chceš vyhnúť Pendingu pri CDN keď maxímalný počet pripojení v napr. Chrome je 6?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Javascripty v stránkach

Príspevok od používateľa audiotrack »

Mikosko napísal:CDN sa snažím vyhýbať, nevidím dôvod prečo sa dokazovať na cudzí server keď to môžem mať u seba a viem, že to bude fungovať na 100%
dôvod je ten, že sa naň dotazuje viacero webov, a ak niekto príde na tvoj web, zrejme už má tú knižnicu z CDN nacachovanú z návštevy inej stránky ktorá CDN používa a nemusí ju vôbec sťahovať (napríklad jquery, ktoré ak máš lokálne tak ho stiahne pri prvej návšteve tvojej stránky). Taktiež vie requesty balancovať väčšinou lepšie ako ty (hlavne ak máš iba jeden server pre web) a plno iných výhod.
Ale nevýhodou je napríklad to, že nemôžeš použiť spomínaný gulp a spojiť všetky javascripty a csska do jedného requestu. A samozrejme nemožnosť použiť v intranetových weboch, vysoká cena pre vlastné CDN alebo vyššia latencia pre zahraničné open CDN (google a spol)...
Mikosko
Amateur
Amateur
Príspevky: 10
Registrovaný: 03 okt 2014, 22:08

Re: Javascripty v stránkach

Príspevok od používateľa Mikosko »

Dík za odpovede, urobil som si rozhľad a je to vlastne len otázka pre a proti :)
ropman
Medium Professional
Medium Professional
Príspevky: 1250
Registrovaný: 12 apr 2010, 21:07

Re: Javascripty v stránkach

Príspevok od používateľa ropman »

a hlavne ak CDN vypadne tak to je dost zle... aj ked neviem nakolko su tie hlavne CDN spolahlive
Boccaccio
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1097
Registrovaný: 01 mar 2014, 14:00
Bydlisko: Bratislava

Re: Javascripty v stránkach

Príspevok od používateľa Boccaccio »

ropman napísal:a hlavne ak CDN vypadne tak to je dost zle... aj ked neviem nakolko su tie hlavne CDN spolahlive
vies, ako funguje CDN?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Javascripty v stránkach

Príspevok od používateľa audiotrack »

nemusí vypadnúť priamo CDN, stačí aby vypadla linka niekde na ceste. Vždy je vyššia pravdepodobnosť že bude funkčná cesta cez 5 routrov na tvoj server ako cez 30 routrov do ameriky (pokiaľ máš dobrý hosting, a nie websupport :D )
Mikosko
Amateur
Amateur
Príspevky: 10
Registrovaný: 03 okt 2014, 22:08

Re: Javascripty v stránkach

Príspevok od používateľa Mikosko »

Ale ak tomu dobre rozumiem tak je to tiež len otázka prvého načítania potom si to už všetko zacachuje a a tým pádom sa nepotrebuje dotazovať na server.

Takže ak dani zákazník navštívil web u http://www.xyz.com kde používajú CDN a ja používam CDN tiež tak pri návšteve môjho webu to už pozrie do cache a teoreticky mu web načíta rýchlejšie ako u xyz.
Right?

Ako, asi ma to aj tak nepresvedčí o tom, aby som ich používal, ale je dobre mať rozhľad :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Javascripty v stránkach

Príspevok od používateľa audiotrack »

takýto ľudia ako ty ma udivujú. Najprv povedia že vedia čo to je (ako v tvojom prípade CDN aj require.js) potom sa spýtajú čo to robí, a keď dostanú kompletnú odpoveď tak ju ešte zopakujú či je to pravda. No nie, všetci tu klameme a zakazujeme ti použiť google. Na svoju otázku si dostal myslím celkom dostačujúcu odpoveď v prvej reakcii. Všetko ostatné je tu už zbytočná diskusia o ničom
aacid
Hardcore addict
Hardcore addict
Príspevky: 8136
Registrovaný: 22 nov 2006, 21:55
Bydlisko: BA

Re: Javascripty v stránkach

Príspevok od používateľa aacid »

tomu sa hovori ucenie sa opakovanim :)
Mikosko
Amateur
Amateur
Príspevky: 10
Registrovaný: 03 okt 2014, 22:08

Re: Javascripty v stránkach

Príspevok od používateľa Mikosko »

Ok, ok, hlavne kľud. Nepovedal som, že viem čo je CDN len, že som sa stým stretol (To isté o Require). Takže tvoja poznámka "Najprv povedia že vedia čo to je (ako v tvojom prípade CDN aj require.js)" bol dosť mimo. Najhoršie bolo to ako sa začali do toho zapájať ostatní a vniesli do toho takú neistotu.

Viac ma zaujímalo čo používate vy alebo čoho sa držíte a prečo. To , že som sa potom pýtal na konkrétne otázky, tak je to preboha diskusné fórum.
Ako to vy riešite? A ako sa staviate k tejto problematike?
(Je možne, že to je potom v zlej kategórií)
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Javascripty v stránkach

Príspevok od používateľa harrison314 »

Pozri ono fakt zalezi na konkretnych pripadoch.

V .NET svete sa da pouzit bundling.
Pre CCS-ka som zacal pouzivat LESS (vdaka kotremu mi odpadnu mnohe bolacky).
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Javascripty v stránkach

Príspevok od používateľa audiotrack »

ale LESS je framework na písanie, nemá to nič spoločné s vkladaním js do html.

btw, harrison314: http://www.zingdesign.com/less-vs-sass- ... h-to-sass/
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Javascripty v stránkach

Príspevok od používateľa harrison314 »

audiotrack napísal:ale LESS je framework na písanie, nemá to nič spoločné s vkladaním js do html.
Vyjadroval som sa skor k tomu, ci viac (js) suborov spajat do jedneho.
Boccaccio
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1097
Registrovaný: 01 mar 2014, 14:00
Bydlisko: Bratislava

Re: Javascripty v stránkach

Príspevok od používateľa Boccaccio »

audiotrack napísal:ale LESS je framework na písanie, nemá to nič spoločné s vkladaním js do html.

btw, harrison314: http://www.zingdesign.com/less-vs-sass- ... h-to-sass/
Ako mas prosim ta porieseny SASS na windowse (develop) a ako na unixe (final web)?
Myslim tym, ake softy a configy treba na pohodlnu editaciu SASS suborov.
Dakujem.

(Ak je to na novu temu, tak poprosim o rozdelenie topicu a presun postu, dakujem.)
Napísať odpoveď