Прошлой зимой Антон Кудин, ниндзя дизайна, попросил меня написать код для его портфолио. У него был готов дизайн и масса идей для фич, которые мне предстояло реализовать. Первая загвоздка: его хостинг, MobileMe от Apple Inc., не предоставляет никакой серверной платформы, кроме, ну, веб-сервера. То есть ни PHP, Python, Java – ничего.

Никто больше не делает сайты без CMS, и это сделало задачу интересной. Так как на самом деле выкинуть такой фокус? Совершенно очевидно.

AJAX

Движок сайта (если его можно так назвать) состоит из одного HTML-файла с сеткой, построенной на 960.gs, служащего шаблоном, одного XML-файла, который описывает весь контент и JS-файла со всеми моими скриптами. XML-файлу не требуется XSL-схема, если вы не планируете редактировать его в модном редакторе типа XMLSpy. Мы – нет, мы олдскульные парни с TextMate наперевес. XML выглядит так:

<?xml version="1.0" encoding="utf-8"?>
	<root>
		<featured>
			<project id="barcamp" />
		</featured>
		<projects>
			<project name="BarCampKrasnodar" id="barcamp" tags="id print 3d illustration">
				<images>
					<img src="assets/barcamp-1.jpg" />
					...
					<img src="assets/barcamp-5.jpg" />
				</images>
				<description>
				BarCampKrasnodar is a nonprofit event of seminars for IT developers and creatives
				</description>
			</project>
...

Простой и читаемый файл, правда? Каждый нод и атрибут служит своей цели внутри нашего jQuery-приложения. Что дальше? → Read more