Изготовление сайтов и веб-приложений — составной процесс, вовлекающий труд различных специалистов. Этот вид деятельности называется веб-разработка.
Для того чтобы определить понятия веб-программирование и веб-дизайн, понять, нужно ли веб-дизайнеру знать программирование, необходимо рассмотреть аспекты создания сайтов, поскольку именно с этой целью и существуют веб-программисты и веб-дизайнеры.
Для цельного понимания сферы разработки веб-приложений и веб-сайтов необходимо рассмотреть способы построения сайтов в зависимости от их видов и этапы разработки сайтов и веб-приложений.
Способы построения сайта в зависимости от его вида:
Большинство разработчиков используют следующий алгоритм, включающий перечисленные ниже этапы создания сайта:
Разработка дизайна. Веб-дизайнеры разрабатывают макеты шаблонов страниц (главной и типовых страниц). Данный процесс определяет, каким образом пользователь будет получать доступ к информации и услугам сайта. То есть веб-дизайнер занимается непосредственно разработкой пользовательского интерфейса. Чаще всего макеты подготавливаются в основном с использованием графических редакторов.
Вёрстка Web-страниц. Так называемый верстальщик получает от дизайнера готовые макеты шаблонов в виде простых изображений (например, в формате JPEG, PNG), либо разбитых по слоям в формате PSD или AI. Данный специалист должен получить из этих графических макетов гипертекстовые страницы. На данном этапе применяются графические редакторы (Photoshop), различные визуальные конструкторы и специальные программы для веб-дизайна, WYSIWYG-редакторы для веб-дизайна и иногда полноценные платформы для создания сайтов. Верстальщик должен обладать навыками работы с данными программными средствами и знать язык HTML и CSS (как минимум).
Веб-программирование. Веб-программисты получают готовые шаблоны страниц и указания дизайнеров по работе и организации элементов сайта. Программист разрабатывает программную часть сайта либо, делая её с нуля, в таком случае чаще всего используется фреймворк, либо сайт создается при помощи специальной компьютерной программы на сервере — так называемого движка (от англ. engine). Такая программа-движок может быть либо сделана на заказ для отдельного сайта, либо быть готовым продуктом, рассчитанным на некоторый класс сайтов (интернет-магазин, блог, сайт-визитка и т.п.). Примером может служить система управления содержимым сайта (CMS – Content Management System). Размещение сайта в Веб, наполнение контентом и публикация.
Оптимизация Web-сайта с целью повышения его «видимости» в Веб. В первых двух этапах разработки веб-сайта участвует веб-дизайнер (иногда с начальными знаниями веб-программирования). Третий этап разработки – полностью на веб-программисте. Последние два этапа могут выполняться другими специалистами либо веб-программистом при условии наличия соответствующих навыков (администрирования и продвижения).
Таким образом, веб-программирование — значительный и значимый раздел программирования, ориентированный на разработку веб-приложений (программ, обеспечивающих функционирование динамических сайтов).
Языки веб-программирования — это алгоритмические языки, которые в основном предназначены для работы с веб-технологиями. Условно языки веб-программирования делятся на две взаимосвязанные и пересекающиеся группы: клиентские языки веб-программирования и серверные языки веб программирования.