Веб-программирование

Давно прошли времена когда web программирование считалось уделом любителей. Современный интернет развивается такими темпами, что организация данных в нем сравнима с организацией данных в крупной нейронной сети. Сложность технологий для разработки интернет-приложений и вышел на столь высокий уровень, что для эффективной и качественной разработки интернет-приложений необходимы узкоспециализированные высококвалифицированные специалисты. Эксперты в области web программирования и web дизайна сейчас востребованы как никогда. Все еще остаются специалисты-универсалы в web программировании, которые неплохо владеют web дизайном, а также SEO и базами данных. Но оснавная область знаний web программиста лежит, как правило, в области программирования и баз данных. Таким образом при полном цикле разработки и продвижения достаточно сложного и масштабного интернет-проекта необходимы знания специалистов трех областей: web программирование и базы данных, web дизайн, поисковая оптимизация (SEO).
Различия технологий.
На сегодняшний момемт сформировались две ветки развития программного обеспечения:
- свободное программное обеспечения;
- коммерческое программное обеспечение.
То же касается и web программирования.
Каждый делает выбор сам. Многое в этом вопросе решает репутации того или иного программного обеспечения с точки зрения надежности. Ведь интернет-сайт должен работать круглосуточно, а в случае возникновения, проблем решить их необходимо за минимальное время. Здесь, на мой взгляд, выигрывает свободное ПО.
Задачи, встающие перед web разработчиком.
Администрирование
Задачей администратора является установка, настройка, обновления и обеспечение надежной работы и защиты программ на сервере. Под программами здесь подразумеваются, скажем, веб-сервер, FTP-сервер, СУБД, PHP, операционная система и так далее. В крупных проектах часто разделяют администрирование сервера и администрирование базы данных, т.к. работа с большими и активно использующимися базами требует весьма обширных и специализированных знаний, зачастую "привязанных" к конкретной СУБД.
Хороший и опытный администратор - это очень большая ценность, поскольку такая работа требует не только обширных теоретических знаний, но также значительного опыта и "неформальных" связей с коллегами. Показателем качественной работы администратора является его незаметность - если все работает "само" и не вызывает проблем, то есть смысл выплатить админу премию, чтобы все и дальше продолжалось в том же духе. Кстати, это относится и, скажем, к администратору вашей офисной сети - поверьте, что если админ будет вынужден доказывать свою необходимость, то на работе офиса это скажется отрицательно...
Программирование
Веб-программист занимается написанием и модификацией скриптов для сервера. Каждый веб-программист должен, разумеется, знать HTML и JavaScript, которые являются "выходом" его работы, а также один или несколько языков программирования, использующихся на сервере. Как правило, необходимым является знание Perl и PHP, хороший веб-программист также знает C/C++ и Java, кроме того, практически необходимым является умение работать с базами данных на уровне SQL и встроенных процедур. Довольно часто, особенно в среднего и малого размера проектах, функции администратора и веб-программиста выполняет один и тот же человек.
При выборе веб-программиста есть два прямо противоположных подхода, причем каждый из них имеет право на существование. Одни компании стараются брать на работу программистов, знающих максимальное количество языков, справедливо полагая, что такой человек сможет подобрать наиболее подходящий язык для каждой задачи. Другие предпочитают узких специалистов, не менее справедливо полагая, что такие люди досконально изучили тонкости языка и смогут быстро решить любую поставленную задачу. Ну, а истина, как обычно, находится где-то посередине...
Оформление
Дизайн сайта является одной из главных составляющих его успеха (хотя, разумеется, содержимое тоже имеет некоторое значение). Разработка дизайна - это одна из наиболее творческих задач, относящихся к сайту, причем тут надо очень аккуратно соблюсти баланс - добиться индивидуальности сайта и в то же время сохранить привычный для посетителя стиль работы с сайтом, чтобы он (посетитель) не ушел к конкурентам.
В работе над дизайном можно выделить три составляющих.
Художник - занимается разработкой общего стиля компании: фирменные цвета, логотип и так далее.
Веб-дизайнер занимается привязкой общего стиля компании к сайту. Он должен нарисовать страницы сайта, скомпоновать разные элементы, подготовить баннеры и кнопки и выполнить все остальные работы, связанные с графикой. По большому счету, веб-дизайнер может практически не иметь представления о HTML, CSS и прочих тонкостях, хотя, разумеется, это уж очень экзотический вариант. Тем не менее, задачей веб-дизайнера является создание именно графических элементов сайта и картинки с изображением страницы
Верстальщик занимается написанием HTML-кода страниц, включая подготовку файлов CSS. Очень часто HTML-верстку выполняет веб-дизайнер, но в крупных компаниях, особенно тех, которые специализируются на дизайне, очень часто в штат входят "чистые" HTML-верстальщики. К обязанностям верстальщика относятся оптимизация графики, вставка скриптов, выполняющихся у клиента, подготовка форм для вызова серверных скриптов, SSI-директив, оптимизация кода для разных браузеров и прочие подобные работы. Кроме того, его задачей является подготовка шаблонов различных элементов страницы, которые должны выводиться серверными скриптами, и передача этих шаблонов веб-программисту.
Наполнение
Чтобы интернет-прект привлекал посетителей, он должен содержать интересные и регулярно обновляющиеся материалы, что является достаточно трудоемкой задачей. Кроме того, для успеха проекта необходимы и другие условия - продуманная реклама, грамотное управление проектом в целом... А для того чтобы всего этого достичь, потребуется еще несколько специалистов.
Авторы готовят материалы для публикации на сайте. Как правило, авторы не имеют никакого отношения ни к дизайну, ни к администрированию, ни к программированию сервера. Их задача - подготовить материал, вставить его в форму и нажать кнопочку.
Редактор проверяет материалы, присланные авторами, и разрешает (или не разрешает) их публикацию на сайте. А также при необходимости их редактирует, корректирует, отправляет на доработку, ругается с авторами и выполняет прочие действия, необходимые для создания интересного раздела. Также в сотрудничестве с редактором могут работать корректоры и главный редактор. Если сайт большой и содержит несколько разделов, то у каждого раздела могут быть свои редакторы, корректоры и авторы.
В некоторых случаях может потребоваться отдельный сотрудник, который будет проверять правильность внесенной в базу данных информации и при необходимости ее исправлять. В первую очередь, это относится к интернет-магазинам, где товаров много, вероятность опечатки или неправильного заполнения полей формы достаточно высока, а вред от таких опечаток может оказаться весьма значительным.
В случае с интерактивными сайтами может потребоваться модератор, который будет, к примеру, следить за соответствием сообщений тематике форумов, удалять спам и так далее.
Менеджер по рекламе занимается продвижением проекта, готовит рекламные кампании, организует акции, общается с другими сайтами на предмет обмена ссылками, готовит (или дает задания авторам) пресс-релизы и рекламные тексты и выполняет остальные работы, связанные с "раскруткой" сайта. Должен обладать значительным опытом работы в Интернете и знать его специфику. Типичной ошибкой многих компаний является взваливание обязанностей по продвижению корпоративного сайта на "офлайнового" менеджера по рекламе или веб-программиста.
Менеджер проекта занимается общей концепцией проекта, определяет направления развития, расставляет приоритеты задачам, дает задания сотрудникам и ведет прочую административную деятельность.
Популярные языки веб-программирования.
Если вас увлекла стихия интернета, и вы горите желанием освоить науку сайтостроительства, то эта статья как раз для вас. Здесь мы рассмотрим наиболее популярные языки веб-программирования, которые используются для создания сайтов сегодня. Современному веб-программисту не нужно знать их все. Кроме того, это даже, пожалуй, некоторый минус, когда человек пытается охватить сразу все и в результате имеет очень широкую эрудицию, но без глубокого погружения в предмет.
Итак, рассмотрим, какие же языки веб-программирования и технологии существуют сегодня.
Можно выделить две основные группы:
— клиентские языки программирования
— серверные языки программирования
Любой сайт имеет две стороны: серверную и клиентскую. Серверная часть расположена непосредственно на сервере. Это файлы, которые включают в себя код, создающий (или генерирующий) веб-страницы. То, что мы видим в своем браузере – это клиентская часть, и те языки, которые могут выполняться только на стороне браузера, называются клиентскими.
К серверным языкам веб-программирования можно отнести:
PHP – это, пожалуй, один из самых популярных языков на сегодня. Благодаря этой популярности можно легко отыскать специалиста по PHP для создания и поддержки сайта. Этот язык прост и легок в освоении. Расшифровывается как «Hypertext Preprocessor». Файлы, содержащие код php, имеют расширение .php.
PHP позволяет создавать динамические веб-страницы с разнообразным функционалом. На сегодняшний день накоплено уже большое количество готовых решений в виде скриптов, которые можно быстро подключить к вашему сайту.
Практически все известным движки для сайтов построены на основе PHP.
Существуют и php-фреймворки, которые облегчают и упрощают процесс создания сайтов. Среди них можно выделить: Yii, CodeIgneiter, ZendFramework, CakePHP и многие другие.
Perl – еще один популярный язык веб-программирования, который, правда, реже используется при создании веб-приложений. Данный язык был создан Ларри Уоллом в 1987 году, а само название расшифровывается как Practical Extraction and Report Language , что означает «практический язык для извлечения данных и составления отчётов».
Интересно отметить, что неким «талисманом» языка Perl является верблюд, символизирующий способность выполнять тяжелую работу.
Главным достоинством языка Perl является скорость и богатые возможности по работе с текстами. Широко применяемые сегодня в других языках веб-программирования регулярные выражения изначально встроены в Perl.
ASP.NET – технология компании Microsoft, предназначенная для создания веб-страниц. Технология ASP.NET неотделима от платформы Microsoft .NET. По сути, ASP.NET – это именно технология, а не язык, которая позволяет разработчикам писать код на любых языках программирования, которые входят в пакет .NET. К ним относятся: C#, Visual Basic.NET и JScript .NET
Разработка и поддержка веб-сайтов на основе ASP.NET обычно дорогостояща, поэтому используется не так часто.
К клиентским языкам веб-программирования можно отнести:
JavaScript – язык, исполняемый на стороне браузера (клиента). Код данного языка содержится непосредственно в html-коде страниц, либо во внешних подключаемых файлах с расширением .js.
На основе JavaScript появились и активно развиваются js-фреймворки, которые обеспечивают кросс-браузерность методов и функций, а также ускоряют и упрощают сам процесс разработки. Один из популярных js-фреймворков – jQuery.
Также стоит упомянуть технологии, которые используются для создания веб-страниц на клиентской стороне: html и css.
HTML –это «язык разметки гипертекста». По сути, основные теги html и определяют то, что мы видим обычно в браузере.
CSS – «каскадные таблицы стилей», которые используются для форматирования отображения в браузере и оформления содержимого.
Без использования HTML и CSS сегодня не обходится создание практически любого сайта.