Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I got into the game of programming, exactly a year ago. Now i am posing as an HTML, CSS and Javascript Guru.

html5 and css3 are the new things out there but in my opinion they are still experimental, (some new websites remind me of the blink tag). I know HTML 4.x and xhtml were out there for a very long time and eventually became standards. But i wasn't around to see that transition from experimental to strict standards. So my question is how long will it take for us to get there with these new versions of html, css and javascript.

Most of the code I see around is accommodating older browsers, and i can fairly say that it is easier to write javascript code that work in ie5-8 than to write one that works with i9 and ie5 (let's take localStorage for this example).

So when are we going to get to this level where if you want to make sure code works almost universally you have to make sure it's at least HTML5 and CSS3 compliant.

share|improve this question
20  
Guru after one year? Amazing! –  Benjol Jul 26 '11 at 8:33
1  
I don't think that anyone even considers XHTML to be obsolete at all .. it's not in conflict with the HTML 5 spec as far as I know. –  Explosion Pills Jul 26 '11 at 14:28
    
Please don't ask us to predict the future. We don't do it well, and it doesn't solve any problems for you. –  Eric Wilson Jul 26 '11 at 20:18
    
The question was not to give me a July 3rd 2013 but more like a html versions life cycle is usually 5-7 years. And there were some pretty interesting answers that did more than answer my question but gave me good input (espcially xhtml. i didnt know that about text/html transfer). so yeah i had no interest in people predicting the future, we have fortune tellers for that @farmboy –  Ibu Jul 27 '11 at 0:28

5 Answers 5

up vote 8 down vote accepted

They are obsolete today,

XHTML is valid, but you better not server it as 'text/html'. You should serve it as 'application/xml+xhtml' (See the famous article) And of course this breaks in IE<9. XHTML is not an option for legacy browser support.

HTML5 is almost a superset of HTML4 (excluding the deprecation). I see no reason to not use the HTML5 DOCTYPE

CSS3 is also a superset of CSS2. I see no reason to not use CSS3.

However you can still use most of the things you've learned with HTML4/CSS2. Using newr technologies merely expands your toolset.

As for legacy browser support, that's what Modernizr is for. I'm not suggesting you should break your code in older browsers. Your HTML only version should work all the way back to IE2 and NN4. Use progressive enhancement and solid web development strategies. Just don't bother serving any of the bells and whistles to legacy browsers.

You must not code to the lowest denominator. That attitude left us with IE6 only intranet application which are one of the main reasons IE6 is not dead.

You should code to the latest standards and use shims and shivs to make older browsers emulate those standards.

Within reason of course, there's no need to start using ES6 today or .requestFileSystem browser support on those is near non-existent.

share|improve this answer
    
i completely disagree with your first remark (XHTML1.0 is dead) –  Ibu Jul 26 '11 at 9:22
1  
@Chad "As for legacy browser support, that's what Modernizr is for." I never suggested breaking in old browsers. If one uses progressive enhancements and good web development strategies they will not break. HTML5/CSS3 don't break legacy browsers. Bad code breaks legacy browsers. If you write bad code, that's not my problem. –  Raynos Jul 26 '11 at 13:47
1  
Whats with the negative votes for this? Definitely uncalled for, Raynos is correct in stating the older technologies are currently obsolete, better/newer ones are out now. –  Loktar Jul 26 '11 at 13:56
1  
@Ibu I adjusted it, it was a bit harsh. But none the less support for application/xml+xhtml for IE<9 is none existant. So you can forget about IE8 support for XHTML –  Raynos Jul 26 '11 at 13:58
3  
+1 for "You must not code to the lowest denominator. That attitude left us with IE6 only intranet application which are one of the main reasons IE6 is not dead." This is a great point that is overlooked by almost all intranet web developers. –  RationalGeek Jul 26 '11 at 15:02

There are three sides in web development, which move the progress :

  1. WCAG Standards
  2. Browsers
  3. Web Developers

While the standarts are improving, the browsers try to catch up and while browsers improve, the developers try to catch up also. It is an infinite process and I doubt that we will ever reach a point, where the code would be "universal".

Thankfully, users tend to appreciate this system and are continuously downloading new browsers, which allows modern developers not to support IE5 and sometimes even IE6. I think that in 3-5 years from now we can lose support for IE7 and in 5-7 years it will be perfectly safe to use HTML5 + CSS3 without thinking about the older browsers.

share|improve this answer
1  
+1 for 5-7 years. The machines that are forced to have IE6 will start failing and newer browsers will come up. –  HelloFictionalWorld Jul 26 '11 at 7:12
1  
We can lose browser support for IE7 when google does on the 1st of august. We can lose browser support for IE8 when IE10 releases. The web developer community needs a shift to "Current and previous version of major browsers". Also in "5-7" years developing for HTML5/CSS3 will feel like developing for IE6 today. –  Raynos Jul 26 '11 at 8:00
    
Will HTML5 even be complete as a standard in 5-7 years? –  configurator Jul 26 '11 at 13:59
    
@configurator HTML5 last call ends early august. This means it will probably go into recommendation soon. –  Raynos Jul 26 '11 at 14:13
    
@Raynos: Oh, that's good news! Thanks –  configurator Jul 27 '11 at 12:57

It depends on your market. Fundamentally they will be obsolete when the last of your customers moves from browsers that don't support anything newer.

While everyone would like to think that IE6 is dead there are still plenty of companies that enforce the use of IE6 and aren't looking to migrate any time soon. These places will have web applications that work only on that version of IE and aren't in a position to switch.

So if your application incorporates this market you will have to cope with IE6 as well as IE9 and Chrome, Firefox et al. If not they you can safely ignore them and concentrate on the technologies that your market does support.

share|improve this answer
    
There are tools and javascript libraries designed to make IE6 be a HTML5/CSS3 compliant browsers. (Mainly Modernizr and Chrome frame). They are worth looking into. –  Raynos Jul 26 '11 at 14:11
    
@Raynos - do these need installing on the client PC? If so you might have issues getting them adopted by some corporations. –  ChrisF Jul 26 '11 at 14:13
    
Chromeframe (which turns IE6 into chrome) is a browser plugin (that needs installing, doesnt require admin priveleges) and Modernizr is a set of javascript libraries that emulate modern standards. –  Raynos Jul 26 '11 at 15:06

The growth of HTML5 and CSS3 is not linear. Rather, it's exponential. Thus be ready to see them ruling web world. But this doesn't mean that HTML4 and CSS2 become obsolete immediately. There is a parallel time when a design with either is accepted. Also note that who defines which technology is obsolete? W3C? WHATWG? Community? The viewpoint matters here. Because for example, in spite of CSS3 becoming widespread, still there are specifications of CSS2 which are not in Recommendation state.

share|improve this answer
    
The way I see it, as the versions of web standards increase, the time it takes for them to be standardized increases with it. O_o –  Thomas Shields Jul 26 '11 at 14:22

Obsolete? A long time. Since HTML4 and CSS2 are basically part of HTML5 and CSS3, your sites won't stop working any time soon.

XHTML is a different story -- IE has never supported it, treating it as HTML, and the others only support it when sent with the application/xhtml+xml mime type, so you don't see very much of it on the web.

New features can be adopted a la carte, and it's easy to use progressive enhancement, so you don't break the browsers that don't support them.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.