WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Frames eller ajax för community (https://www.wn.se/forum/showthread.php?t=19547)

totoo 2007-02-23 00:27

Hallå gott folk.

Jag har arbetat med ett community i över ett år nu och inom ett kvartal hoppas jag att vi kommer öppna.
Vi har lärt oss mycket under tiden som har gått och har bytt metoder och tekniker flera gånger, och den svåraste frågan och den största förändringen står nu framför dörren inför vår sista version innan start.

Som ni säkert vet använder 9 av 10 communityn frames. Innan vi påbörjade detta projekt ansåg vi att de var omoderna och dumma, men en bit in i utvecklingen fick jag på käften och insåg hur genialt det är. Lite beroende på hur webbplatsen är uppbygd så kan man minimera trafiken till ca 50% och serverbelastningen i övrigt (php+mysql) ungefär lika mycket. I samband med detta minskar också laddningstiden för klienten, så alla tjänar STORT på detta.

Då jag gjorde denna upptäckten och såg att skillnaderna inte bara är mätbara, utan har omedelbara och uppebara effekter för både server och klient så började jag använda ajax till vissa delar av innehållet vilket hade positiva effekter på respons och laddningstid.

.... Det där var lite förord... Nu kommer problemet ...

Jag kommer att använda ajax eller frames till communityt, men jag har väldigt svårt att bestämma mig för vilken av varianterna som är att föredra.

Fördelar med ajax

. Om man inte har js aktiverat så har man "vanlig traditionell navigation" (dock kommer js typ vara krav för att använda tjänsten, näst intill) - Kanske kan man också som medlem få välja variant.

. Man kan ändra titelraden i fönstret så att den inte blir helt statisk (går förvisso att göra med frames också om man är lite klurig)

Fördelar med frames
. Enligt min erfarenhet så är frames pålitligare än ajax. Det blir ju naturligtvis 404 etc om det blir fel i laddningen. Jag känner inte till något ajaxlib som är helt pålitigt och har bra felrapporteringar.
. Smidigare implementation
. Kräver inte js (har dock inget jättestort värde just nu, men lite)
. När man ska kunna refresha och backa med ajax så är man tvungen att använda hash (#) vilket dödar möjligheten att länka till en viss plats på en sida. - Det problemet slipper vi med frames.

Ungefär så.
Tala inte om sökmotoranpassning ect, för jag har god inblick där och sökmotorerna kommer klara sig galant med både frames och ajaxlösningen, så den biten kvittar helt.


Såå, vad anser ni är att föredra? Ajax eller frames? Syftet är alltså helt identiskt, hela hemsidan ska inte laddas om i varje klick utan bara det som är relevant för klicket.

Vem har ett bra svar? Försök göra mig övertygad, för jag anser att det är ungefär 50/50 och oavsett vilken modell jag använder så känner jag att det är en ganska dålig lösning tyvärr.
- Det ser ju proffsigast ut att inte använda någon av modellerna, men när servern blir så extremt avlastad plus att laddningstiderna ibland blir halverade så är en av modellerna i princip ett måste.

Säg mig vad ni tror! Tack / Tobbe

dotvoid 2007-02-23 01:56

Ajax-lösningar, tycker jag, hör hemma i mer interaktiva delar av t ex en community eller webbapp. Det är inte något man generellt ska använda för att ladda innehåll i sidor. Frames är nästan aldrig något man ska använda. Kanske när man har interaktiva formulär som behöver ladda upp filer osynligt från klient till server. Då behöver man frames.

Om man bygger på rätt sätt i bakänden med templates och cachning av genererat innehåll kan man få samma effekter på prestanda som att använda sig av frames. Cacha allt innehåll som är statiskt på disk. Innehåll som ändras då och då kan man cacha med tidsbegränsning. Innehåll som ändras ofta kan man ladda upp och cacha i RAM-minnet eller använda sig av en databaslösning som kan lägga tabeller i RAM. Det är min åsikt. De flesta sidladdningar består då eg av att sätta ihop olika cachade delar till en sida. Föga resurskrävande.

Använder man sig sen av olika virtuella servrar för att ladda bilder och stilmallar så får man ner laddningstider ytterligare och servern blir snabbare fri att ta hand om nästa request.

totoo 2007-02-23 02:55

Tack för svaret

Alltså jag har redan bra struktur vad jag vet och cachar i princip allt. Det gör stor skillnad, men även på cachat material så märks skillnaden tydligt ändå.

Dock vet jag inte vad du menar med templates och vad jag eventuellt kan göra för vinst där. Jag vet heller inte hur jag styr vad som ska läggas i ramminnet, det är väl nästa steg av min optimering.

Virtuella servrar kan du ju också få berätta mer om ifall du känner för det. Allt på phpfronten har jag nog löst på ungefär bästa sätt, sen när det kommer till serverkonfigureringar etc är jag rätt lost.

jlg 2007-02-23 09:23

Lite kort. Skippa frames helt. Ajax är egentligen inget subsitut till frames men använd Ajax sparsamt och där det kommer till sin rätt.

Lägg istället funderingarna på cachning, optimering av databasfrågor och fundera även på hur själva sajten fungerar mellan klient och server. Hur är navigeringen uppbyggd. Vilka sidor och delar av sajten belastas mest osv. Där har man mycket att vinna.

gjohansson 2007-02-23 12:03

Om du mer eller mindre kommer att "kräva" att man har javascript enablat så tycker jag du ska köra stenhårt med Ajax! :) Web 2.0 är ju aldrig fel

se bara till att du låter användaren veta att nåt händer när de klickat på en "ajax-länk"...

danjel 2007-02-27 11:28

Jag undrar oxå om inte den vinst man kan göra med att ha frames vad gäller laddningstid , minimera trafikmängd m.m är mycket marginell då de flesta frameslösningar dels laddar in fler sidor på första sidan, sen laddar om alla frames vid inloggning. resp. utloggning. Med tanke på att många bara loggar in, kollar nya meddelanden och sen loggar ut kan det ju nästa tvärtom öka trafik m.m

Svartrock 2007-02-27 14:30

För ett community bör du helt klart välja frames enligt min erfarenhet.

Det är lätt att utveckla och det funkar alltid. Du kan alltid kombinera med cachning osv för ännu bättre prestanda.

totoo 2007-02-27 18:09

Alltså att ladda om alla sidor frames vs att ladda om hel sida (om man inte har frames) är ju i princip samma sak, men det är ju också ungefär bara då man laddar om alla frames. Att folk bara loggar in och direkt ut igen lär inte vara speciellt vanligt. Jag förstår vad du säger, men jag tror det är max 5% av sidladdningarna som består av sånt, samt att jag inte vågar påstå att detta är någon nämnvärd trafikökning jämfört med om det inte vore frames, men jag förstår din poäng.

Alltså skillnaden är stor - jag använder ajax till en hel del saker redan idag. Alltså trafikmängden halveras nästan och antalet databasfrågor etc faller också stort i antal.

Det är ingen tvivel om att man just nu TYDLIGT märker att alla ajaxladdade sidor är extremt mycket snabbare att ladda än de övriga.

Jag är extremt splittrad alltså. Jag räknar med att vi ska öppna inom ett kvartal och jag är väldigt svårt att bestämma mig för vad jag föredrar.

Egentligen tycker jag bättre om frames än ajax, främst för att frames faktiskt har ett sånt syfte. Ajax rent funktionellt gör ju samma sak, men det känns lite som ett missbruk.

Jag leker samtidigt med tanken att inte använda någon av metoderna och att jag helt enkelt får leva med lite längre laddningstider, lite mer trafik och lite högre serverbelastning - men är det värt det?

Det är väl bara hamsterpaj av alla respeterade svenska communityn (tror jag) som inte använder någon av dessa metoder - men å andra sidan så har de "bara" 275 000 medlemmar och det skulle inte förvåna mig om stora delar av deras system blir väldigt svårdrivet när de når 800.000 medlemmar. Vad vet jag. Hamsterpajkillen finns ju här på WN och kanske vill berätta lite hur det känns.

Själv är jag iaf helt säker på att frames kan nästan halvera server/trafik-kostnaderna för alla communityn som laddar om hela innehållet vid varje klick samtidigt som användarna får en snabbare tjänst.

Spännande fråga det här iaf, men jag börjar bli riktigt trött på att inte känna att någon lösning är självklar. Det suger faktiskt.

Det drygaste med frames imho är att adressfältet är statiskt - det kommer vara extremt drygt främst på forumet, för jag vill att man hela tiden ska ha adressen till aktuell tråd tillgänglig, bland annat för att skicka länkar till kompisar etc...

Har någon ett bra tips på lösning där?

En annan grej, hur är det med frames och långsiktighet? Jag har hört rykten om att frames kanske inte kommer vara med i framtida webbstandarder. Eller var det bara iframe eller var ryktena felaktiga?


Stort tack för era åsikter, jag måste få någon säkerhet här. Jag känner att hur jag än gör så blir det ganska dåligt =/
Alla lösningarna har klara nackdelar.

koala 2007-02-27 19:50

Satsa på Flex så slipper du våndas, och får en framtidssäker lösning. Snart får firefox förmodligen inbyggt stöd för att visa flexapplikationer utan behov att installera flash.

totoo 2007-02-27 20:15

Det ska ju vara något som fungerar prima hos alla idag också. Hur funkar flex i dagsläget? Har du några bra länkar?

Men nu är det nära att jag börjar med frames ikväll alltså. Någon som vill ge mig några sista visa ord? ;)


Alla tider är GMT +2. Klockan är nu 20:20.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson