do new browsers break old HTML/JS/AJAX code?
I'm considering outsourcing a web application using HTML/JS/JQuery/AJAX technologies. I'm aware the developers spend a lot of time hand tweaking their code to make the result somewhat consistent between the various existing browsers and operating systems out there. My question is, once everything is working fine and the web application is successfully deployed to world, what if a new version of IE, FireFox, etc. is released (which will occur at开发者_开发技巧 some point)... are the new browser(s) typically a cause for concern that the once-proven web application may show problems?
More specifically, is it industry practice, after the web application is happily deployed, to keep track of all new releases of the relevant browsers and go through the same hand-tweaking development for each?
If so, is it general practice to always have a budget for this associated cost for maintenance once this technology (HTML/JS/JQuery/AJAX) is committed to?
Disclaimer: I'm assuming the web shop your hiring is good. If you hire a shit web shop (and most of them are shit) then you will need a big budget for someone to come fix all that code two years down the line when it's falling apart.
Standards compliant code will not break on newer browsers (as long as browsers comply to standards).
Writing hacked code that uses proprietary browser extensions, deprecated APIs or generally using anything that is not in the W3C standards means that your code breaks whenever browsers vendors feel like dropping support.
Most competent web developers write standards compliant code and warn you that some feature requests are impossible with the standards and require certain browsers with no guarantee that such feature will continue working in the future.
Generally all browser tweaking done today is making older browsers support your website. Newer browsers should not fail.
Within the industry it's not necessary to hand tweak code for newer browsers versions.
However new browsers can and will have bugs. Dealing with these bugs should be the job of your cross browser compliance library (jQuery and Modernizr). This means that your website may be broken in the first few weeks after browser releases whilst other people are busy fixing the libraries you rely on.
It is highly advised to have an automated unit testing suite and to run those tests against betas of newer browsers.
In general though there should only be problems if your using cutting edge and unstable features. Or if the W3C makes a major u-turn on one of their proposals but then everyone has a big problem.
However I do recommend you have an "Oh shit" budget for dealing with unexpected change in the future. This does not necessarily have to be for browsers.
Browser compatibility is definitely a concern of any developer. In order to determine the relevant course of action, one would need to weigh the pros and cons, and determine if taking the extra time would be worth while to serve a large enough portion of their user base.
Pros: - Increased compatibility - Improved usability
Cons: - Time consuming - Extra cost (if outsourcing) - Difficult to test every system
You will find that a lot of newer apps will display a message to the user if their system does not meet that apps' specifications. Some would say that you are narrowing your user base with this approach, while others would say that it simplifies things.
Either way you choose to proceed, you should always keep future modifications in mind. After all, you do not want to dump a lot of money into an app that works fine with the majority of today's systems, but may become obsolete in the next 6 months to a year.
It's yes to all your questions.
New versions of the browsers may 'break' your pages, especially when it comes to CSS. New versions may have some bugs fixed which previously required hand tweaking. Now, with the bugs fixed, those tweaks are actually causing problems.
Google has a rule to support two last major versions of major browsers. I would choose browsers / versions based on your user base (ie, certain companies may have stopped with Win XP and IE6 on internal machines so all internal websites must support old versions of IE).
If you're thinking seriously about your app than you will have a budget allocated to it.
精彩评论