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

Шукалка

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

Пятница, 4 декабря 2009 г.
Рубрика: Бизнес в сети
Метки: |
Просмотров: 3486
Подписаться на комментарии по 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

Оставьте комментарий!

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)