На правах рекламы

Шукалка

Становимся специалистами

Пятница, 4 декабря 2009 г.
Рубрика: Бизнес в сети
Метки: |
Просмотров: 3665
Подписаться на комментарии по RSS

Эта статья является продолжением темы, начатой в предыдущей статье Бизнес в Интернете и веб-сайты. Здесь я хочу сделать краткий обзор тех знаний и умений, которые в той или иной степени понадобятся при создании собственного сайта. Также здесь будет рассмотрен приблизительный алгоритм создания своего сайта.

Сперва-наперво, вам наверняка понадобятся некоторые инструменты для работы. Сервер L(W)AMP, IDE с отладчиком, гарфические пакеты, возможно, система контроля версий. Коротко обо всем. В секретных буквах LAMP или WAMP зашифрована типовая связка операционной-системы, веб-сервера, сервера баз данных (БД) и серверного языка программирования. Буква L или W, как вы наверное догадались, обозначает Linux или Windows. Поскольку большинство хостингов работают в Unix-совместимой среде, куда входит и Linux, поэтому среда LAMP мне кажется более "родной", но и под Windows все необходимые составляющие также можно использовать. Широко известен пакет Denwer, как раз включающий в себя все эти AMP.

Что же за ними кроется? A - Apache (один из наиболее распространенных веб-серверов), M - MySQL (наверное, самый популярный в области веб-разработок сервер БД), а вот последнюю букву не редко расшифровывают по разному: PHP, Perl или Python. Благо названия всех этих языков программирования начинаются на букву "P" smile

Выбор языка, конечно, дело добровольное, хотя должен заметить, что PHP отличается, наверное, наибольшей распространенностью, вероятно, из-за его простоты. Освоить его можно относительно легко и быстро, если вы до этого уже занимались программированием на других языках, в особенности с Си-подобным синтаксисом. Вобщем, я для себя выбрал PHP, поэтому буду говорить о средах разработки (IDE), которые могут использоваться совместно с этим языком прогарммирования.

Существует множество удобных HTML/PHP-редакторов, которые обеспечивают удобную подстветку синтаксиса, автодополнение и форматирование, однако, с недавних пор я понял, что без использования отладчика, разработка программ является сущим мучением. Точнее, наоборот, я понял, что с использованием такового, нахождение и исправление ошибок в коде становится делом техники. Я упомяну здесь только две среды, с которыми я успел поработать: это PHPeD и Netbeans.

Первая разработана компанией NuSphere и распространяется на платной основе, с возможностью 30-дневного ознакомления. Написана она для работы под Windows, хотя довольно неплохо работает и под Linux с использованием wine. Для обеспечения отладки, используется собственный отладчик, который необходимо установить на сервере в качестве дополнительного модуля PHP.

Среда разработки Netbeans изначально не задумывалась, как среда для PHP, но за счет расширяемости плагинами это стало возможно. Написана она на языке Java и поэтому по-идее должна бы быть кросс-платформенной, хотя я не проверял, так как системой Windows уже очень давно не пользуюсь. Распространяется эта IDE свободно, что делает ее значительно более предпочтительной. В качестве PHP-модуля отладчика используется также свободно распространяемый продукт - xdebug.

В качестве системы управления версиями я бы рекомендовал всем git, разработанную Линусом Торвальдсом. Лучше ничего не видел. На втором месте svn. Это из тех, что я успел в своей жизни попробовать. Существует их великое множество, но они либо не так популярны, либо совсем отмирают, как cvs.

Здесь я перечислил лишь основной и далеко не полный инструментарий, работу с которым вам предстоит освоить, прежде чем начинать разработку собственного веб-проекта.

Итак, с чего все начинается? Кто-то скажет, что с дизайна, но нет, не совсем так. Хотя если дословно перевести это слово с английского языка (design - "задумка"), то да, все начинается с задумки, точнее с постановки задачи. Это может выполняться в различных формах, например, если вы собираетесь закзать разработку сайта разработчику, то необходимо составить грамотное техническое задание, если вы делаете это для себя, то можно ограничиться минимальными набросками. В любом случае, при постановке задачи нужно четко обозначить структуру сайта и его функциональность, точнее функциональность каждого отдельного элемента сайта. Говоря простым языком, что где будет на какой странице и как оно будет работать.

Лишь теперь можно приступить к дизайну. Этот этап не обязательно будет идти вторым, его можно сделать позже или вообще параллельно с реализацией функционала, но поскольку для этого понадобятся некие минимальные HTML-шаблоны, то логично сейчас рассмотреть этапы, связанные с изготовлением полноценных шаблонов. И начинается оно созданием макета. Хотя возможно, перед этим дизайнер делает несколько эскизов на бумаге, но это уже зависит от склонностей самого дизайнера. Разработка макета обычно выполняется с помощью растрового графического пакета, например, GIMP или Adobe Photoshop. Очень хорошо, когда макет выполнен с использованием так называемых слоев, это упрощает его порезку.

Следующим этапом является как раз верстка HTML-шаблона, которая и требует порезки готового макета на отдельные изображения, подключаемые HTML-кодом. Тут кроме знаний самого HTML, совершенно необходимо хорошо разбираться в каскадных стилях CSS, поскольку в большинстве случаев HTML задет только структуру страницы, а внешний вид (размеры, цвета, изображения) чаще всего подключаются с помощью стилей. Для украшения страницы могут понадобиться минимальные знания JavaScript, но для полноценного исполнения в стиле Web 2.0, этого уже будет явно не достаточно. Впрочем, это выходит за рамки создания HTML-шаблона, поскольку зачастую требует тесного взаимодействия с движком сайта, поэтому подробнее - ниже.

Здесь мы рассмотрим этап, связанный с разработкой движка сайта. Что это и зачем это нужно? Это собственно и есть основа нашего сайта, его так сказать "сердце", то есть серверная программа, которая занимается тем, что принимает от веб-сервера запросы, которые присылают браузеры пользователей, на основании этих запросов идет выборка данных из БД, обработка их, подготовка к выводу и собственно вывод, опять-таки посредством веб-сервера. Получается классическая программа по учебникам информатики: ввод данных, обработка и вывод. И хотя в обычных программах используются более сложные схемы работы, для веб-приложений эта схема является действительно такой. Сама программа может быть написана программистом с нуля, или с использованием каких-либо библиотек, фреймворков и прочих движков. А что это за движки и фреймворки мы рассмотрим в одной из следующих статей, а сейчас, как я и обещал, еще несколько слов об ajax'е.

Говорят, что ajax составляет основу Web 2.0 и во многом это правда. Скажу сразу, что ajax, это не какая-то программа и не какой-то язык программирования - это технология. Эта технология обычно включает в себя слаженную работу одновременно двух программ серверной и браузерной. Другими словами одна программа исполняется на сервере, например, написанная на PHP, а другая исполняется в браузере пользователя, обычно это JavaScript. Что в итоге получается? Программа на JavaScript как бы сама посылает запросы на веб-сервер, вместо пользователя, и принимает ответы от серверной программы, а потом встраивает полученные данные в уже загруженный HTML-код, без перезагрузки самой страницы. Это позволяет повысить интерактивность сайта. Впрочем, все, что я здесь написал - это прописные истины, а чем даьше, тем о более сложных вещах мы будем говорить. Пора становиться специалистами wink