Thirith on 30/11/2010 at 12:50
In my current job, two of my tasks are of a technical nature: I'm responsible for our project website (mainly content management) and I'm the Database Guy. I'm by no means an IT pro, but having used computers since the early '80s, working with several programming languages and usually being one of the few people at work who isn't scared by computers, I'm pretty comfortable at acquiring new IT skills.
However, one thing I've never learnt is HTML. I have somewhat of a passive understanding of it - when looking at HTML code, I tend to understand what's going on - but I wouldn't be able to do much beyond editing existing code.
We're now switching to a new website on the basis of Wordpress/Buddypress, and ideally we should have someone on the team who'd be able to make changes and additions, add plug-ins and the like. With past websites, we've always been entirely depdenent on externals, which is inflexible and expensive.
My question is this: Is it feasible for me to start acquiring these skills by reading up on HTML? If so, what worthwhile books are out there. Or would I need to do a course? And would it be realistic to assume that within half a year or so I know enough about HTML to do this sort of work (within reason) without us having to hire expensive externals and not having sufficient control over our code?
Kolya on 30/11/2010 at 13:57
Wordpress is PHP based, though unless you plan to modify themes and functions yourself you won't need HTML or PHP. A bit of CSS knowledge would be useful.
(
http://de.selfhtml.org/) is a good and free resource for learning HTML and CSS.
Thirith on 30/11/2010 at 14:15
Cool, thanks. I'll look at the site and at general information on CSS as a start.
SubJeff on 30/11/2010 at 14:39
HTML is really easy to learn as there is practically nothing to it. If you want a solid reference text that will also teach really quickly get one of the O'Reilly HTML books.
And (
http://www.w3.org/) is pretty useful too.
ZylonBane on 30/11/2010 at 16:09
Quote Posted by Subjective Effect
HTML is really easy to learn as there is practically nothing to it.
Yeah, if you only stick with the HTML 2 version of the spec. Beyond that, it can get pretty damn complicated.
Al_B on 30/11/2010 at 19:16
Quote Posted by Thirith
Is it feasible for me to start acquiring these skills by reading up on HTML?
If you're dealing with any website then having at least an understanding of what's going on behind the scenes is very valuable. (
http://www.w3schools.com/) W3schools is useful as a quick intro to a number of topics although it can lack a discussion as to
why you'd do something in a particular way. As for a book, I've found "(
http://www.sitepoint.com/books/html2/) Build your own website the right way using HTML and CSS" to be a good introduction and pretty easy to get into.
As Koyla says, if you want to actually create your own server plug-ins then you'll need to know a bit of PHP or similar. In my opinion PHP is a bit of a mess and shows signs of having evolved as a language over the years. However, it's the de-facto standard for many sites and frameworks and you should be able to pick up the basics from the (
http://www.php.net/docs.php) online documentation.
Ultimately how deep you want to go depends on how much time you (or your employer) want to invest and how much money you'll really be saving by doing it in-house. If you're doing it for in-house stuff only where you have control over the browsers being used and don't need anything too flashy to start with then I'd say go for it.
Kolya on 1/12/2010 at 00:17
Just to get this clear: PHP is a programming language that generates HTML, which is formatted by CSS.
Thirith on 1/12/2010 at 09:36
Cool, thanks for all the info. Definitely a good starting point for me!
At the moment everything is up in the air with respect to my job (our programme may be cancelled at the end of the financial year - our money comes from the UK government, so there's a lot of pressure on the organisation I'm working for to cut spendings), but provided that we survive March it would probably be a good idea for me to delve into HTML and CSS, at least so I have a better idea of what's going on under the hood of our website. If I take to them well enough to be able to do more maintenance work on the site that we'd otherwise have to ask externals to do, the better.
What about PHP and JavaScript? To what extent would it be worthwhile getting at least a basic understanding of them? Or am I already running the risk of biting off more than I can chew?
Kolya on 1/12/2010 at 14:34
PHP would be interesting, Javascript much less so. Pretty much every major website (CMS, Blogs, Forums, etc) is built on PHP. PHP is first of all a software that's installed on the server and understands the PHP code you write into plain text files with a PHP extension. So in your PHP code you get to write something like:
IF user A visits this site THEN say "Hello user <b>A</b>!". And the part in quotes is the HTML that's being send to the user then, while this: IF condition THEN action - part happens all on the server's side. Usually this is backed up by a database where you draw all the data from.
Anyway, Javascript is also a programming language, but it all happens at home in the user's computer. Every browser has a Javascript engine built in to understand JS. So you send the complete HTML file with the JS down to the user and it's interpreted there, on his machine. And it's not connected to a database. You can do a lot less this way than with PHP. And it's up to the user to manipulate or simply turn off JS on his machine.
So while JS is actually a fully grown programming language, it's main use on the web is as a sort of helper language for HTML, to do some of the more complicated stuff. But almost all of what it's been used for and a lot more can be done with PHP. Especially when combined with a database, which is basically a bunch of tables that you can query to see for example that user A has 275 private messages and what they are.
However Javascript, as it runs on the user's computer, can do some very neat things: It can change what's being seen on the website without reloading the website, which feels very fast and snappy. And it can even query the server about some small piece of data and show that right on your site, all without reloading. And that's AJAX.
Also Javascript has been made a lot more useful by the recent development of JS libraries like jquery which simplify the otherwise clumsy and blown up JS code writing.
For some practical examples: TTLG is built on PHP. If you look at the source code of any page you'll see nothing of that though, as it all runs on the server, the page has been generated by PHP and the resulting HTML/CSS sent to your computer. (
http://www.schwarzsilber.de/) My personal website consists solely of HTML/CSS and Javascript. If you look at it's source code, you see all there is to it, because it runs on your computer. You will also notice the snappy behaviour when opening or closing items there. Because there's nothing to download in between.
tl;dr: go with PHP
SubJeff on 2/12/2010 at 09:54
Quote Posted by Kolya
Anyway, Javascript is... And it's not connected to a database.
tl;dr: go with PHP
This isn't strictly true, is it? First of all if you want to use AJAX is effectively database interaction, no? And you can arguably build databases with JavaScript.
In any case the use of PHP and JavaScript is... different. They serve different functions a lot of the time although they can be used to do the same thing - e.g. site-wide scripts for menus can be held in one PHP or JavaScript file so that if you alter the one file it alters the menu on every page instantly.
And if you're going to learn PHP for database manipulation purposes you'd better learn SQL/mySQL and good database design, which is an art in and of itself.
imho you either go the whole hog - HTML/CSS/JavaScript/PHP/mySQL - or take it easy and go for just HTML/CSS.
To be fair I'm not up with all the latest HTML spec so if, as ZB says, it's got really complicated you'd be better off messing with just that and CSS (which itself is pretty complex tbh). And one day when you decide to start using a programming language (I'd recommend JavaScript first because it's so damn easy to use as there is no set-up) you'll be well placed to make the most of it and you'll also be thinking "wow, NOW I can make some really awesome stuff!".
Koyla - love that pop-into-the-page script you have on your site. Source? Also - open in new tab doesn't work on your site! Grrr. GUI failure. :p