2

I am a newcomer in the field of web design and web development and now that I start to feel pretty comfortable with HTML, CSS, Javascript, AJAX and PHP, I was wondering where to get a quite complete reference for cross-browser design and development.

I learned a lot on other web designer's blogs/ personal sites and each time that they explain cross-browser compatibility issues and solutions, I am always wondering where they got this from, how they know so much about browsers and how they keep up to date (especially with browsers being updated quite often, resolutions changing with the evolution of hardware (monitors, tablets, smartphones etc)).

Any web designer willing to give any of their references? Is there any (complete) reference to learn those tings?

Should I learn extensively about modern browsers, about Gecko, Webkit and so on, or is it too tech savvy/ complicated/ time-consuming for the use I want to make? (I would also like to learn more about modern browser regarding security so I actually wouldn't mind advice on where to start to learn technical stuff about the inners of browsers and how they run etc).

Thank you very much in advance for any advice/ answer/ reference (sites, books, podcasts, feeds, gurus on twitter, g+, etc)

PS: I am interested in cross-browser (IE, Firefox, Chrome, Safari, Opera) and cross platform as well (PC, mac, linux, mobile devices, potentially tablets)

Iam Zesh
  • 1,797
  • 2
  • 20
  • 42
  • I don't think there's a simple way to answer that question. You named lot of issues with broad compatibility requirements. Dojo is nice framework for make the application cross/browser friendly (http://dojotoolkit.org/) but I'm not sure that'll fulfil your appetite. Good luck. – Alex Jan 12 '12 at 15:02

2 Answers2

3

I would recommend you to focus on whatever is most used at the moment.

If I were you, I'd focus with learning to do things with modern browsers, then move on to responsive design, & finally only move on to trying to make things work with older browsers.

There is no complete reference as far as I know regarding cross-device & cross-browser testing/development. That's why you might want to pick things here and there and try to write your own notes, your own reference.

Make things work with older browsers:

Now in 2014, we can see that IE8 is still in use around the web - I suspect mostly because of big companies who do not upgrade the standard OS (& the standard browser that comes with it) which leaves the employee with no choice but to use IE8.

In any case, I would focus on learning cross-browser solutions on IE8 & IE9. IE10+ work much better than previous version, even if it's still not as good as other browsers. Firefox, Safari & Chrome are usually up to date so there is no need to worry about them too much. Usually, you can find a CSS working on those browsers just with a little google search. CSS Tricks is also a great reference, ie. http://css-tricks.com/snippets/css/cross-browser-opacity/

Again, one good way to save time is to write your own notes, or save links to great articles/code snippet. Whichever way works for you, on evernote, on your blog, or else.

Here are my notes, https://sites.google.com/site/adrienitnotes/html-css , I use them almost daily.

Best thing is to learn by doing, but even better is to learn extra after work by doing more research, reading & experiments. Not so many people have/take the time to do that... but it can do a huge difference.

Regarding cross-browser testing, you can use browserstack. Microsoft is now "supporting" browserstack by letting you have a free 3 months trial (for Windows OS web browsers) http://www.modern.ie/en-us/virtualization-tools

I created this question regarding IE browser testing on browserstack: Internet Explorer versions testing in February 2014: browserstack, saucelabs, ghostLab, spoon & other tools

Regarding cross-browser feature compatibility, using Modernizr is definitely the way to go: modernizr helps you test what feature a web browser support & then act accordingly (ie. load a library, or worst case, display a "web browser not supported" error message). However, you only want to use it for "some" feature, each time you load an extra library it will make your page load slower & potentially clash with another library. It's up to you to come up to the compromise that suits you.

A few things I wrote (took note about really) about HTML5, CSS3, Modernizr, & Polyfills (polyfill: js shim that replicates the standard API for older browsers) : https://sites.google.com/site/adrienitnotes/html-css/html5

Another tip: read a lot of related SO questions & answers that havea very good rating (only!), ie. How do I give text or an image a transparent background using CSS?

Good luck!

EDIT

Here are a few more things that came to my mind in the last few months:

  • Try to notice websites of quality & focus on those: there is a lot of inacurate content on internet, make sure you do learn with websites that are known for their quality (ie. csstricks, caniuse.com, mozilla.org, sitepoint.com, html5rocks.com, aListApart.com). Likewise you want to know the common website that come up when searching a topic but that are of bad quality, there are plenty of those (ie. w3schools, see w3fools.com )

  • Research authors/developers who are leading in your field, try to find their blog, their books, their videos, their presentations, their interactive courses (if they give any). ie. http://davidwalsh.name/

  • Learn about good practices. This will make you save a huge amount of time, both in your projects & your career as a developer. Just google "html good practices" or "javascript good practices", or "jQuery good practices"

  • Learn the differences in between similar "things" in a same language, you'll most likely learn quicker this way. (ie. "jQuery: what's the difference between fadeIn() and fadeTo() ?"). Details make the difference.

  • Try some online learning tools, there are plenty now, just try a couple: teamtreehouse.com and teamtreehouse.com/library , tutsplus.com , codecademy.com , www.coursera.org , gibbon.co/flows#programming , khanacademy.org/computing/cs , udacity.com , academicearth.org , memrise.com/courses/english/computers-engineering/ , edx.org , ocw.mit.edu , codeschool.com

  • Try to find a job where you have a mentor, someone would can guide you, advise you, encourage you. In my experience, learning with a good mentor (who has a bit of time every day) can double or triple your learning speed.

Community
  • 1
  • 1
Adriano
  • 19,463
  • 19
  • 103
  • 140
1

You have to take a look at Modernizr http://www.modernizr.com/ javascript library which gives you plenty of tools to explore clients compatibility as well as upgrade yours.

Merix
  • 61
  • 1
  • 2