4 ms·
Owner of the site here: We do need to update the landing page, we've gone through many updates over the two years that this site has been out and I think this
by kinlan 10y ago
Owner of the site here:
We do need to update the landing page, we've gone through many updates over the two years that this site has been out and I think this page doesn't explain what Web Fundamentals site is.
Our goal with this section is to explain the fundamentals of web development from the platform upwards with opinionated best practice guidance.
We are constantly adding new content for new areas of the web (like push notifications) and refactoring guidance as we learn more of how this is used in production (things change, but we base the initial guidance off how we have used it).
- austincheney 10y agoThe site is called "web fundamentals" and looks to be educational. Unfortunately, it is severely flawed due to a bias. The site is immediately and inherently skewed towards interaction and programming. This mistake (though incredibly common) is really really bad. At the core to have the web all you need is two things: an application protocol and a document structure format. The public web standardizes on HTTP and HTML for those two qualities. This site does not address these two most primary qualities explicitly. The implicit assumption is that these qualities are not themselves important and instead necessary trivialities who technical qualities can be indirectly surmised through study of more interesting derivative works. This is a big mistake that makes learning these technologies far hard than it really needs to be. Don't assume the technologies are simple or that people will just get it right, because they won't. If I were teaching a class on web fundamentals I would start with XML Schema. Don't laugh, I am being serious, just hear me out. Learning XML Schema is important because it forces the student to learn the importance of structure and design in the crafting of human consumable information, which is really what the web is all about. It also teaches the student about node types and node relationships that is directly reflected in the standard DOM methods. Equally important it also teaches the student about application scope. XML Schema (and thus XML and HTML) features lexical scope for its scope model in exactly the same way that JavaScript does. I cannot express enough just how important this single quality is to understanding JavaScript. For people coming from languages like C#/C++/Java this really seems to be the most challenging experience to wrap their heads around, but it is absolutely essential to understanding that language. After XML Schema I would teach the DOM. I would teach this even before teaching anything about JavaScript. Understanding the DOM from a high level is a conversation of relationships and abstract modeling more than programming. Many web developers never get this and they forever suck as a result. This subject is so much easier to understand when separated from writing methods in a programming language and then so much easier to apply once the student gets to the programming part. None of these principle standard technologies are hard to learn. They just need to be taught in the right order and expressed through practice. Security standards are hard, but web standards are easy. Yet, most developers I have ever known always fail on the easy stuff. If you, as a potential educator, aren't taking these technologies seriously then neither will your prospective students.
- cageface 10y agoYou can't be serious. You expect beginning students of the web to start with XML Schema? Have you ever taught beginners in technology?
- austincheney 10y agoHow would you start?
- rpedela 10y agoI would just start with HTML basics so they could build something "cool" right away. Part of a beginner class is getting them interested in the topic and showing them why it is important. Starting with one of the most boring topics is a bad way to do that.
- olalonde 10y agoI don't think it is targeted at complete beginners. Most of the topics are quite advanced and require some background knowledge. On a related note, what do you mean by "lexical scope" in HTML? Unless I'm misunderstanding, I don't really see the parallel with HTML since it doesn't have variables. I agree about teaching DOM separately from JavaScript. As someone who learned the DOM and JavaScript simultaneously, it took me a good while to learn which parts of JavaScript really were DOM APIs.
- austincheney 10y agoWhen you declare an element (or attribute) in an XML instance that isn't already defined as a body of the primary document or root schema this declared entity is available only to a limited scope. That limited scope is the element of declaration and its descendant nodes. Typically such declarations occur as the result of referencing a foreign artifact against a namespace. You don't really see this capability in the common forms of HTML, but you can if you run the HTML as an XML serialization (regardless of the HTML doctype in the document). The execution context can be changed in many cases by sending a document with an XML specific media type or in some cases by changing the file extension from .html to .xhtml.
- stephenboyd 10y agoIn the 'Getting Started' section of a site named 'Web Fundamentals,' you have articles on service workers, promises, async functions, and shadow DOM. They're great introductions to those topics, but those aren't fundamental. They're more like advanced new browser tech that's only been supported for a few years or less. 'Fundamentals' would be things like HTML, CSS, JavaScript, JSON, and HTTP requests. I think I get what you might mean in that these things are now permanently part of the browser runtime and not just imported libraries, but this site would have driven me crazy when I was first learning the actual fundamentals of web dev. You've got excellent content on here, so I'd recommend just changing the name to something like 'Advanced Web Features'.
- intralizee 10y agoI see no problem leaving it as it is. Advanced typically becomes fundamentals in a few years.