10 technologies you need to know to build an awesome website
Many years ago it was OK to build a website with some knowledge of HTML. These days websites require much, much more to be cool. You need to be using the latest and best web technologies.
1. Apache
Apache drives tons of websites. It is probably one of the most successful pieces of server software ever. It is not only important that your server runs off of it, but also that you know how to configure it. People don’t like URLs that look like example.com/meta/site/home/blog/files/97876868645763473648234234.php?q=16546119846189nfdc23453540_software when that can be so much shorter. Apache lets you manage everything from the beginning.
2. PHP
I’ve tried PHP and ASP.Net (though not much CGI), but I have found that PHP is by far the easiest way to develop a website with some server side code. Furthermore, there are loads of open-source PHP projects that drive major blogs, wikis, websites and forums. Decent knowledge of PHP allows your users to interact with your website.
3. MySQL
Databases are very important for web applications. MySQL has become the de facto database of choice because it works very well with PHP, and it is also very lightweight and fast. I have used MySQL in all of my web applications simply because it comes with most server packages and requires very little configuration.
4. HTML5
HTML5 is definitely the future of the internet. It is going to allow for far cleaner websites that are easier to interact with. When standardized there will be absolutely no excuse for not using it to build websites as you can embed video, audio and graphics far more easily than ever before.
5. CSS3
Like HTML5, CSS3 allows for much better designs for websites, introducing animations, shadows, transitions, curves and gradients. If you are going to make your website look nice then CSS3 allows you not only to do it, but to do it well. Furthermore, CSS3 makes it much easier to design websites for all platforms whether desktop or mobile.
6. jQuery/JavaScript
Server side code is very useful, but it is equally important that you know how to code client side so that you can allow the user to interact with the page more fluidly. jQuery also has a plugin package called jQuery UI which has loads of cool bonus features that aren’t normally included with a browser. If you want to use the new <canvas> element to draw graphics, JavaScript is your only solution.
7. AJAX
This sort of fits in with jQuery, but AJAX is incredibly important for developing new age web applications. It means that information can be sent between the client and the server without the need to refresh the page. This can be incredibly useful in many scenarios. For instance, if a user is watching a video and they would like to comment on it they do not want the video to reload from the beginning, so it is incredibly useful that the functionality is there to help more useful interaction.
8. JSON
I only discovered JSON the other day, but I am already finding it incredibly useful. It allows you to write up JavaScript objects in a separate file, which is useful for creating APIs. Furthermore, JSON is compatible with a huge variety of programming languages, meaning that if you want to code an API for your site you can do so in PHP and it will work in JavaScript, Java, C# and scores of other programming languages.
9. XML
XML is very much like JSON because it allows data to be stored in a way that is easy to interact with through JavaScript, and it is also very useful for creating RSS feeds, so if you have a blog your users can be updated when you do a new post.
10. Social APIs
It is all very well for you to create an incredible web application, but it is more important that you promote it afterwards. Therefore it is worth adding ‘Like’ buttons to your website for some of the major social networks (I would recommend adding Facebook, Twitter, Reddit, Tumblr, Google+, Digg and Send via E-mail). It is worth considering that you probably ought not to use the default bars, but instead styling your own version which fits better with your design.


