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? ;)

Kiper 2007-02-27 20:49

Jag förstår inte riktigt diskussionen här. Hela Ajax-hypen började ju med att man använde sig av iframes för att kunna uppdatera delar av sidan utan att behöva ladda om hela sidan. Så då går det ju att använda sig av både iframes och AJAX!
Gör du dina js unobtrusive så funkar communityn med js avstängt men har du js på så får du en bättre användarupplevelse. Och det är väl så man vill att det ska fungera, eller?

blixtsystems 2007-02-27 20:50

Flex är beroende av senaste Flash pluggen (flash 9), så det kommer dröja lite innan den har tillräcklig spridning även om den sprids med rekordfart.
Utan tvivel skulle det vara både snabbt och kunna ge ett mycket bra resultat för ändmålet om man är van vid miljön.
För en HTML utvecklare är det nog lite omställning dock även om MXML som är den markup man använder är extremt snabbt och smidigt att jobba med.

Framtidssäkert skulle det bli, men inte nutidssäkert tyvärr.

Hos adobe kan du ladda ner en trial för att kolla in Flex builder och exempel på Flex applikationer:
http://www.adobe.com/products/flex/

Kaffe 2007-02-27 21:40

Citat:

Ursprungligen postat av totoo
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)


Personligen tror jag stort på tillgänglighet. Jag vet att Lunarstorm åkte på en HO-anmälan (handikappombudsmannen) men inte hur det ärendet fortskred.

Att ställa kravet att JS måste vara aktiverat riskerar, när communityt blir för stort, att leda till kritik från användarna. Jag vet att statistik är missvisande men W3 Schools loggade 6% med Javascript Av i Januari 2007 och det är ändå en sida där man tycker att det handlar om datorvana människor.

Sedan kan man ju alltid ta det där etiskt tvivelaktiga ställningstagandet och gömma sig bakom lagen och säga: "Vi bryr oss inte om handikappade eller minoriteter på Internet". Men det är också diskriminering, men som sagt, lagen ställer än så länge inga krav på att en webbsida skall vara handikappsanpassad, så till vida den inte är statlig sponsrad då det är rekommenderat.

Hur som helst, innan jag avviker för mycket: Det är aldrig bra att skapa ett beroende av javascript. Prioritera användbarhet i alla lägen.

Citat:

Ursprungligen postat av totoo
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.

Nu har frames fått lite oförtjänt kritik, precis som frames, för att vara helt otillgängliga. Det är (tyvärr) långt ifrån sanningen, och frames går att använda "korrekt".

Eftersom ett community knappast har intresse av att indexera skyddade medlemssidor så är sökmotoroptimering knappast ett problem.

Värt att tänka på med frames är att du minimerar viewporten. För de som inte kör med maximerat fönster eller i lägre upplösning försvinner mer av innehållsytan som, om man designar "fel" aldrig går att få tillbaka.

Värt att tänka på är också att du faktiskt kan åka på mer bandbredd att ladda in tre sidor i ramverket initialt än en slimmad CSS-P layout.

Annat som kan vara värt att tänka på är möjligheten att skriva in direkta URL:er, återigen, kanske inte det viktigaste för ett community men likväl kan det vara en schysst funktion. Varken frames eller AJAX underlättar det arbetet, så till vida man inte tar till mer javascript, men då är man tillbaka till ruta 1.

Frames lär knappast åka ut praktiskt på ett bra tag, men specifikationsenligt så åkte de ju ut i XHTML 1.1. Men XHTML är en XML-standard, i HTML är det fortfarande fullt "tillåtet".

blixtsystems 2007-02-27 22:11

Citat:

Originally posted by totoo@Feb 23 2007, 00:27

Att ställa kravet att JS måste vara aktiverat riskerar, när communityt blir för stort, att leda till kritik från användarna. Jag vet att statistik är missvisande men W3 Schools loggade 6% med Javascript Av i Januari 2007 och det är ändå en sida där man tycker att det handlar om datorvana människor.

Att icke datorvana skulle oftare ha letat reda på inställningarna för att stänga av JS i sin webbläsare verkar inte stämma enligt den statistik jag sett. w3c har fler användare med JS avstängt än vad jag sett på någon egen sida och fler än om man jämför med t.ex. statistik från thecounter.
En vanligt förekommande siffra verkar mer ligga runt 2%.

