Basics: a deeper dive into markup languages
Before unveiling popular frontend scripting frameworks, or put them on an ultimate Mortal Kombat ring, I believe we should take a deeper dive into what markup languages are and which ones power user interfaces nowadays. Now, without expanding too much into eventualities, let’s reel this markup language story.
In one of our previous posts, we spoke about one of the most notorious markup languages: the HyperText Markup Language. At the time, defining the Markup Language term would have been a bit confusing, thus it fell off the scope. Now, however, we need to properly define the term “markup language” to add-up to the story.
According to Wikipedia, any system used for annotating a document in a way that is syntactically distinguishable from the text, making use of human-recognizable tags is, in fact, a markup language. The term “mark-up” came directly from the practice of manual paper manuscripts annotation (i.e., the revision instructions by editors), which is traditionally written with a red or blue pencil on authors’ initial copy.
Before these were ported to the internet, there were over a dozen markup languages to use and these have diversified and expanded over the last decades. Following-up on that definition, you should know that HTML is not the only markup language used by apps. As mentioned before, this one grew out of SGML (a standard used to annotate documents at CERN) and there are a couple that, in their turn, evolved from HTML itself. If you really want to know about every markup language there is, a good start would be to consult this list on Wikipedia (a site which, by the way, uses its own light-weight method called “Wiki markup”).
Speaking of Wii Markup: compared to a full-fledged markup language, this lightweight method is commonly called “markdown”. Modern methods sprout-out HTML as soon as WEB 2.0 became a thing and forum boards required a much simpler language than HTML, that would appeal to their users. This is how the “What You See Is What You Get” or WYSIWYG principle was born. Think of it as an inside-out HTML where you write the text that is compiled into code rather than code that translates into text. The same principle powered initial word processors such as WordPerfect, Electric Pencil, or WordStar.
If you’re a blogger that uses WordPress, you might be familiar with the Guttenberg Editor. As in the case of any other markdown scope, you do not have to know any HTML – instead, you’re using an interface that is similar to a word processor than a compiler. Then again, if you really want to make your life difficult, you can always hit “Edit as HTML” and use tags as you please.
Since there are hundreds of Markup Languages, today we’ll only focus on the main 3 used by the internet: HTML, XML and XHTML.
As the primary language of the internet, HTML stands above all. As a matter of fact, most of those secondary languages have derived from, or are compiled back into HTML. Almost every page you can access today is built using an HTML flavour, enabling your browser to define how text, images either multimedia is arranged within a web view.
As we mentioned before, HTML is based on an older Markup Language called SGML or Standard Generalized Markup Language, that makes use of tags to define how your text is structured. Despite its popularity, you must also know that HTML is not the only WWW language used today and over its evolution, it has been segregated into derivates and extensions that build the interactive internet we know and love. This has been courtesy of maintaining simplicity and elimination of complex tags from rudimentary use.
Besides its utility, you should also know that HTML’s popularity isn’t a natural occurrence. Any web markup language needs to be consistent to stay relevant and HTML has been quite lucky in this matter, I guess. Right from the beginning, this WWW language has been kept under control and adjusted to fit modern needs by a notorious authority: the World Wide Web Consortium (or W3C).
Founded and led by Tim Berners-Lee, W3C is powered by a variety of member organizations which maintain full-time staff working together to engage in outreach and education, develop software for the web and build a community of bright minds that enable discussions about the WEB. In fact, thanks to this authority we have frequent reviews of HTML and its descendent extensions, as well as various deployed web standards (additional markup languages and internet protocols). Thanks to W3C, HTML had 5 major releases, that lead to the HTML5/CSS3 tandem that powers the most recent web pages on the internet.
Many markup/markdown languages are based on HTML. XML is no exception – in fact, it can be considered as a mix between SGML and HTML. To put a pin on it, imagine SGML, XML and HTML as part of a stack where the language’s complexity and the level of strict ruling decrease from top to bottom. In this analogy, XML is the sweet-spot between complexity, strictness and functionality prerogatives of that stack.
Since it is provided with a bit more functionality than HTML, XML is, in fact, a very popular derivate to build web standards upon. Its rather node-like structure can arguably be considered as a language designed to write markup languages, hence it powers standards such as Scalable Vector Graphics (for direct drawing), MathML (for defining math formulas/procedures), SMIL (to manage multimedia), VoiceXML (as a web voice exchange method) and xHTML (we’ll get to this one right away).
Since its a web standard, XML and its extensions are also regulated by W3C that released over 4 revisions resulting in XML 2.0. Despite the fact it is rarely used as a direct implementation (especially with the increased popularity of frontend scripts), XML is still at the core of various web-enabled standard implementations, powering over 100 markup languages and serves as at the base of any known WYSIWYG online word processors and office suites.
As an internet markup language, xHTML is nothing else but an HTML 4 extension, that has been redesigned by W3C to meet the XML standard. In fact, it has been replaced entirely by the recent HTML5 version and various frontend scripting methods that emerged in recent years.
There’s not much else to say about it and unless you’re looking to rebuild a web application delivered back in 2013, and most probably, you’ll never have to deal with it.
While you’ll rarely use XML directly, chances are you’ll probably use a derivative standard or a replacement mechanism which is, in essence, an XML model, hence the required awareness. Of course, it is not entirely false that some of these protocols can be replaced by frontend scripting practices that make use of the Document Object Model interface, a concept that treats an HTML or XML document as a tree structure, rendering XML standards use cases to a minimum.
In fact, modern applications rely heavily on this, but since that story is at least as long as this one, I’ll make sure to cover it in our next week’s post. If you’re interested in finding out which are the most widely used frontend frameworks, as well as what lies behind their mechanics, make sure to keep up with our releases by following us on LinkedIn, Facebook and/or Twitter.