Ist es schwieriger oder einfacher, eine Website heute zu erstellen als vor 10 Jahren? Ist die Messlatte gestiegen oder gesunken? Ich habe keine Daten für Sie, aber ich kann ein paar lockere Meinungen abgeben.
HTML
HTML5 war die einzige große HTML-Änderung im letzten Jahrzehnt, und sie war nicht besonders dramatisch. Es ist cool, dass es die lockerere Variante ist (anstatt XHTML3 oder etwas Ähnliches zu bekommen). Auf diese Weise besser kompatibel. Vielleicht schließe ich mein <br /> und vielleicht nicht. Bessere semantische Tags (z. B. <article>) zu haben, ist großartig. Eingabetypen sind wunderbar. Aber nichts davon macht HTML wesentlich einfacher oder schwieriger.
Dasselbe.
CSS
CSS ist einfacher geworden. Wir verwenden ständig viel weniger „Hacks“. Ich kann es buchstäblich fühlen. Das CSS, das wir heute schreiben, fühlt sich so intentional und direkt an. Vor 10 Jahren hatte ich das Gefühl, dass jedes zweite Element irgendeinen seltsamen Hack darauf hatte, und heute fast keines. Wenn CSS sich irgendwie schwieriger anfühlt, würde ich wetten, dass es daran liegt, dass die Websites, die wir bauen, größer und komplexer sind, sodass die Styling-Systeme dafür umso robuster sein müssen und die Gefahren, etwas falsch zu machen, umso größer sind.
Einfacher.
JavaScript
Ich bin sicher, dass es hier starke Argumente für beide Seiten gibt. Die Sprache, vielleicht, mit all ihrer jüngsten syntaktischen Innovation... vielleicht einfacher. Aber was von JavaScript verlangt wird und was wir damit tun, ist astronomisch viel größer, dass damit auch mehr Schwierigkeit einhergeht. Es ist dem CSS auf diese Weise ähnlich, aber noch ausgeprägter, da wir nicht nur das tun, was wir vorher in neuem Umfang getan haben; wir bauen ganze Schnittstellen mit der Sprache auf eine Weise, wie wir es vorher einfach nicht getan haben.
Schwieriger.
Domains
Ich erwähne diesen Punkt, weil er ein entscheidender Schritt für die Fähigkeit einer Person ist, von Null zu einer tatsächlichen Website zu gelangen.
Ich glaube nicht, dass der Kauf eines Domainnamens einfacher geworden ist. Domainnamen sind ein Markt für Rohstoffe, daher verkaufen Ihnen die Unternehmen, die sie Ihnen verkaufen, sie aus einem anderen Grund, was bedeutet, dass es für sie einen sehr hohen Anreiz gibt, Ihnen andere Produkte zu verkaufen. Für jemanden, der ganz neu ist, kann ich mir vorstellen, dass die Verwirrung entweder hoch ist oder dass er nicht genug weiß, damit sich die Verwirrung einstellt. Kaufe ich es über dieses Seitenerstellungs-Ding? Muss ich es über dieses Seitenerstellungs-Ding kaufen? Brauche ich den WHOIS-Schutz? Oh Gott, was ist überhaupt DNS? Ich schätze, ich möchte E-Mail, richtig? Oder ist das wie eine seltsame, spezielle gehostete E-Mail? Ughjakd. Ich nenne es ein Unentschieden. Nichts hat das einfacher oder schwieriger gemacht in einem Jahrzehnt.
Dasselbe.
Hosting
Es steckt so viel Geld im Hosting, dass es mir den Atem raubt, dass wir hier keine tiefere Innovation sehen. Ich könnte argumentieren, dass es heutzutage ein wenig einfacher ist. Aber Low-End-Commodity-Hosting unterscheidet sich nicht wesentlich von dem vor einem Jahrzehnt und ist auch nicht hilfreicher. Wir basteln immer noch größtenteils unsere eigenen maßgeschneiderten Build- und Deployment-Prozesse zusammen, wie wir es vor 10 Jahren getan haben.
Großangelegte Dinge haben vielleicht viel Innovation erfahren, wie z. B. AWS, aber niemand wird argumentieren, dass diese Dinge auch nur annähernd einfach sind.
Die meiste Innovation haben wir bei Unternehmen wie Netlify und Zeit gesehen, die die Entwicklererfahrung ganzheitlich betrachten, von der Hilfe bei der lokalen Ausführung über das Testen von Builds im Staging bis hin zu unveränderlichen Deployments. Ich würde mir wünschen, dass alle Hosting-Unternehmen erkennen, dass jeder einzelne ihrer Kunden seinen Code auf ihre Plattformen bringen muss und sie eine riesige Gelegenheit haben, uns dabei direkt zu helfen.
Leicht einfacher.
Wie Leute es wirklich machen
Ich denke gerne über HTML, CSS und JavaScript nach. Aber natürlich fangen die wenigsten Leute mit diesen Technologien an, um tatsächlich Websites von Grund auf zu erstellen. Eigentlich werden sie als zugrunde liegende Technologien behandelt, mit denen man unter einer Vielzahl anderer Technologien experimentiert.
Man kann eine Website nur aus einer index.html-Datei erstellen. Ich würde sagen, mehr Leute sollten das tun. Aber die Leute greifen zu „vollständigeren“ Lösungen und passen sie von dort an. Ich weiß, ich habe es getan. Die ersten Websites, die ich jemals erstellt habe, waren WordPress, weil es eine ganze Website in einer Box war (mit eigenen Problemen) und ich sie angepasst habe. Die Leute tun das heute immer noch, wahrscheinlich mehr jetzt als vor 10 Jahren, und ich habe nicht das Gefühl, dass es wesentlich einfacher oder schwieriger ist. Oder sie greifen zu etwas Bekanntem. Ich habe vor nicht allzu langer Zeit eine einseitige index.html-Website erstellt, nur damit sie von einem anderen Entwickler aufgegriffen wurde, der sie in eine create-react-app-Website verwandelte, aber ansonsten nichts änderte. Sie wussten einfach nicht, wie sie damit ohne React umgehen sollten.
Oder sie nutzen WordPress.com, Squarespace, Wix, Shopify, BigCommerce oder wissen Sie, was ich meine. Hier geht es nicht darum, was Leute tun können, sondern darum, was Leute tun. Und für die meisten Leute senken diese Apps die Messlatte für die Erstellung einer Website erheblich.
Also, ist es für den Durchschnittsmenschen einfacher oder schwieriger, von Null zu einer Art Website zu gelangen?
Viel einfacher.
Können Leute es wirklich tun?
Wenn wir über die Erstellung von Grund auf sprechen, ist es interessant zu sehen, wer überhaupt noch die Kontrolle darüber hat. Die ganze Idee für diesen Beitrag entstand aus einem Gespräch, das ich mit jemandem hatte, der Frontend-Entwickler war und gebeten wurde, eine Website für einen Freund zu erstellen. Sie lehnte ab, weil sie nicht wusste, wie.
Ich habe mit jemandem gesprochen, der seit 3 Jahren als Frontend-Entwickler in einem Unternehmen arbeitet. Ihr Freund bat sie, beim Erstellen einer Website zu helfen, aber sie musste ablehnen. Sie wusste nicht, wie.
— Chris Coyier (@chriscoyier) 14. Oktober 2019
Ein Teil davon überrascht mich nicht. Während ich schreibe, gibt es auf der Welt sehr viele reaktionsspezifische Entwickler, die an riesigen Websites arbeiten (teilweise wegen Bootcamps, teilweise wegen Marktnachfrage). Sie verstehen dieses sehr spezifische Ökosystem und sind darin perfekt produktiv, haben aber kein breiteres Verständnis dafür, wie alles zusammenkommt, um die vollständige Website zu erstellen.
Spezialisten sind Spezialisten!
Sie: Was machst du?
Ich: Ich bin Webdesigner
Sie: Cool! Kannst du mir helfen, meine Website zu bauen?
Ich: [lacht] Oh Gott nein, ich habe keine Ahnung, wie das geht— Karen McGrane (@karenmcgrane) 14. Oktober 2019
Ein anderer Teil von mir ist überrascht. Sie wissen, dass eine index.html-Datei mit „Hello, World!“ darin eine Website sein kann, oder? Selbst React-Entwickler sind sich im Allgemeinen sehr bewusst, wie create-react-app eine einsatzbereite Website zusammenstellt. Tools wie Stackbit erstellen für Sie eine JAMstack-Site, die überall laufen kann. Für Entwickler scheint es heutzutage viel einfacher zu sein, von Null zu einer Website zu gelangen.
Viel einfacher.
Hatten wir uns immer noch mit Netscape/IE beschäftigt oder waren es nur Hacks für IE.
Also mussten wir uns um Browser kümmern.
Jetzt sind es iPhone, kleines iPad, normales iPad, Laptop, supergroß.
Ich wette, CSS ist viel schwieriger. Im Prinzip ist es dasselbe; wenn man eine einzelne CSS-Datei erstellt und die Kaskade befolgt, aber das will niemand mehr. Es geht um plattform- und geräteübergreifende Kompatibilität. Responsivität. Tooling (Sass usw.), CSS-Variablen, die Liste geht weiter.
Vor 10 Jahren brauchte ich nie Sass, einen Transpiler (z. B. Webpack, Gulp oder Grunt). Ich habe einfach angefangen, eine Website zu codieren. Heutzutage gibt es ein paar Stunden Tooling-Einrichtung, und das schließt die Recherche nicht ein, die ich betreibe, um sicherzustellen, dass ich über das neueste Tooling auf dem Laufenden bin.
Die Entwicklung im Allgemeinen ist viel schwieriger, wenn man über die Grundlagen hinausgeht.
Ich stimme hier zu – einige unserer Layout-Tools sind heute einfacher zu verstehen und zu implementieren (und man muss keine Menge an Hacks und Stolpersteinen lernen…), aber die Arbeit mit responsiven Layouts bringt allein viel Komplexität mit sich.
Stimme voll und ganz zu! Es ist furchtbar zeitaufwendig geworden… allein die Einrichtung der Umgebung, um etwas Einfaches zu erledigen. Das Gegenargument ist, dass man am Ende eine skalierbarere, wartbarere und anspruchsvollere Anwendung entwickelt. (seufz)
Was die Erstellung einer vollständigen Website von Grund auf betrifft, denke ich, ist die Antwort „beides“.
Einerseits ist die Einstiegshürde viel höher als früher, da man sich um viel mehr Dinge kümmern muss. Eine Website muss von einem riesigen Desktop-Bildschirm bis zu einem Mobiltelefon und allem dazwischen skalierbar sein. Sie müssen die Interaktion mit Tastatur und Maus im Vergleich zur Touch-Interaktion berücksichtigen. Sie müssen die Barrierefreiheit berücksichtigen. Für alles, was auch nur annähernd komplex ist, möchten Sie einen CSS-Präprozessor, einen Paketmanager usw. verwenden, was die Einrichtung eines Build-Prozesses bedeutet, was die Arbeit mit der Befehlszeile bedeutet. Sie möchten ein Git-Repository einrichten. Etc., etc.
Andererseits ist es, sobald man diese anfängliche Lernkurve überwunden hat, VIEL einfacher. Die Kombination aus etwas wie Bootstrap + SASS-Präprozessor + npm + Git ist unglaublich leistungsfähig und flexibel. CSS hat sich erheblich verbessert und ist weitaus leistungsfähiger als früher (Flexbox, Grid usw.) und kann nativ so viele visuelle Dinge tun, die früher enorme manuelle Arbeit erforderten (Schatten, Verläufe, Übergänge usw.). Die Browserunterstützung für all diese Funktionen ist viel gründlicher und konsistenter.
Insgesamt würde ich sagen, dass sich die Dinge enorm verbessert haben. Aber man muss mit den Änderungen Schritt halten, während sie geschehen. Ich versuche mir vorzustellen, wie es wäre, wenn ich kurz nach meinem Einstieg in die Webentwicklung (frühe 2000er Jahre) aufhören würde und dann versuchen würde, jetzt wieder einzusteigen – alles wäre so anders, dass es praktisch so wäre, als würde man alles wieder von Grund auf neu lernen!
Du weißt, Chris, obwohl ich mich vor 10 Jahren nicht wirklich mit Webdesign beschäftigt habe, scheinen Page Builder die Dinge heutzutage einfacher zu machen.
Das gesagt, habe ich auf die harte Tour gelernt, dass es mehr ist, als nur Text und Bilder auf einer Seite zusammenzufügen und es als erledigt zu bezeichnen. Aber das ist der lustige Teil! Ich habe es geliebt, gezwungen zu sein, CSS zu lernen, und Java steht als nächstes auf meiner Liste (naja, und mehr .php).
Ich denke, während die Dinge einfacher sein mögen, gibt es auch (zumindest für mich) eine gute Menge an Lernen, die ich noch tun muss, da sich das Web verändert, wissen Sie?
Ihnen fehlen ganze Gesprächsebenen, damit diese Reflexion relevant ist.
Build-Tools, Animation, Performance, Zugänglichkeit, Multi-Geräte, Komponentenarchitekturen, GraphQL-Abfragen vom Frontend.
Die Dinge sind im Frontend weitaus komplexer als vor zehn Jahren.
„Hosting“ hat einige laufende, experimentelle Innovationen. Das Inter Planetary File System (IPFS) wird das Hosting möglicherweise viel günstiger und zugänglicher machen und die aktuelle Logik des Webs umkehren: „Je mehr Besucher Sie haben, desto höher sind Ihre Serverkosten“. Bei IPFS gilt: Je mehr Besucher Sie haben, desto geringer sind Ihre Serverkosten.
Auch bei IPFS müssen Dateien signiert werden (da der private Signierschlüssel die Version der Datei steuert), so dass Sie kostenlos eine gewisse Sicherheit gegen Identitätsdiebstahl erhalten.
Schon vor einem Jahrzehnt gab es noch Leute, die sich für die Layoutstruktur auf
<table>verließen, anstatt auf CSS. Daher würde ich sagen, dass die Unterstützung fürflex boxundgridCSS und damit auch HTML erheblich erleichtert hat.JavaScript ist wahrscheinlich insgesamt schwieriger. Es gibt noch mehr Framework-Optionen, es gibt das neue ES6. Die Popularität von JavaScript-Bibliotheken wie React oder Vue hat JS in den Vordergrund gerückt, sodass wir alle eher an die Leistung denken.
Die einzige Möglichkeit, wie ich den Domainkauf / das Hosting als einfacher bezeichnen würde, ist, dass es mehr Optionen gibt. Da es mehr Optionen gibt, ist es etwas einfacher, Dinge à la carte zu erledigen, wenn Sie es bevorzugen, und wenn Sie sich entscheiden, den Anbieter zu wechseln, ist es viel einfacher, diese Übertragungen zu verwalten, als ich es selbst vor einem Jahrzehnt erlebt habe.
…
Und wenn wir außerhalb des Bereichs der Entwickler sprechen und wie ein Laie seine Website einrichten würde? Ich gehe mit VIEL einfacher mit einem Sternchen. Es gibt Millionen von Optionen, von der Installation von WordPress bis zu einer Reihe von ziemlich beeindruckenden visuellen Editordiensten. Jeder Laie kann ziemlich einfach etwas einrichten… es ist vielleicht nicht so individuell wie er es sich wünscht, aber er kann etwas auf die Beine stellen, das professionell aussieht und seinen Zweck erfüllt.
Das Sternchen aber? Es gibt Millionen von Optionen zur Auswahl! Das kann eine entmutigende Aufgabe sein… die Auswahl der richtigen, die Ihren Bedürfnissen entspricht, und das Verständnis, was Ihre Bedürfnisse sind und sein werden.
…
Für einen Entwickler würde ich sagen, dass sich „Wie wir es tatsächlich machen“ nicht wirklich einfacher geworden ist. Es ist einfach vielfältiger geworden. Was ehrlich gesagt eine großartige Sache ist. Installieren Sie WordPress, schreiben Sie Ihr eigenes Backend selbst, befeuern Sie es mit PHP, ASP, React oder etwas ganz anderem. Oder machen Sie es komplett offline zugänglich. Alles ist gut, alles funktioniert. Die einzige Einschränkung ist Ihre Fähigkeit, den Code auszuführen, oder Ihre Bereitschaft, wie Sie den Code ausführen lernen.
Kürzlich, als ich nach einem Job suchte, fragte mich einer der Leute, die mich interviewten, nach Frontend-Frameworks (er vermischte JavaScript-Frameworks, CSS-Frameworks usw.) und ob ich mit ihnen vertraut sei. Meine Antwort war, dass mir Frameworks egal sind, aber starke Grundlagen wichtig sind. Jeder kann [Framework einfügen] an einem bestimmten Anzahl von Tagen effektiv lernen, vorausgesetzt, er hat starke Grundlagen. Meiner Meinung nach sollte, um Zeit in das Erlernen eines Frameworks zu investieren, dieses Framework auch noch Jahre relevant sein...
Ich denke, die Programmiersprache wird einfacher als
Aber die Schwierigkeit ist, dass jeden Tag Tausende von Websites online gehen
Und um eine Website zu erstellen, muss man einzigartig sein
Hallo Chris – liebe deine Schriften
HTML – gleich
Wie bewerten Sie Webkomponenten, Shadow DOM usw.? Habe selbst keine Erfahrung, aber es stellt eine HTML-Änderung dar
Progressive Web Apps? Noch zu früh, um das zu sagen?
WebAssembly?
Beste Wünsche für das neue Jahr
John
HTML… nun ja, ja. Man kann nicht sagen, dass es einfacher oder schwieriger ist, es ist nur größer. Wir können mehr tun, aber wenn ich an jemanden denke, der gerade mit FED angefangen hat, kann es im Vergleich zu vor HTML5 zu viel sein.
Ich muss ständig mein Gehirn erweitern, um alles unterzubringen. Ich dachte, es sei vor Jahrzehnten einfach gewesen, als ich noch mit Vanilla-Editoren gearbeitet habe. Jetzt ist es nicht wirklich schwer. Was sich geändert hat, ist, dass es so verdammt viel zu wissen gibt! Gerade wenn ich denke, ich beherrsche etwas, google ich und stelle fest, dass ich komplett verpasst habe, mit etwas anderem Schritt zu halten oder sogar zu wissen, dass etwas anderes jetzt existiert. Puh! Ich renne ins hohe Alter, während ich diese Welt durchlaufe und es nicht einmal bemerke.
Einerseits ist es einfacher wegen besserer Browser, weniger Hacks, mehr Tutorials, Online-Kursen, Informationen überall, Build-Tools, schnellen Setups und insgesamt viel besserer Tooling usw.
Andererseits ist das Spiel viel höher als früher und die Erwartungen sind viel höher. Nicht nur mit einem bestimmten Toolset vertraut zu sein, sondern mit dem gesamten Gemisch aus zugänglichem HTML, widerstandsfähigem und prägnantem CSS und JS mit geringem Fußabdruck, bevorzugtes Wissen über spezifische Frameworks und Build-Tools, ich schätze, es ist schwieriger geworden. Allein die Best Practices, neuen Tools und die Zeit, um damit zu spielen, zu verfolgen, ist fast ein Vollzeitjob.