Jag håller med om att man idealiskt skall se till att man ser till att alla kan använda sidan utan problem, och sedan använda teknologier som kanske inte når alla för att förbättra användarupplevelsen för den majoritet som har skapligt moderna webbläsare med vanliga inställningar.
Ibland är det dock inte praktiskt möjligt och då kan jag inte hålla med om att man måste sätta tillgänglighet framför allt.
Det är viktigt, men finns det tillräckligt stora fördelar antingen för 98% av dina användare eller för driften av sidan så får man göra en avvägning. Att inte bry sig om att göra den bedömningen är att göra det lite väl lätt för sig.

totoo 2007-02-27 22:28

Stort tack för att det börjar bli lite liv nu, bra timing, för ikväll är det tänkt att nya versionen ska börja byggas. :)

Communityt fungerar i dagsläget perfekt utan js, man får leva utan lite godis.
Nästa version kommer vara ungefär lika - men man kommer få det ännu värre utan js. Siten ska vara användbar utan js, men man ska inte få det lätt - det får man leva med om man ska vara vrång. För det är ju inte så at folk har för dåliga browsers, utan att de är rädda för att få problem, och det är deras problem snarare än vårt.

Men i alla fall...

Det enda besväret jag ser med frames just nu (som inte går att lösa med små hack) är det här med adressfältet att det är statiskt.

Jag ska göra (även om jag i skrivande stund inte vet hur) fixa så att man på ett smidigt sätt kan få reda på en exakt url till sidan man är på (den kan jag skriva ut manuellt i sidhuvudet t.ex.) samt att genom att skriva in den url:en så kommer man till rätt sida - det fixar jag.

Så jag kommer gå runt problemet.

Kan jag inte koda xhtml med frames? Jag har inte tittat på det än, men nu kodar jag xhtml 1.0 strict och det vill jag gärna fortsätta med.


Inte kan man anse att frames är dåligt ur användarsynpunkt egentligen? Att js är det är ju en självklarhet, men vilka kan inte använda frames idag?

Jag vet inte hur det är för blinda etc, men jag hoppas deras system pallar frames.

Kiper 2007-02-27 22:46

För att använda frames med XHTML måste du använda: XHTML 1.0 Frameset.

Med XHTML 1.1 verkar frames försvinna men än så länge är det väl inte klart vad som komma skall därefter. XHTML 1.1 har väl inte fått så stor genomslagskraft, eller?

koala 2007-02-27 22:49

På förfrågan om varför jag trodde Flex skulle integreras med Firefox letade jag upp en artikel om ämnet: Tamarin

Kiper 2007-02-27 23:14

Här står det en del om att använda iframes med javascript. Det finns nog en uppsjö om du är intresserad av mer info...

http://developer.apple.com/internet/...nt/iframe.html

Annars är det här ett bra ställe att gå till om man vill hitta mer info om AJAX:
http://www.maxkiesler.com

totoo 2007-02-28 03:20

För att uppdatera läget så är jag just nu inne på att inte använda varken ajax eller frames eller något annat. Vi har designat om hela upplägget så att vinsten av frames/whatever inte längre är lika stor. Nu är det totalt mindre innehåll som ska vara statiskt.

Mycket planeringsarbete nu, imorrn kanske jag hinner börja koda. :) Jag ska fortsätta berätta lite om jag har intressanta problembeskrivningar eller frågeställningar.

Fortsätt gärna komma med åsikter om ni har några.
Tack för att ni är hjälpsamma!

Alex 2007-02-28 10:15

Citat:

Originally posted by totoo@Feb 28 2007, 03:20
För att uppdatera läget så är jag just nu inne på att inte använda varken ajax eller frames eller något annat. Vi har designat om hela upplägget så att vinsten av frames/whatever inte längre är lika stor. Nu är det totalt mindre innehåll som ska vara statiskt.
Mycket planeringsarbete nu, imorrn kanske jag hinner börja koda. Jag ska fortsätta berätta lite om jag har intressanta problembeskrivningar eller frågeställningar.
Fortsätt gärna komma med åsikter om ni har några.
Tack för att ni är hjälpsamma

Kör AJAX för indikatorerna. Typ Gästboksinlägg, nytt PM etc. Sitter man och läser i forumet och ser att ikonerna börjar blinka, så vet man ju att man fått nått nytt =)

tomisak 2007-03-03 13:45

Citat:

Originally posted by dotvoid@Feb 23 2007, 02:56
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.

Detta skulle jag vilja veta mer om!

Menar du att man får bättre prestanda om man hämtar alla bilder från "bilder.minsajt.com" och hämtar stilmallen från "style.minsajt.com"? Jag trodde nämligen själv att detta var ett nollsummespel.

Vore väldigt intressant att få veta lite mer om detta - hur pass mycket bättre prestanda kan man få och gäller detta även vid hög belastning?


Alla tider är GMT +2. Klockan är nu 07:08.

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