Aaaargh... heb je een keertje een vrije dag en slaap je uit tot 1 uur, komt er weer een leuk topic voorbij waarin de meeste argumenten al voorbij zijn gekomen
Nah, ik zal 't voor mezelf ook nog even proberen te verwoorden:
Frames
voordelen
• Bij een navigatie die niet (of nauwelijks) aan verandering onderhevig is, is het, zoals OzBoz ook al zei, vanuit usability-oogpunt erg goed om je navigatie altijd in beeld te hebben. Het zorgt voor een eenduidig beeld in je hele site, en zal altijd als dusdanig herkend worden.
Tuurlijk, er zijn zat sites zonder frames waar de kleurstellingen en stijlkenmerken zo ver zijn doorgevoerd dat dat ook altijd duidelijk is, maar ik vind het echt geen schande om je logo altijd boven in beeld te hebben.
Bij een site waarvan je je navigatie niet meer in één frame gepropt krijgt, is het natuurlijk heel makkelijk om subnavigatie te gaan gebruiken, waar je ook een apart frame voor inruimt. Je kan er natuurlijk ook voor kiezen om de subnav in je contentframe op te nemen, een soort tussenoplossing dus.
nadelen
• Bij gebruik maken van frames, en zeker van geneste framesets, kan het soms lastig zijn om het overzicht te bewaren en je links naar het goeie target sturen. Een beetje webdesigner heeft daar geen moeite mee, maar het blijft een feit dat target="_top" makkelijker is dan een target="content" waar je frameset.php?menu=blaat&submenu=blaatsub&content=tekst in moet gooien.
Het gebruik van javascript komt hier inderdaad ook om de hoek kijken; zeker met geneste framesets gaan IE en NS anders om met frame-aanroepingen. Heb je daar geen ervaring mee, dan is het best lastig om daar wat bruikbaars uit te krijgen.
• Netscape doet wat raar met framesets. Pixels worden eerst omrekend naar percentages, en daarna worden je frames pas gerenderd. Beetje jammer, maar het is niet anders. Dit beperkt je enigszins in het bouwen van een frameset, want je kan een kromming of gradient zo moeilijk over 2 frames verdelen.
Persoonlijk houd ik er in mijn ontwerpen ten alle tijden rekening mee, en mijn framesets zien er zowel in NS als in IE dus hetzelfde uit. Mocht je nou zelf geen designer zijn, maar een ontwerp aangeleverd krijgen, dan is er met een beetje gezond verstand toch nog een cross-browser frameset van te bouwen, en lukt het echt niet dan heb je een goed argument om het design wat aan te passen.
Je kan dus niet alles, maar een goeie webdesigner kan wel veel (en dat is imho genoeg).
Tables/layers
voordelen
• Je kunt je pagina designtechnisch zo moeilijk maken als je zelf wilt. Alles kan.
• Je hoeft geen rekening meer te houden met frameborders, waar je je layers niet overheen kunt gooien. Met name voor navigatie is dat erg handig, je kunt gewoon lekker zonder zorgen een DHTML-menutje in elkaar draaien.
• Heb je veel dynamische content, dan zijn layers of tables ook veel makkelijker. Je hebt 1 document, waar je steeds wat verschillende zaken in kan includen. (Sub)navigatie, content, nieuws, header, etc.
• Je hoeft je nooit ongerust te maken dat iets niet in een frame past. Een navigatie-frame met een scrollbar is imho niet mooi, en daar heb je met tables geen last van.
nadelen
• Hoge serverload. Elke keer dat je een pagina binnen trekt, haal je meteen je navigatie en andere vaste dingen in je ontwerp binnen. In plaats van 20k voor content, haal je nu ook elke keer (bij een enigszins volwassen site) 50k aan andere HTML-meuk binnen, die je met frames anders maar één keer binnen had hoeven te halen.
• Bij gebruik van tables en grote pagina's moeten de bezoekers onnodig lang wachten tot je site binnen is. Met een breedband-verbinding is dat natuurlijk geen probleem, maar als je een pagina hebt van 70k en dat ben je met je 33k6 aan het binnenhalen, dan zul je toch echt moeten wachten tot de laatste </table> binnen is voor er iets gerenderd wordt. En dat zuigt.
• Je navigatie & logo verdwijnen bij te ver scrollen uit beeld. En dat is dus niet fijn, want dan moeten mensen meer moeite doen om weer bij een menu terecht te komen.
Ja, ik weet het, je kan van die irritante geocities-like meescrollende layers bouwen, maar dat kom je design vrijwel nooit ten goede. Moet je zoiets trouwens eens proberen op een P120 ofzo... echt zo traag als de neten...
• 'Alle grote sites werken ook niet met frames' is echt een kutexcuus. Je hebt toch zelf hersens? Nou dan, dan kan je ook zelf wel nadenken of frames handig zijn of niet.
Pffff er zijn nog veel meer voor- en nadelen te bedenken, maar daar waag ik me nu even niet meer aan
Frames kunnen handig zijn, tables/layers kunnen handig zijn. Het hangt helemaal af van je specifieke situatie.
Hoe dynamisch moet je navigatie zijn? Uit hoeveel onderdelen moet de bezoeker in een menu kunnen kiezen? Wil je submenu's gebruiken? Gaat het ontwerp van je site boven usability? Wil je cross-browser bezig zijn? Heb je richtlijnen van download-tijden voor 1 pagina? Hoe prominent moet duidelijk zijn dat het om jouw site gaat? Hoe moeilijk/makkelijk wil je het jezelf maken? Etcetera, etcetera, etcetera
Ik denk dat een goeie, ervaren webdesigner al na akkoordering van de offerte of opdrachtbevestiging al een goeie indicatie heeft op wat voor manier de site opgebouwd moet worden.
Het heeft zoals gezegd allebei z'n voors en tegens, en het ene is niet beter dan het andere omdat het gewoon situatie-afhankelijk is. En een goeie webdesigner moet dus een afweging kunnen maken van de voor- en nadelen van beide manieren, en op grond daarvan een beslissing kunnen nemen over de definitieve structuur.