Как делают сайты: от верстки и дальше
На каждый сложный вопрос
обязательно найдется ответ,
который будет одновременно
простым, ясным и неправильным.
Автор неизвестен
В прошлой статье я рассказал вам про то, как появляется идея сайта, создается дизайн, выполняется верстка (надеюсь, было понятно, а если нет – задавайте вопросы :) ). Эту статью я, пожалуй, начну не с очередного этапа разработки, а поясню вам пару-тройку важных определений. Вы ведь слыхали слова HTML, CSS, Javascript, PHP и CMS? Сначала расскажу про них, а потом двинусь дальше.
Матчасть
Что же значат все эти странные аббревиатуры? Если знаете, сразу переходите к следующей части, а я расскажу про это вкратце.
HTML – язык разметки веб-страницы, который описывает то, как она будет выглядеть.То есть фактически веб-страница – текстовый документ, в котором содержится HTML-текст. Браузер ее принимает и отображает (про это я говорил в разделе верстка)
Чтобы оформить страницу красиво, используется CSS (каскадные стилевые листы), который позволяет задать тексту особое форматирование, указать фон на сайте и т. д. CSS, как и HTML тоже обрабатывается браузером и CSS выполняется тоже только на стороне клиента.
Javascript (не имеет ничего общего с Java!) – это уже язык программирования, а не разметки. Посредством него можно, например, проверить правильность заполнения формы заказа, добавить красиво выпадающее меню или открыть крупно картинку, затемнив весь оставшийся экран. Яваскрипт выполняется на стороне пользователя в браузере и не может получать данные с сервера, что-то добавлять в режиме реального времени и т. д. (точнее, может, но с помощью поддержки на сервере).
Кроме Javascript есть еще и Flash. Он чуть более быстрый, более функциональный и тоже обеспечивает динамику на сайте, но реализован не средствами браузера, а плагином к браузеру.
Кроме того, что выполняется на стороне клиента, есть еще и целая куча компонентов, которые “лежат” на удаленном сервере и там же и обрабатываются. Все эти компоненты несут разные функции и предназначены практически для одного и того же – сгенерировать ответ, который можно показать в браузере. Это скрипты на языках программирования (PHP, ASP, Java, Ruby, Python, Perl), которые геренируют ответ, подцепляя нужные данные из базы данных, это статические страницы и файлы. Это также разные базы данных (MySQL, PostgreSQL, MS SQL, Oracle…), которые хранят в себе все нужные данные. Список всего, что есть на сервере не ограничивается этими пунктами, остальные я просто пропущу, ок?
Наконец, то мы подобрались к сути этого раздела – к системам управления сайтами (CMS). CMS состоит (условно говоря) из двух частей.
Первая – лицо сайта, которое видит любой пользователь, который на сайте оказывается. Это текстовые страницы, новостные ленты, каталог товаров, галереи и проч.
Вторая – задница “админка” сайта. В ней администратор, зайдя под своим логином и паролем редактирует и добавляет страницы, новости, товары и др.
Далеко не всегда сайты основаны на CMS. Так, например, можно соорудить сайт только из статичных HTML-страниц или же сделать “админку” и внешний сайт под конкретную задачу (Яндекс, например, не сделать из CMS, пусть даже и из очень крутой), правда, с меньшей гибкостью.
Надеюсь стало понятнее. Дальше на очереди – программирование.
Программирование сайта
Итак, веб-страницы сверстаны и теперь можно приступать непосредственно к программированию. На простые сайты разработчики не любят тратить много времени, а потому “натягивают” полученные страницы на конкретную CMS. В том случае, если проект сложный, то сайт реализовывают отдельно от каких-то существующих систем. Не стоит навязывать программистам свою идею для реализации, если они от нее отказываются. Люди они ленивые и вместе с тем умные. Не факт, что ваша идея будет соответствовать их желанию работать и их представлениям о программировании.
С точки зрения любого клиента программирование – хаотический и непонятный процесс. С точки зрения разработчиков – тоже (шучу, конечно ;) ).
Дело начинается не с самого программирования. Этот процесс разработчики обычно начинают с проектирования самой системы. Проектирование программ сродни проектированию домов. Тоже схемы, графики, обсуждения и долгие размышления на тему правильной реализации. Построенный уличный сортир не так-то просто переделать в небоскреб, а потому серьезные разработчики стараются учитывать будущий рост сайта.
После того как процесс проектирования будет завершен, разработчики приступят к реализации на языке программирования. Что такое программирование? Это зубовный скрежет, тихий мат, запах кофе и стук клавиатуры. Не хочу и буду говорить как это делается, чтобы в этой профессии осталось хоть немного романтики ;) .
Тестирование, наполнение, подготовка к “запуску”
После того, как сайт был запрограммирован, его тестируют. Часть этого этапа проходит для пользователя незаметно: тестировщики копошатся в сайте и шлют ошибки программистам, а те их исправляют. Зачастую программисты тестируют сайты сами, а бывает, что и не проверяют вовсе, а сразу отдают клиенту чтобы тот посмотрел и оценил работу.
Сайтов без ошибок не бывает. Да, не бывает и точка. Я не защищаю этим программистов и не стараюсь напугать, просто ставлю вас перед фактом. Ошибки будут в любом случае, вопрос только в их размерах. Хороший разработчик сделает так, что вы о его промашке даже и не узнаете. Если процесс утверждения концепции занимает примерно неделю, две недели – дизайн и верстка, еще неделю-другую – программирование, то процесс исправления ошибок может вполне вылезть за рамки целого месяца.
Что делать, если вы нашли ошибку? Хотите дам бесплатный совет? Не паникуйте и спокойно сообщите разработчику. Намекните на то, что вы несете громадные финансовые убытки и ваш бизнес страдает от такой безалаберности (это не обязательно должно быть правдой ;) ). Любая уважающая себя контора извинится и ошибку исправит.
Параллельно с процессом тестирования проходит и процесс заполнения сайта. Этим будете заниматься либо вы, либо разработчики. Делать все это вы будете с помощью админки сайта.
Раскрутка
Раскручивать сайт придется рано или поздно. Посетители не смогут появиться ни с того ни с сего. Для начала сайт надо зарегистрировать в поисковиках, дать на него пару важных ссылок там, где действительно нужно (например, на форумах и в блогах) и посетители к вам потянутся.
Процесс раскрутки – наверное, самый длительный из всех и полгода – вполне нормальный срок для серьезного сайта. Даже если вам сделали и раскрутили серьезный сайт, не обольщайтесь. Враг не дремлет. На ваше место на главной странице Гугла капают слюной конкуренты. Дальнейшее поддержание позиции в поисковой системе тоже потребует времени. И денег, конечно же.
Не советую заниматься раскруткой самостоятельно, оставьте это на откуп специалистам: не факт, что вы сможете “поднять” сайт в поисковике. Даже наоборот: может быть, он даже опустится.
Ну вот, теперь точно все. Создание идеи сайта, обсуждение, постановка задачи, дизайн, верстка, программирование, тестирование, наполнение и раскрутка. Ничего не пропустил? Кажется, нет. А вам стало понятнее? Надеюсь, да ;)