Ich bin seit fast 10 Jahren ein Webentwickler und habe mir angewöhnt, kein JavaScript zu verwenden, wann immer dies möglich ist. Ich spreche hier nicht vom Erstellen von Web-Apps, sondern von datenbankgesteuerten Websites.
Ist das ein guter / respektierter Ansatz?
javascript
Ryan
quelle
quelle
Antworten:
Es ist der Instinkt der meisten Programmierer, alle Arten von Code zu reduzieren . Je weniger Code, desto weniger Komplexität und desto weniger mögliche Fehlerpunkte in diesem Code. Diese Regel gilt für Javascript ebenso wie für andere Sprachen. Sie halten nur an der Tradition fest.
Verwenden Sie Javascript nach Bedarf / Wunsch in HTML-Seiten ... aber es gibt keinen Grund, es zu verwenden, wenn es nicht wirklich benötigt wird.
quelle
Vor 10 Jahren war das vielleicht eine gute Idee. Heutzutage sind die meisten Teile des Internets (zumindest einige sehr beliebte Teile) fast unbrauchbar geworden oder bieten nur eine sehr eingeschränkte Funktionalität, wenn Sie Javascript im Browser deaktivieren. IMHO können Sie heute erwarten, dass Ihre Benutzer Javascript aktiviert haben.
Und es gibt viele Frameworks wie JQuery, um Browser-Inkompatibilitäten zu umgehen. IMHO gibt es heute keinen wirklichen Grund, warum Sie sich einschränken sollten, indem Sie kein Javascript für Ihre Website verwenden - der einzige Grund kann sein, dass Sie keine Verwendung dafür haben.
BEARBEITEN: Eine andere Frage ist: Wenn Sie eine minimale Funktionalität Ihrer Website bereitstellen sollten, wenn Ihre Besucher JS nicht aktiviert haben , ist dies meistens eine gute Idee, aus den Gründen, die einige Kommentatoren hervorgehoben haben.
EDIT2: Sicherlich muss man für jede Website ein Gleichgewicht zwischen Benutzerfreundlichkeit, Suchmaschinenfreundlichkeit und Entwicklungsaufwand finden. IMHO heute Javascript kann dazu beitragen, dieses Gleichgewicht zu verbessern - wenn mit Bedacht verwendet. Ich denke, es ist nicht mehr nötig, die Verwendung von Javascript generell zu minimieren, um dieses Gleichgewicht zu halten. Verwenden Sie es mit Vorsicht und dämonisieren Sie es nicht.
quelle
Wenn eine Site ohne JavaScript verwendet werden kann, ist sie für ein möglichst breites Publikum verfügbar. Es stimmt zwar, dass die Mehrheit der Browser JavaScript unterstützt und die Mehrheit der Benutzer es standardmäßig aktiviert lässt, aber Sie können sich nicht sicher darauf verlassen. Schließlich ist nicht alles, was auf Ihre Website zugreift, ein Browser. Wenn Sie möchten, dass Ihre Website von Suchmaschinen wie Google ordnungsgemäß indiziert wird, muss GoogleBot in der Lage sein, Ihre Website ohne JavaScript zu navigieren.
Es gibt auch spezielle Webbrowsersoftware, bei denen JavaScript nicht verfügbar ist oder nicht wie erwartet funktioniert. Bildschirmlese- oder Braille-Software, die beispielsweise von Sehbehinderten verwendet wird. Es gibt auch Umgebungen, in denen der Arbeitsspeicher beschränkt ist und große Mengen an Javascript das Surferlebnis unangenehm oder sogar unpraktisch machen können, wie z. B. Smartphone-Browser.
Sie sollten sich mit dem Konzept der "progressiven Verbesserung" befassen, bei der Sie eine Site erstellen, die ohne JavaScript funktioniert, und dann eine JavaScript-Ebene hinzufügen, um die Benutzerfreundlichkeit zu verbessern. Auf diese Weise erhalten Sie eine Website, die zumindest für Benutzer ohne Javascript geeignet ist.
Sie müssen sich nicht bemühen, alle Funktionen, die Sie mit JavaScript implementieren möchten, für Browser bereitzustellen, die kein JavaScript sind. Es ist jedoch weiterhin wichtig, zumindest die grundlegenden Anwendungsfälle ohne JavaScript verfügbar zu lassen. Die Möglichkeit, die Website zu durchsuchen, steht natürlich ganz oben auf der Liste. Wenn Sie jedoch eine E-Commerce-Website erstellen, ist es albern, den Checkout-Prozess von JavaScript abhängig zu machen, da dies Ihren Umsatz kosten könnte.
quelle
Die anderen Antworten scheinen sich auf "sollte ich niemals JavaScript verwenden" zu konzentrieren, also denke ich, dass sie den Punkt verfehlen. Sie sollten kein JavaScript verwenden, wenn Sie es nicht benötigen. Manche Leute benutzen JavaScript für alles :
href
wenn angemessen)Die Vorteile sind Dinge wie:
href
Links können Suchmaschinen, Benutzer, die Links auf anderen Registerkarten öffnen möchten, und Benutzer, die JavaScript hassen, Unterstützung erhaltenNatürlich ist AJAX ziemlich cool, genauso wie dynamische Seiten. Werfen Sie diese Dinge also nicht weg, nur weil manche Leute sie nicht brauchen.
Mein Punkt ist, zu lernen, wie man Dinge ohne JavaScript macht, ist gut, JavaScript zu minimieren, und ein Backup zu haben, wenn JavaScript nicht funktioniert, ist gut, aber es gibt keinen Grund, Features zu vermeiden, weil sie JavaScript erfordern.
quelle
Es ist eine gute Idee, unnötige Funktionen zu vermeiden. Frameworks wie jQuery machen es unglaublich einfach, Schnickschnack hinzuzufügen, was zwar sinnvoll ist, aber manchmal nicht. Zum Beispiel:
... oder ...
Ich würde es nicht vermeiden , JS zu verwenden, aber ich achte darauf, nicht unangenehm zu sein, während ich nach langsameren Maschinen Ausschau halte. Das Gleiche gilt für einige der ausgefallenen neuen Dinge, die wir in CSS3 bekommen - wie Schlagschatten ... wenn sie übermäßig verwendet werden, können sie dazu führen, dass jemand auf einem Computer mit geringerer Leistung eine wirklich schlechte Erfahrung macht.
Die Ausnahme könnte darin bestehen, Front-End-Steuerelemente für verschiedene Arten von Appliances zu schreiben, bei denen JS unbedingt deaktiviert sein muss (möglicherweise schreibt eine strenge Sicherheitsrichtlinie in einem Rechenzentrums-Verwaltungsnetzwerk kein JS vor). Daher sollte das Obige im Zusammenhang mit Ihren jeweiligen Anforderungen gesehen werden.
quelle
Ich glaube, dass ich als relativ neuer und junger Webentwickler (ca. 4 Jahre) viel darüber recherchieren musste, da Javascript überall ist.
Bei meinen Projekten versuche ich sicherzustellen, dass die Site ohne Javascript funktioniert, und füge dann Javascript hinzu, wo es sinnvoll ist (clientseitige Validierung, Verbesserung der Benutzeroberfläche usw.). Es ist eine Art progressive Verbesserung und es kümmert sich um SEO, deaktiviertes Javascript und ältere Browser-Inkompatibilitäten.
Dieselbe Frage wurde auf SO gestellt, aber ich kann mich aus Liebe nicht erinnern, wo.
quelle
Die Verwendung von JavaScript kann in mehreren Fällen eingeschränkt sein:
JS verfügt über eine Vielzahl von Funktionen, die nicht durch serverseitigen Code ersetzt werden können. Abgesehen von den oben genannten gibt es meines Erachtens kein vernünftiges Argument, um die Verwendung von JS einzuschränken.
quelle
" Datenbankgesteuerte Websites " ist der Schlüssel zur Antwort. Es gibt zwei Möglichkeiten, Websites zu erstellen, und die zulässige Menge an Javascript hängt davon ab, welche Sie tatsächlich verwenden. Sie können bauen:
Inhaltsbezogene Websites . Im ersten Fall sind die Zauberwörter "progressive Verbesserung"; Beschränken Sie Javascript auf redundante Funktionen, die mit klassischen Zugriffen auf Inhalte über einfaches HTTP bereitgestellt werden können.
Webanwendungen . Für Anwendungen verwenden Sie stattdessen das Web als Softwareplattform. Apps basieren auf einigen Annahmen über die verfügbare Software - moderne Browser, neueste Versionen der gängigen Javascript-Bibliotheken, Desktop-Zugriffe mit der Maus und / oder Tablets mit Multi-Touch.
Das Web als Softwareplattform
Die Mindestanforderungen für den Zugriff sind in Ordnung, wenn Sie wirklich eine Anwendung erstellen. Sie zielen auf eine bestimmte Plattform ab, um erweiterte Funktionen zu erhalten, die sonst nicht erstellt werden könnten. Es ist wie für Python oder Java oder .Net zu entwickeln. Lassen Sie sich nicht von Modewörtern wie HTML5 und dem Versprechen täuschen, "irgendwo hinzulaufen". Sie können zwischen Geräten nur portablen Code verwenden, solange die gesamte Plattform auf diesen Geräten unterstützt wird. Jede Änderung am Entwicklungsstapel und an der Software führt zu einer Unterbrechung.
Der zu zahlende Preis ist also, dass Sie einem sich bewegenden Ziel folgen, wenn neue Versionen der Plattform veröffentlicht werden. Sie müssen aufholen, damit Ihre App bei der Weiterentwicklung der Plattform funktioniert. Der einzige Vorteil, den Sie erhalten, ist ein semi-universeller Bereitstellungsmechanismus für Ihre App, der nicht von Paketen oder Anwendungsspeichern abhängt. Sie verlieren jedoch die Hauptfunktion, die das Web von früheren vernetzten Computersystemen unterscheidet.
Das Web als Inhaltslieferung
Inhaltsbezogene Websites sind ein anderes Biest. Sie stehen in der Tradition des klassischen World Wide Web. Der Inhalt wird vom Kunden lose interpretiert und kann vor der Präsentation beliebig verändert werden. Der Zugriff auf die Site wird von einem Ökosystem verschiedener Plattformen erwartet, die möglicherweise die aktuellen Standards unterstützen oder nicht:
Sie verlieren sie alle, wenn Sie die aktuelle, sich ständig weiterentwickelnde Version von Javascript benötigen. In diesem Zusammenhang ist defektes Javascript, das den Zugriff auf den Inhalt verhindert, eine Sünde.
Jeder, der sagt, dass "die Verwendung von Javascript minimiert werden sollte", spricht sich für diesen Stil aus. Es ist in Ordnung, ein paar JS einzuschließen, aber alle Funktionen sollten redundant sein, mit grundlegenden Zugriffen auf Inhalte, die serverseitig erzielt werden könnten:
Der Vorteil dieses Ansatzes besteht darin, dass weniger Tests und Upgrades erforderlich sind und die Haltbarkeit erhöht wird. Die ersten statischen Webseiten von vor 20 Jahren sind in jedem Webclient noch durchsuchbar, aber die ersten Webanwendungen sind für immer kaputt. Wenn Ihre Site überhaupt einen Archivierungswert hat, profitieren Sie langfristig von der Verwendung des Webs als Content Delivery-System und nicht als Anwendungsplattform.
quelle
Ich arbeite für meine Landesregierung, weshalb der größte Teil meiner Entwicklung datengesteuerte interaktive Websites umfasst. Abfragen von historischen Daten, Formulareingaben usw. Wir halten unser Javascript aus folgenden Gründen auf ein absolutes Minimum:
1) Die Validierung von Formulareingaben sollte immer auf der Serverseite erfolgen, niemals auf der Clientseite. Wenn Sie versuchen, Ihre Eingaben auf der Clientseite zu validieren, muss ein Hacker lediglich eine lokale Kopie Ihrer Webseite erstellen und das Javascript neu schreiben, um zuzulassen, was er Ihnen senden möchte (SQL-Injection usw.). Ihre Validierung muss irgendwo unter Ihrer ausschließlichen Kontrolle erfolgen, dh auf dem Server.
2) Viele Benutzer deaktivieren entweder Javascript oder verwenden einen Browser, der es möglicherweise nicht richtig implementiert. Als Regierung müssen wir alle unterstützen, auch wenn sie wirklich WIRKLICH alte Geräte verwenden. HTML funktioniert überall. Javascript, nicht so sehr. Indem Sie auf Ihren Webseiten kein Javascript verwenden, können Sie auf dem Client-Computer nur einen sehr geringen Platzbedarf mit wenigen Ressourcen erzielen. Dies maximiert die Anzahl der Personen, die auf Ihre Inhalte zugreifen können. Aus dem gleichen Grund sollten Sie mit Ihrem CSS nicht zu verrückt werden. Halten Sie es einfach, halten Sie es sauber und lassen Sie kleine alte Damen Ihre Website sehen, auch wenn ihr Computer 1999 gekauft wurde (wir erhalten übrigens Anrufe beim technischen Support von Leuten wie diesen).
3) Javascript ist ein Tool, das eher von "Web-Entwicklern" als von serverseitigen Programmierern bevorzugt wird und dazu neigt, ziemlich hässlich zu sein. Und Designer (das ist, was Webentwickler normalerweise sind, wenn Sie ehrlich sein wollen) neigen dazu, das Problem beim Herunterladen von "Skripten" von zufälligen Stellen im Web nicht zu sehen. Sie sagen Dinge wie "Warum das Rad neu erfinden?" und "hier nicht erfunden". Anstatt ihren eigenen Code zu schreiben, holen sie sich oft etwas von einer anderen Site und denken, dass es ein faires Spiel ist, wenn es im Internet ist. Dabei gibt es zwei Probleme: A) Sie veröffentlichen möglicherweise versehentlich ein bösartiges Javascript, das Sie erst nach einer Weile abfangen können, und B) sie verstoßen möglicherweise gegen das Urheberrecht einer anderen Person und werden verklagt. Beide Situationen sind zu vermeiden.
IM ALLGEMEINEN ist Javascript eine schlechte Idee. Client-Code jeglicher Art ist eine schlechte Idee. Die Client-Seite sollte nur Markup-Sprache und CSS enthalten. Lassen Sie die Serverseite das schwere Heben handhaben.
quelle
Es hängt davon ab, ob.
Von Desktop-Benutzeragenten wird erwartet, dass sie Ihr Javascript auf sinnvolle Weise unterstützen und ausführen. Allerdings sind nicht alle Benutzeragenten grafische Desktop-Browser, und Sie müssen entscheiden, ob Sie sie unterstützen möchten.
Beispiele beinhalten:
Meine Faustregel lautet: Wenn es sich um eine Webanwendung für reguläre Benutzer handelt (Inhouse, Community usw.), ist es in Ordnung, sich auf JavaScript zu verlassen. Wenn Sie jedoch öffentlich zugänglich und auffindbar sein möchten, ist dies zumindest das Entscheidende Die Funktionalität sollte ohne Javascript einwandfrei funktionieren, und Sie sollten ordnungsgemäß versagen, wenn Sie sie benötigen, anstatt ein "undefiniertes" Verhalten aufzuweisen.
quelle
Der altmodische Ansatz ist völlig veraltet. Zum Beispiel habe ich eine Ajax-Löschung für den Moderator auf einer der Seiten vorgenommen und er ist nur glücklich über die offensichtliche Geschwindigkeitssteigerung.
Natürlich kann der Entwickler zwei Versionen sowohl für JS- als auch für Nicht-JS-Benutzer erstellen, aber in den meisten Fällen ist dies extrem teuer und nicht wertvoll für 1-2% der Website-Besucher (wenn Sie nicht Google sind, natürlich).
Meine Antwort wäre also NEIN - JavaScript ist die Antwort auf viele Fragen zur Benutzererfahrung. Warum sollte ich es nicht verwenden?
quelle
Meiner Erfahrung nach gab es eine Zeit, in der Unternehmen JavaScript nach Richtlinien deaktivierten. Aber diese Zeit ist längst vorbei. Derzeit habe ich einige große Intranetanwendungen und Webanwendungen für größere globale Unternehmen erstellt. Für alle Anwendungen war die Verwendung von JavaScript und JQuery Teil der Erwartungen des Kunden.
Das Erstellen von Anwendungen für Kunden ist nicht mehr nur Geschwindigkeit und Sicherheit. Der Kunde möchte sich auf die Benutzerfreundlichkeit und den Einsatz der AJAX-Technologie konzentrieren. Ohne die Verwendung von JavaScript würde es nicht so gut funktionieren. PostBacks die ganze Zeit für einige sehr kleine Aufgaben wie Berechnung oder so etwas ist für die meisten Unternehmen keine Option.
Wenn wir über die aktuellen Situationen in größeren Unternehmen nachdenken, gibt es einen weiteren Indikator, warum JavaScript derzeit ein Muss ist. Schauen Sie sich die CMS-Systeme an, die derzeit in Betrieb sind. Die meisten verwenden Microsoft SharePoint oder Adobe CQ, einige Drupal oder andere und so weiter. Alle diese Systeme basieren auf JavaScript. Ohne Javascript würde die meiste Anwendung nicht funktionieren, wie der Benutzer es erwartet.
quelle
In früheren Zeiten wurde JavaScript verwendet und missbraucht, und Skripte waren (als voll empfunden) mit Sicherheitslücken und einer Quelle von Malware.
Viele Unternehmensnetzwerke haben darauf reagiert, indem sie JS deaktiviert haben, eine Richtlinie, die (zu Recht oder zu Unrecht) in vielen Unternehmen noch heute existiert.
Ganz einfach, ich schlage vor, dass sich keine Website auf JS verlassen sollte, um zu funktionieren
quelle
Wie die meisten Antworten hier erklären, ist die Verwendung
javascript
kein Schaden. Wenn Sie Ihre Codierung und den unordentlich aussehenden Quellcode speichern möchten, sollten Sie versuchen,coffee-script
dies spart viel Mühe bei der Eingabejavascript
.http://coffeescript.org/
quelle