Es ist besser, browserübergreifenden Code im Vorfeld zu entwickeln oder für einen Browser zu entwickeln, um später in den anderen zu arbeiten?

7

Ich bin auf der Suche nach einem Feedback zu den Erfahrungen der Menschen mit der Entwicklung von Websites, die über Browser hinweg funktionieren. Es scheint mir, dass es mindestens zwei offensichtliche Wege gibt, die Aufgabe zu lösen, Ihre Website / Webapp über Browser hinweg zu arbeiten:

  1. Ständig alle unterstützten Browser bei jedem Schritt testen; oder
  2. Wählen Sie einen Browser aus, holen Sie sich alles als Referenzimplementierung und stellen Sie sicher, dass alle anderen Browser mit der Referenzimplementierung übereinstimmen.

Jeder Ansatz hat einen offensichtlichen Nachteil - das Problem mit # 1 ist, dass Sie am Ende viel unnötige Arbeit machen - besonders wenn Sie eine Webapp entwickeln, die viele Iterationen / Prototyping / Spikes usw. durchläuft. Sie werden eine Reihe von Dingen über Browser hinweg arbeiten lassen, die anschließend verworfen / entfernt werden.

Der Nachteil gegenüber # 2 ist, dass es zwar die anfängliche Entwicklung viel schneller und schmerzhafter macht, aber es viel schwieriger ist, herauszufinden, wo einige der spezifischen Fehler aufgetreten sind, besonders bei komplexeren Problemen - wenn Sie es gewesen wären Entwickeln Sie für alle Browser auf einmal, Sie sollten es sofort erfassen und wissen, welche Änderung (en) die Probleme eingeführt haben.

Eine etwas offensichtliche dritte Option wäre ein hybrider Ansatz, aber es scheint mir, dass Sie am Ende mehr verlieren würden, wenn Sie beide Probleme mit # 1 und # 2 erleben würden, als Sie von den Vorteilen beider Methoden profitieren würden / p>

Was haben Sie als den effektivsten Weg (en) gefunden, um sich dieser Herausforderung zu nähern?

    
John 23.10.2008, 22:22
quelle

10 Antworten

9

Ich habe festgestellt, dass, wenn Sie zu tief in die Entwicklung einer Website gehen, ohne andere Browser zu betrachten, werden Sie schnell zu einem Ort gelangen, der zu viele Probleme beim Debuggen bereitet. Ich öffne ständig meine Webseiten in allen Browsern, die mir wichtig sind.

Ich schlage vor, dass Sie alle Browser jedes Mal überprüfen, wenn Sie große Änderungen an der Site vornehmen.

    
Joe Basirico 23.10.2008, 22:28
quelle
3

Mache es mit allen Browsern im Vordergrund. Dies bedeutet zusätzliche Tests während der Entwicklung, verursacht aber später weniger Schmerzen. Ich finde, dass es in der Regel einfacher ist, Probleme zu diagnostizieren, wenn ich das Ding erst entwickelt habe, anstatt später wieder zu kommen und es herauszufinden ... zusammen mit einer Liste anderer Probleme.

    
Ty. 23.10.2008 22:29
quelle
2

Es hängt teilweise davon ab, ob Sie wissen, dass es in allen Browsern im Voraus funktionieren muss. Wenn Sie das tun, dann ist es wirklich besser, wenn Sie es zuerst mit einem Browser starten. Sie müssen nicht testen, dass bei jedem Schritt alles 100% konform ist, aber Sie sollten darauf eingehen.

Und wirklich, es ist nicht so schwer, besonders was mit JS Frameworks wie jQuery und Dojo um die scutwork kümmert. Wenn Sie ständig mit dem einen oder anderen Browser zu kämpfen haben, sollten Sie Ihr Design überdenken, da Sie möglicherweise Dinge auf eine Art und Weise ausführen möchten, die schwieriger zu tun ist, wenn die browserübergreifende Kompatibilität wichtig ist.

    
dirtside 23.10.2008 22:26
quelle
2

Nun, Sie tun # 1, aber Sie tun es, während Sie einen style guide genießen. Ein bisschen wie folgt: Ссылка .

Wenn Sie also eine neue Website oder ein neues Design entwerfen, erstellen Sie eine Seite mit dem gewünschten HTML für alle visuellen Elemente, die auf Ihrer Website verwendet werden. Ignoriere den Stil vorerst, benutze einfach den HTML-Code, der am meisten Sinn macht.

Dann stylen Sie es. Vorzugsweise ist Ihr Style Guide auf einer Seite, so dass er in jedem von Ihnen unterstützten Browser geöffnet werden kann. Sie müssen nur zwischen den Änderungen aktualisieren. (Sie müssen sich nicht für mehrere Seiten entscheiden, da Sie länger inspizieren müssen) sie alle).

Wenn Sie Ihre Website erstellen, erstellen Sie aus dem Styleguide. Wenn es nicht im Style Guide ist, füge es hinzu und teste es dort zuerst. Wenn Sie beim Erstellen der Site ein Problem feststellen (z. B. wenn Sie beim Umbrechen ein bestimmtes Element nicht berücksichtigt haben), replizieren Sie das Problem und beheben Sie es im Style Guide.

Hier ist der entscheidende Vorteil: Eine neue Version eines Ihrer unterstützten Browser wird veröffentlicht, was würden Sie lieber testen, Ihre gesamte Site oder den Style Guide?

