HTML4 VS HTML5?

FireCat

Oh Shi.. Don't wake the tiger!
Reaction score
534
What is difference between HTML4 and HTML5? Are HTML5 For better or worse?
Well, and what is jquery and what exactly does jquery do?
Btw: Do you really need jQuery?
 

monoVertex

I'm back!
Reaction score
460
HTML5 is, obviously, the next version of HTML. All major browsers implement HTML5 completely or almost completely.

For starters, HTML5 has a lot of new tags (most proeminent, in my opinion, <canvas>). Besides that, HTML5 introduces a lot of new technologies, like WebGL, Web Workers, Drag n Drop specifications, etc. There are a lot of new things. I recommend http://www.html5rocks.com/en/ for further reading.

However, you should understand that HTML4, HTML5 and their siblings, are just specificatios / guidelines, written by the W3 Consortium and the browser developers are not forced to follow it. Hence all the differences between browsers.

Now, with jQuery you seem really confused. Let's start off with JavaScript, which is a scripting language, pseudo-OOP, pseudo-functional, pseudo-imperative. This language is aimed directly at Web Development and is supposed to work in tandem with a DOM (a representation of HTML code = Document Object Model). There is a larger discussion here, as Node.js changed that, advancing JS as a stand-alone language, independent of the DOM, but that's another story.

However, while JavaScript has some really sweet features due to it functional programming roots (functions as first citizens, advanced closures and scopes, etc), it also lacks seriously in other areas, especially in DOM manipulation, which is one of the most important parts of it, what with it being aimed at using along a web page and everything.

So here steps in jQuery. jQuery is just a JavaScript library. It extends JavaScript functionality, but it does a lot of things and it does them real good. This is why most JS developers also use jQuery and some people even think of jQuery as a stand-alone language (offensive as it is, I consider such people noobs in web development :p).

An older library that had a similar aim as jQuery was Prototype. It's not really used anymore, but it was one of the first attempts at making JS much more powerful.

Basically, you don't need jQuery to code JS, but it is a nice thing to have on your resume as it's still a prominent presence in the JS coding area.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
HTML5 is a bloated monstrum which tries to expand the life-time of a specification which should have died 10 years ago.
But its features are pretty neat. Its just a shame it isnt implemented completely yet in all browsers. I know for a fact, that firefox is missing a few features from HTML5 at this moment.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
HTML5 is pretty new, HTML is not.
Its outdated, todays websites do not work the way the original HTML was designed for.
So people are forced to build all kinds of add-ons on top of HTML just to make it work for their websites.
Instead of making one good and useful specification, they just try to chain piles of crap together and hope something good will happen.

So now, instead of learning web-programming, you have to learn HTML, CSS, JavaScript, JSP's, JSF's and probably many more.
 

monoVertex

I'm back!
Reaction score
460
HTML5 is new in the HTML history, but when talking time, it's not new. It's been a recommendation from W3C since December 2012 (in the continuously developing IT domain, one year is old) and it has been in development way before that (it became mainstream in media around 2010).

Accname, I don't really agree with you. You can't consider CSS or JavaScript as some kind of add-ons. HTML does one thing, markup, structure. That was its goal from the beginning. CSS does another thing, presentation, and JavaScript does another, functionality. I agree, it could have been done all in one thing, with the same language.

However, presentation in a structural scripting language seems kind of hard to do. Presentation in a declarative one, like CSS is, is more intuitive. Now, declarative AND structural is even better (this is what the guys that created LESS and SASS are doing).

Now, with HTML it's the same. Let's make an analogy with JavaFX, which I had to use at uni lately (was not given a choice -.-). Creating all of the UI elements from code sucks balls. It's hard to maintain, to read and to code. It's just not a proper way to do it. Creating the UI with FXML, however, is way better. In this analogy, Java represents JavaScript + the backend, and FXML is HTML.

In my opinion it is a good thing that these purposes are separated this way, even if you have to learn three different languages. Creating UI through Java alone or Python alone or C++ alone is hell, in my opinion. After all, this is why the alternatives like FXML appeared (and I'm sure there's alternatives for every other language or UI framework used in a structural language).
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
It isnt as clear as you make it sound. Many websites, especially older ones, use HTML for the design too. Tables for formatting, colored texts, etc. This is build into HTML because when it first came out, there was no CSS or anything.
After a while people realized this was bullshit and tried to make people use CSS instead of the build-in HTML functions. So they added it in.

My problem with all of this is, when they realized things were going south they tried to keep riding their dieing horse instead of starting all over. The old Server-Client model, as it is enforced by HTML, is just not what people need today.
They want real-time chat applications build into their websites, they want notifications, and all kinds of other gizmos.
 

monoVertex

I'm back!
Reaction score
460
But the Server Client model is not enforced by HTML at all, but by HTTP. HTML is used in all kinds of situations, not only on the web.

And the problem you see (and I see as well) is not with the Server Client relation, but rather with the fact that the Server only responds on requests, in the HTTP protocol, it cannot push information to a Client. So really, HTML and the other languages have nothing to do with this. HTML5 has a specification for a socket which does just that btw, just that it isn't supported by many browsers yet. So HTML is actually trying to break barriers of HTTP.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top