Ilość dołączanych skryptów i stylów a wydajność

1

Lepszym wyjściem jest dużo mniejszych plików czy mało ale dość sporych rozmiarów? Interesuje mnie to ze względu na wydajność i pamięć tymczasową przeglądarki. Jak działać to będzie wydajniej?

1

Mało, ale sporych rozmiarów. Najlepiej: jeden skrypt, skompresowany jakimś "minifikatorem" (ang. minifier). Możesz wyciągnąć biblioteki (np. jQuery) i dać hotlinki do zewnętrznych CDN-ów, np. do Google. Jeśli masz na stronie tak, że na wszystkich podstronach używasz pewnych skryptów -- np. do menu, szybkiego wyszukiwania etc. -- a na jednej podstronie dorzucasz do tego inne, dość ciężkie skrypty (np. walidacja formularza), to te ostatnie też możesz wydzielić i ładować je tylko na tej podstronie, gdzie trzeba.

Arkusze stylów -- podobnie. W miarę możliwości jak najmniej. I niech też będą skompresowane.

Należy zmniejszać liczbę zasobów pobieranych z dokumentu HTML. Zmniejsza to liczbę żądań do serwera i przyspiesza działanie witryny.

0

To zalezy. Jezeli bedziesz mial 5 styli CSS, ktore bedziesz wykorzystywal na KAZDEJ podstronie swojego serwisu, to nie widze potrzeby dzielenia ich na wiele roznych plikow. No, chyba, ze wzgledu na wygode pracy przy tych stylach. Ale zauwaz, ze jest to 5 zadan do serwera (zamiast jednego, jezeli wszystko byloby w jednym pliku) jezeli przegladarka nie posiada tych plikow w cache.

Natomiast jezeli Twoja aplikacja jest modulowa, mozesz posiadac jeden - glowny plik CSS (np. core.css) a reszte kodu poprzepinac do roznych plikow CSS i dolacz je jedynie wowczas gdy beda potrzebne.

Poza tym nic nie zastapi kompresji CSS + gzip podczas wysylania do przegladarki.

0

Akurat kompresja CSS to nie jest problem bo Sass się tym zajmie. Problemem jest to, że aktualnie mam 12 plików JS oraz 9 plików CSS więc to trochę sporo :/ Tylko jak to poskracać, zwłaszcza pliki JS. Tak się zastanawiam czy nie przerzucić się na jQuery z Prototype, ale jak na razie wszystkie moje pliki są dostosowane do Prototype.

0

Ja w dużych projektach zawsze sklejam wszystkie CSSy do jednego pliku skryptem PHP. Skrypt dopasowuje konkretne style do aktualnej podstrony i wysyła jeden posklejany arkusz.

0

patrz od wielkich: facebook, nasza-klasa, onet.

0

Nasza-Klasa:

<link rel="stylesheet" type="text/css" href="http://1.s-nk.pl/style/main:d4d4">
<link rel="stylesheet" type="text/css" href="http://0.s-nk.pl/style/sledzik:e615">
<link rel="stylesheet" type="text/css" href="http://0.s-nk.pl/style/popup:54dd">
<link rel="alternate" type="application/rss+xml" title="rss" href="http://nk.pl/feeds/rss/blog">
<link rel="stylesheet" type="text/css" href="http://1.s-nk.pl/style/home:2571">
<link rel="stylesheet" type="text/css" href="http://0.s-nk.pl/style/blog/main_page:1023">
<link rel="stylesheet" type="text/css" href="http://0.s-nk.pl/style/allegro:f2e4">
<link rel="stylesheet" type="text/css" href="http://0.s-nk.pl/style/szukaj:b2f8">
<link rel="stylesheet" type="text/css" href="http://0.s-nk.pl/style/ratings:cf2d">
<link rel="stylesheet" type="text/css" href="http://1.s-nk.pl/style/avatar:ea8f">
<link rel="stylesheet" type="text/css" href="http://0.s-nk.pl/style/gifts:516f">

No takiego stylu stanowczo nie polecam :P

0

ale polecam od nich serwery. Hiper szybkie.

0
madmike napisał(a)

plus http://bordeux.net/Programowanie/PHP/Optymalizacja_-_data_URI_scheme_w_CSS/

Sposob jest prosty i skuteczny, lecz nie wiem dlaczego nie wyparl jeszcze css sprite

Niestety niektóre przeglądarki mulą niemiłosiernie, jak mają dużo obrazków zrobionych z base64 (opinia oparta na moich testach). :(

0

U mnie grafik akurat za dużo nie ma. Jedynie w galerii będzie więcej, tak to na stronie głównej jest wyświetlane max 10 różnych obrazków (1 z CSS'a jako background i reszta HTML). Głównie mi chodzi o zmniejszenie ilości JS, a że używam RoR'a to on ma jakieś tam swoje biblioteki. Ogólnie same'<script>` u mnie to:

    <script src="/javascripts/prototype.js?1288073461" type="text/javascript"></script>
    <script src="/javascripts/effects.js?1288073461" type="text/javascript"></script>
    <script src="/javascripts/dragdrop.js?1288073461" type="text/javascript"></script>
    <script src="/javascripts/controls.js?1288073461" type="text/javascript"></script>
    <script src="/javascripts/rails.js?1288073461" type="text/javascript"></script>

    <script src="/javascripts/builder.js?1199394434" type="text/javascript"></script>
    <script src="/javascripts/infobar.js?1296687985" type="text/javascript"></script>
    <script src="/javascripts/application.js?1297259697" type="text/javascript"></script>
    <script src="/javascripts/lightbox.js?1290787048" type="text/javascript"></script>
    <script src="http://connect.facebook.net/pl_PL/all.js" type="text/javascript"></script>
    <script src="/javascripts/fbml5.js?1287472658" type="text/javascript"></script>

    <script src="/javascripts/horinaja.js?1290620099" type="text/javascript"></script>
0

To może jeszcze ile to wszystko do kupy waży? jeśli te skrypty w sumie nie przekraczają 0,5 MB to sądze że nie warto się tym specjalnie martwić. Oprymalizując grafikę uzyskasz więcej.
Na jakich użytkowników się nastawiasz? Bo jeśli na stałą grupę odbiorców, to większość css, grafiki i js zostanie im w cache i problem w dużej mierze odpadnie.
Jak mocny masz serwer? I ile odwiedzin? Czy martwisz sie o liczbę połączeń i przepustowość łącza?

0

Raczej stała publiczność. Nie ważyłem jeszcze. Grafiki jak mówiłem nie ma prawie w ogóle, a jak już jest to są to niewielkie pliki. Serwer jak na razie jeszcze nie jest postawiony, ale będzie dedykowany (szkolne łącze dzierżawione od PP). Odwiedzin jak na razie nie będzie za dużo ale sądzę, że przez długi czas będzie mak 1000 dziennie.

0

tle odwiedzin? No to ci styknie hosting za 25zł/rok http://ignaczewski.net/hobby/informatyka/hosting-stron/ . Myślałem że tyle ale na godzine.... pss... te 1000 to żadne odwiedziny ;]

0

Po co mam płacić aż 25 zł/rok za konto bez RoR'a i PostgreSQL (czyli mojej technologii) jak mam możliwość postawienia własnego dedyka w szkole?

1 użytkowników online, w tym zalogowanych: 0, gości: 1