WEB программирование.
Давно прошли времена когда web программирование считалось уделом любителей. Современный интернет развивается такими темпами, что организация данных в нем сравнима с организацией данных в крупной нейронной сети. Сложность технологий для разработки интернет-приложений и вышел на столь высокий уровень, что для эффективной и качественной разработки интернет-приложений необходимы узкоспециализированные высококвалифицированные специалисты. Эксперты в области web программирования и web дизайна сейчас востребованы как никогда. Все еще остаются специалисты-универсалы в web программировании, которые неплохо владеют web дизайном, а также SEO и базами данных. Но оснавная область знаний web программиста лежит, как правило, в области программирования и баз данных. Таким образом при полном цикле разработки и продвижения достаточно сложного и масштабного интернет-проекта необходимы знания специалистов трех областей: web программирование и базы данных, web дизайн, поисковая оптимизация (SEO).
Различия технологий.
На сегодняшний момемт сформировались две ветки развития программного обеспечения:
- свободное программное обеспечения (wiki);
- коммерческое программное обеспечение (wiki).
То же касается и web программирования.
Таблица 1. Технологии, используемые для создания и работы интернет приложений.
Категория
|
Свободные
|
Коммерческие
|
Языки программирования
|
PERL, PHP, C/C++, Java
|
ASP, ASP.NET
|
Web-сервер
|
Apache
|
Microsoft IIS
|
Операционные системы
|
UNIX, FreeBSD, Linux, Solaris
|
Microsoft Windows NT, Server 2003, Server 2008
|
СУБД
|
MySQL, PostgreSQL, FirebirdSQL
|
Oracle, Microsoft SQL Server,
|
Системы управления контентом (CMS)
|
Joomla, Drupal, Typo3, E107, WordPress и др.
|
1С Битрикс, NetCat и др.
|
Так какое же программное обеспечение выбрать?
Программное обеспечение
|
Свободное
|
Коммерческое
|
Достоинства
|
Бесплатность! Открытость исходного кода с точки зрения настраиваемости ПО под конкретные нужды. Наличие сообщества разработчиков.
|
Наличие развитой технической поддержки. Закрытость исходного кода с точки зрения безопасности.
|
Недостатки
|
Необходимость держать в штате специалиста по данному ПО. Открытость исходного кода с точки зрения взломостойкости.
|
Стоимость коммерческого ПО. Закрытость исходного кода с точки зрения настройки ПО для конкретной цели.
|
Каждый делает выбор сам. Многое в этом вопросе решает репутации того или иного программного обеспечения с точки зрения надежности. Ведь интернет-сайт должен работать круглосуточно, а в случае возникновения, проблем решить их необходимо за минимальное время. Здесь, на мой взгляд, выигрывает свободное ПО.
Задачи, встающие перед web разработчиком.
Администрирование
Задачей администратора является установка, настройка, обновления и обеспечение надежной работы и защиты программ на сервере. Под программами здесь подразумеваются, скажем, веб-сервер, FTP-сервер, СУБД, PHP, операционная система и так далее. В крупных проектах часто разделяют администрирование сервера и администрирование базы данных, т.к. работа с большими и активно использующимися базами требует весьма обширных и специализированных знаний, зачастую "привязанных" к конкретной СУБД.
Хороший и опытный администратор - это очень большая ценность, поскольку такая работа требует не только обширных теоретических знаний, но также значительного опыта и "неформальных" связей с коллегами. Показателем качественной работы администратора является его незаметность - если все работает "само" и не вызывает проблем, то есть смысл выплатить админу премию, чтобы все и дальше продолжалось в том же духе. Кстати, это относится и, скажем, к администратору вашей офисной сети - поверьте, что если админ будет вынужден доказывать свою необходимость, то на работе офиса это скажется отрицательно...
Программирование
Веб-программист занимается написанием и модификацией скриптов для сервера. Каждый веб-программист должен, разумеется, знать HTML и JavaScript, которые являются "выходом" его работы, а также один или несколько языков программирования, использующихся на сервере. Как правило, необходимым является знание Perl и PHP, хороший веб-программист также знает C/C++ и Java, кроме того, практически необходимым является умение работать с базами данных на уровне SQL и встроенных процедур. Довольно часто, особенно в среднего и малого размера проектах, функции администратора и веб-программиста выполняет один и тот же человек.
При выборе веб-программиста есть два прямо противоположных подхода, причем каждый из них имеет право на существование. Одни компании стараются брать на работу программистов, знающих максимальное количество языков, справедливо полагая, что такой человек сможет подобрать наиболее подходящий язык для каждой задачи. Другие предпочитают узких специалистов, не менее справедливо полагая, что такие люди досконально изучили тонкости языка и смогут быстро решить любую поставленную задачу. Ну, а истина, как обычно, находится где-то посередине...
Оформление
Дизайн сайта является одной из главных составляющих его успеха (хотя, разумеется, содержимое тоже имеет некоторое значение). Разработка дизайна - это одна из наиболее творческих задач, относящихся к сайту, причем тут надо очень аккуратно соблюсти баланс - добиться индивидуальности сайта и в то же время сохранить привычный для посетителя стиль работы с сайтом, чтобы он (посетитель) не ушел к конкурентам.
В работе над дизайном можно выделить три составляющих.
Художник - занимается разработкой общего стиля компании: фирменные цвета, логотип и так далее.
Веб-дизайнер занимается привязкой общего стиля компании к сайту. Он должен нарисовать страницы сайта, скомпоновать разные элементы, подготовить баннеры и кнопки и выполнить все остальные работы, связанные с графикой. По большому счету, веб-дизайнер может практически не иметь представления о HTML, CSS и прочих тонкостях, хотя, разумеется, это уж очень экзотический вариант. Тем не менее, задачей веб-дизайнера является создание именно графических элементов сайта и картинки с изображением страницы
Верстальщик занимается написанием HTML-кода страниц, включая подготовку файлов CSS. Очень часто HTML-верстку выполняет веб-дизайнер, но в крупных компаниях, особенно тех, которые специализируются на дизайне, очень часто в штат входят "чистые" HTML-верстальщики. К обязанностям верстальщика относятся оптимизация графики, вставка скриптов, выполняющихся у клиента, подготовка форм для вызова серверных скриптов, SSI-директив, оптимизация кода для разных браузеров и прочие подобные работы. Кроме того, его задачей является подготовка шаблонов различных элементов страницы, которые должны выводиться серверными скриптами, и передача этих шаблонов веб-программисту.
Наполнение
Чтобы интернет-прект привлекал посетителей, он должен содержать интересные и регулярно обновляющиеся материалы, что является достаточно трудоемкой задачей. Кроме того, для успеха проекта необходимы и другие условия - продуманная реклама, грамотное управление проектом в целом... А для того чтобы всего этого достичь, потребуется еще несколько специалистов.
Авторы готовят материалы для публикации на сайте. Как правило, авторы не имеют никакого отношения ни к дизайну, ни к администрированию, ни к программированию сервера. Их задача - подготовить материал, вставить его в форму и нажать кнопочку.
Редактор проверяет материалы, присланные авторами, и разрешает (или не разрешает) их публикацию на сайте. А также при необходимости их редактирует, корректирует, отправляет на доработку, ругается с авторами и выполняет прочие действия, необходимые для создания интересного раздела. Также в сотрудничестве с редактором могут работать корректоры и главный редактор. Если сайт большой и содержит несколько разделов, то у каждого раздела могут быть свои редакторы, корректоры и авторы.
В некоторых случаях может потребоваться отдельный сотрудник, который будет проверять правильность внесенной в базу данных информации и при необходимости ее исправлять. В первую очередь, это относится к интернет-магазинам, где товаров много, вероятность опечатки или неправильного заполнения полей формы достаточно высока, а вред от таких опечаток может оказаться весьма значительным.
В случае с интерактивными сайтами может потребоваться модератор, который будет, к примеру, следить за соответствием сообщений тематике форумов, удалять спам и так далее.
Менеджер по рекламе занимается продвижением проекта, готовит рекламные кампании, организует акции, общается с другими сайтами на предмет обмена ссылками, готовит (или дает задания авторам) пресс-релизы и рекламные тексты и выполняет остальные работы, связанные с "раскруткой" сайта. Должен обладать значительным опытом работы в Интернете и знать его специфику. Типичной ошибкой многих компаний является взваливание обязанностей по продвижению корпоративного сайта на "офлайнового" менеджера по рекламе или веб-программиста.
Менеджер проекта занимается общей концепцией проекта, определяет направления развития, расставляет приоритеты задачам, дает задания сотрудникам и ведет прочую административную деятельность.
|