Also das CSS ist erledigt, jetzt müssen Sie das alles mit Ihren generischen JS-Funktionen erledigen, falls vorhanden.

    
Lee Kowalkowski 24.10.2008 08:26
quelle
1

Ich habe eine Schnittstellenkompatibilitätsschicht zwischen dem Browser und meinem Code erstellt - im Grunde habe ich bestimmte Funktionen eingepackt und die Wrapper bestimmt, was javascript / html benötigt.

Wenn sich die Browser ändern, ändern Sie diese Kompatibilitätsebene und Sie können den Rest Ihres Codes alleine lassen.

Wenn Sie diese Ebene in Ihrer Architektur haben, wird die Antwort auf Ihre Frage "wann immer Sie wollen".

    
Jack 23.10.2008 22:32
quelle
1

Wenn Sie eine Unternehmenssperrung erhalten, kann die Unterstützung mehrerer Browser weniger problematisch werden, z. Wenn Ihre Kunden alle Unternehmen sind, die den Internet Explorer verwenden, warum sollten Sie die Website so gestalten, dass sie in Safari oder Chrome gut aussieht?

Wenn Sie etwas für die Allgemeinheit machen, dann gibt es einen hybriden Ansatz, den ich verwenden würde, nämlich dass ich einen Browser verwende, um alle Funktionen dort zu bekommen und dann über Browser zu testen, wenn ich dabei bin. Vorwegnahme der "Phase des Projekts. Am Anfang ist der Schlüssel dafür, dass es funktioniert, dann muss es gut aussehen.

Ich glaube nicht, dass ich eine Logik zum Testen über alle Browser sehen könnte, da ich anfänglich ein Formular ausfülle oder andere grundlegende Funktionen ausführe, da dies einen großen Produktivitätsverlust für mindestens einige Browser, z. IE 6 & amp; 7, Firefox 2 und 3, Opera 9.5, Safari und Chrome, wenn man alle großen Jungs bekommen will, und mindestens ein paar O / S als Safari auf einem Mac kann sich von Safari unter Windows unterscheiden, was eine Menge ist testet sogar für nur ein oder zwei Seiten. Auf der anderen Seite, gegen Ende, kann ich meine CSS und Inline-Stile umgestalten und den Code besser für die Übergabe an andere Personen bereitstellen, archivieren, bis ein Service Pack-Projekt geplant ist, oder einige Dokumente für den Fall behalten etwas muss getan werden. Indem ich darauf warte, Dinge aufzuräumen, kann ich mehr Vertrauen in die endgültigen UI-Teile haben, da diese sich in kurzer Zeit entwickeln und erheblich verändern können.

    
JB King 23.10.2008 22:34
quelle
1

Ich beginne normalerweise damit, sicherzustellen, dass alle HTML- und Steuerelemente, die ich schreibe / verwende, der Spezifikation entsprechen.

Extras - & gt; Optionen - & gt; Texteditor - & gt; HTML - & gt; Validierung - & gt; Markieren Sie Fehler anzeigen und wählen Sie Ihr Ziel

Das beginnt für mich auf einer soliden Basis. Ich teste die neuen Funktionen funktional in einem einzigen Browser und teste dann etwa einmal pro Tag den kompletten Satz über alle Browser hinweg.

Bei diesem Ansatz sind CSS und JS die üblichen Verdächtigen, wenn etwas nicht stimmt. Es ist selten, dass es sich um das eigentliche HTML-Markup handelt.

    
Brian Schmitt 23.10.2008 22:38
quelle
1

Wenn Sie es beim ersten Mal richtig machen können. Dann tu es. Es wird wahrscheinlich nie später sein.

    
Tom 23.10.2008 23:24
quelle
0

Hängt hauptsächlich von Ihrer Erfahrung ab, die auf jede Programmieraktivität einschließlich dieser angewendet werden könnte. Wenn Sie im Voraus wissen, welche Fallstricke Sie wahrscheinlich vermeiden müssen (z. B. bei der browserübergreifenden Entwicklung, machen Sie es sich nicht schwer, wenn Sie versuchen, etwas zu tun, das in einem anderen Browser problematisch sein wird) , dann kannst du wahrscheinlich alles sicher in einem Browser entwickeln und dann nach dem Abschluss hineingehen und die Dinge optimieren, damit es überall funktioniert.

Normalerweise rate ich Junior-Entwicklern, alle Browser während der Entwicklung offen zu halten und jeden Browser bei Änderungen zu aktualisieren, aber ich selbst schreibe alles mit Firebug, um Unterstützung zu bekommen und gehe dann zurück und sehe, wie es danach in IE7 (etc) läuft . Da ich dies seit mehreren Jahren mache, kann ich meist vorhersagen, was Kopfweh verursachen wird, und oft sofort wissen, wo ich nachsehen muss, um es zu reparieren.

    
Rahul 23.10.2008 22:38
quelle
0

Wenn Sie neu in Webdesign / Entwicklung sind, kann es manchmal mühsam sein, die Dinge in verschiedenen Browsern richtig zu erledigen.

Es ist jedoch wirklich nicht so schwer, eine Website in jedem großen Browser zu installieren, die nach dem W3C-Standard codiert ist. Meiner Meinung nach sollten Designer / Entwickler dies grundsätzlich tun, sonst sind sie nicht besser als in den IE-Jahren.

Entwickeln Sie browserübergreifenden Code, stellen Sie sicher, dass er validiert wird, und denken Sie nie daran, erneut für einen Browser zu entwerfen.

    
Mike B 23.10.2008 23:52
quelle

Tags und Links