stringtranslate.com

Веб-разработка

Веб-разработка — это работа по разработке веб-сайта для Интернета ( World Wide Web ) или интрасети (частной сети). [1] Веб-разработка может варьироваться от разработки простой статической страницы с обычным текстом до сложных веб-приложений , электронного бизнеса и социальных сетей . Более полный список задач, к которым обычно относится веб-разработка, может включать веб-инжиниринг , веб-дизайн , разработку веб-контента , связь с клиентом, написание сценариев на стороне клиента / сервера , настройку безопасности веб-сервера и сети , а также разработку электронной коммерции .

Среди веб-профессионалов термин «веб-разработка» обычно относится к основным аспектам создания веб-сайтов, не связанным с дизайном: написание разметки и кодирование . [2] Веб-разработка может использовать системы управления контентом (CMS), чтобы сделать изменение контента более простым и доступным при наличии базовых технических навыков.

В более крупных организациях и предприятиях команды веб-разработчиков могут состоять из сотен людей ( веб-разработчиков ) и следовать стандартным методам, таким как методологии Agile , при разработке веб-сайтов. [1] Небольшим организациям может потребоваться только один постоянный разработчик или разработчик по контракту или вторичное назначение на соответствующие должности, такие как графический дизайнер или техник по информационным системам . Веб-разработка может быть совместной работой отделов, а не сферой деятельности определенного отдела. Существует три вида специализации веб-разработчика: фронтенд-разработчик , серверный разработчик и полнофункциональный разработчик. [3] Разработчики внешнего интерфейса отвечают за поведение и визуальные эффекты, которые запускаются в браузере пользователя, а разработчики внутреннего интерфейса занимаются серверами. [4] С момента коммерциализации Интернета эта индустрия пережила бум и стала одной из наиболее используемых технологий за всю историю.

Эволюция Всемирной паутины и веб-разработка

Происхождение/Веб 1.0

Тим Бернерс-Ли создал Всемирную паутину в 1989 году в ЦЕРНе. [5]

Основной целью развития Интернета было удовлетворение потребностей ученых в автоматизированном обмене информацией, связанных с учреждениями и различными глобальными организациями. Следовательно, HTML был разработан в 1993 году. [6]

Web 1.0 описывается как первая парадигма, в которой пользователи могли только просматривать материалы и предоставлять небольшой объем информации. [7] Основными протоколами Web 1.0 были HTTP , HTML и URI . [8]

Веб 2.0

Web 2.0 , термин, популяризированный Дейлом Догерти, тогдашним вице-президентом O'Reilly, во время конференции 2004 года с Media Live, знаменует собой сдвиг в использовании Интернета, подчеркивающий интерактивность. [9] [10]

Web 2.0 обеспечил более широкое взаимодействие и общение пользователей. Он развился из статического, доступного только для чтения характера Web 1.0 и стал интегрированной сетью для взаимодействия и общения. Ее часто называют ориентированной на пользователя онлайн-сетью чтения и записи. [7]

В среде Web 2.0 пользователи теперь имеют доступ к платформе, которая поощряет такие действия, как создание музыки, файлов, изображений и фильмов. [11] Архитектуру Web 2.0 часто называют «магистралью Интернета», поскольку она использует стандартизированные теги XML (расширяемый язык разметки) для авторизации потока информации от независимых платформ и онлайн-баз данных . [7]

Веб 3.0

Web 3.0, считающийся третьей и текущей версией Интернета, был представлен в 2014 году. Эта концепция предполагает полную переработку Интернета. Ключевые функции включают интеграцию метаданных , точную доставку информации и улучшение пользовательского опыта на основе предпочтений, истории и интересов. [ нужна цитата ]

Цель Web 3.0 — превратить Интернет в обширную, организованную базу данных, предоставляющую больше функций, чем традиционные поисковые системы. Пользователи могут настраивать навигацию в соответствии со своими предпочтениями, а основные идеи включают идентификацию источников данных, их подключение для повышения эффективности и создание профилей пользователей. [7]

Эту версию иногда также называют Semantic Web . [12]


Эволюция технологий веб-разработки

Путь технологий веб-разработки начался с простых HTML- страниц на заре Интернета. Со временем прогресс привел к использованию CSS для стилизации и JavaScript для интерактивности. Эта эволюция превратила статические веб-сайты в динамичные и адаптивные платформы, подготовив основу для сложных и многофункциональных веб-приложений, которые мы имеем сегодня.

Веб-разработка в будущем будет определяться достижениями в области браузерных технологий, инфраструктуры Интернета, стандартов протоколов, методов разработки программного обеспечения и тенденций применения. [8]

Жизненный цикл веб-разработки

Жизненный цикл веб-разработки — это метод, который описывает этапы создания веб-сайтов и веб-приложений. Он обеспечивает структурированный подход, обеспечивающий оптимальные результаты на протяжении всего процесса разработки. [ нужна цитата ]

Типичный процесс веб-разработки можно разделить на 7 этапов:

Анализ

Дебра Хоукрафт и Джон Кэрролл предложили методологию, согласно которой процесс веб-разработки можно разделить на последовательные этапы. Они упомянули различные аспекты анализа. [17]

Первый этап включает в себя разработку веб-стратегии и анализ того, как веб-сайт может эффективно достичь своих целей. Исследование Кейла и др. [18] определяет основные причины неудач программных проектов как отсутствие заинтересованности высшего руководства и неправильное понимание системных требований. Чтобы смягчить эти риски, на первом этапе устанавливаются стратегические цели и задачи и разрабатывается система для их достижения. Решение об открытии присутствия в сети в идеале должно соответствовать корпоративной информационной стратегии организации.

Фазу анализа можно разделить на 3 этапа:

На этом этапе ранее намеченные цели и доступные ресурсы подвергаются анализу для определения их осуществимости. Этот анализ разделен на шесть задач, а именно:

После этого анализа документируется более уточненный набор целей. Цели, которые не могут быть достигнуты в настоящее время, записываются в Список желаний, являющийся частью Документа о целях. Эта документация становится неотъемлемой частью итерационного процесса в течение последующего цикла методологии. [17]

Планирование: карта сайта и каркас

Для веб-разработчиков крайне важно участвовать в разработке плана, определении оптимальной архитектуры и выборе фреймворков . [ нужна цитата ] Кроме того, разработчики/консультанты играют роль в определении общей стоимости владения, связанной с поддержкой веб-сайта, которая может превышать первоначальные затраты на разработку.

Ключевые аспекты на этом этапе:

Дизайн и верстка

После этапа анализа процесс разработки переходит к этапу проектирования , который руководствуется документом о целях. Признавая постепенный рост веб-сайтов и потенциальное отсутствие хорошей архитектуры дизайна, методология включает итерации для учета изменений и дополнений в течение срока службы сайта. Этап проектирования, который делится на информационный дизайн и графический дизайн , приводит к созданию подробного проектного документа, в котором подробно описывается структура веб-сайта, структуры данных базы данных и сценарии CGI .*

Следующий шаг — тестирование проекта — направлен на раннее и недорогое тестирование для выявления несоответствий или недостатков проекта. Это влечет за собой сравнение дизайна веб-сайта с целями и задачами, изложенными в первых трех шагах. Первый и второй этапы включают в себя итеративный цикл, в котором цели, указанные в документе о целях, пересматриваются, чтобы обеспечить их соответствие проекту. Любые цели, которые были удалены, добавляются в список желаний для дальнейшего рассмотрения. [17]

Ключевые аспекты на этом этапе:

Создание контента

Независимо от того, насколько визуально привлекателен веб-сайт, решающее значение имеет хорошее общение с клиентами. Основная цель создания контента — создать канал связи через пользовательский интерфейс , предоставляя соответствующую информацию о вашей фирме в увлекательной и понятной форме. Это включает в себя: [ нужна ссылка ]

Этап производства контента имеет решающее значение для создания брендинга и маркетинга вашего веб-сайта или веб-приложения. Он служит платформой для определения цели и задач вашего присутствия в Интернете посредством привлекательного и убедительного контента.

Разработка

На этом критическом этапе веб-сайт создается с учетом его основной цели, уделяя пристальное внимание всем графическим компонентам, чтобы обеспечить создание полностью работающего сайта.

Процедура начинается с разработки главной страницы, после чего следует изготовление внутренних страниц. В частности, дорабатывается навигационная структура сайта.

На этом этапе разработки активируются ключевые функции, такие как система управления контентом , интерактивные контактные формы и корзины покупок.

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

Тестирование, обзор и запуск

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

Проводится дополнительное тестирование, включая интеграционное, стрессовое, масштабируемость , нагрузку, разрешение и кроссбраузерность . После получения одобрения веб-сайт передается на сервер через FTP , завершая процесс разработки.

Ключевые аспекты на этом этапе:

Обслуживание и обновление

Процесс веб-разработки выходит за рамки развертывания и включает в себя множество задач, выполняемых после развертывания.

Веб-сайты, например, часто находятся на постоянном обслуживании, и новые элементы загружаются ежедневно. Затраты на обслуживание значительно возрастают по мере увеличения размера сайта. Точность контента на веб-сайте имеет решающее значение и требует постоянного мониторинга для проверки обновления как информации, так и ссылок, особенно внешних. Корректировки вносятся в ответ на отзывы пользователей, а также проводятся регулярные мероприятия по поддержке и обслуживанию для поддержания долгосрочной эффективности веб-сайта. [17]

Традиционные методологии разработки

Дебра Хоукрафт и Джон Кэрролл обсудили несколько традиционных методологий веб-разработки в своей исследовательской работе: [17]

Ключевые технологии в веб-разработке

Крайне важно развивать фундаментальные знания о динамике на стороне клиента и сервера . [ нужна цитата ]

Целью фронтенд-разработки является создание пользовательского интерфейса веб-сайта и визуальных компонентов, с которыми пользователи могут напрямую взаимодействовать. С другой стороны, внутренняя разработка работает с базами данных, серверной логикой и функциональностью приложений. Создание надежных и удобных онлайн-приложений требует комплексного подхода, который обеспечивается сотрудничеством интерфейсных и серверных инженеров.

Фронтенд-разработка

Фронтенд-разработка — это процесс проектирования и реализации пользовательского интерфейса (UI) и пользовательского опыта (UX) веб-приложения . Он предполагает создание визуально привлекательных и интерактивных элементов, с которыми пользователи взаимодействуют напрямую. Основные технологии и концепции, связанные с фронтенд-разработкой, включают:

Технологии

Три основные технологии фронтенд-разработки:

Дизайн пользовательского интерфейса

Дизайн пользовательского опыта фокусируется на создании интерфейсов, которые интуитивно понятны, доступны и приятны для пользователей. Это включает в себя понимание поведения пользователей, проведение исследований удобства использования и реализацию принципов дизайна для повышения общей удовлетворенности пользователей, взаимодействующих с веб-сайтом или приложением. Это включает в себя создание каркасов , прототипирование и реализацию принципов проектирования для улучшения взаимодействия с пользователем. Некоторые из популярных инструментов, используемых для создания каркаса пользовательского интерфейса:

Еще одним ключевым аспектом, который следует учитывать при проектировании, является доступность Интернета . Доступность Интернета гарантирует, что цифровой контент доступен и пригоден для использования людьми с любыми способностями. Это предполагает соблюдение таких стандартов, как Рекомендации по обеспечению доступности веб-контента (WCAG), реализацию таких функций, как альтернативный текст для изображений, а также разработку дизайна с учетом разнообразных потребностей пользователей, в том числе людей с ограниченными возможностями.

Адаптивный дизайн

Важно гарантировать, что веб-приложения доступны и визуально привлекательны на различных устройствах и размерах экрана. Адаптивный дизайн использует медиа-запросы CSS и гибкие макеты для адаптации к различным средам просмотра.

Фронтенд-фреймворки

Фреймворк — это высокоуровневое решение для повторного использования частей программного обеспечения, шаг вперед в простом повторном использовании на основе библиотек, которое позволяет совместно использовать общие функции и общую логику предметного приложения . [19]

Фреймворки и библиотеки — важные инструменты, ускоряющие процесс разработки. Эти инструменты повышают производительность разработчиков и способствуют удобству сопровождения крупномасштабных приложений. Некоторые популярные интерфейсные фреймворки:

Государственное управление

Управление состоянием веб-приложения для обеспечения согласованности данных и оперативности реагирования. Библиотеки управления состоянием, такие как Redux (для React ) или Vuex (для Vue.js ), играют решающую роль в сложных приложениях.

Бэкенд-разработка

Бэкэнд-разработка включает в себя создание серверной логики и компонентов базы данных веб-приложения . Он отвечает за обработку запросов пользователей, управление данными и обеспечение общей функциональности приложения. Ключевые аспекты серверной разработки включают в себя:

Сервер/облачный экземпляр

Важным компонентом архитектуры веб-приложения является экземпляр сервера или облака . Облачный экземпляр — это экземпляр виртуального сервера, доступ к которому можно получить через Интернет , который создается, доставляется и размещается в общедоступном или частном облаке. Он функционирует как физический сервер, который можно легко перемещать между различными устройствами или устанавливать несколько экземпляров на одном сервере. Поэтому он очень динамичен, масштабируем и экономичен.

Базы данных

Управление базами данных имеет решающее значение для хранения , извлечения и управления данными в веб-приложениях. Различные системы баз данных, такие как MySQL , PostgreSQL и MongoDB , играют разные роли в организации и структурировании данных. Эффективное управление базами данных обеспечивает оперативность и эффективность веб-приложений, управляемых данными. Существует 3 типа баз данных:

Выбор базы данных зависит от различных факторов, таких как характер данных, требования к масштабируемости, соображения производительности и конкретный вариант использования разрабатываемого приложения. У каждого типа базы данных есть свои сильные и слабые стороны, и выбор подходящей требует учета конкретных потребностей проекта.

Интерфейс прикладного программирования (API)

Интерфейсы прикладного программирования — это наборы правил и протоколов, которые позволяют различным программным приложениям взаимодействовать друг с другом. API определяют методы и форматы данных, которые приложения могут использовать для запроса и обмена информацией.

Типы API

Серверные языки

Языки программирования , предназначенные для выполнения на сервере, в отличие от выполнения в браузере клиента, известны как языки на стороне сервера . Эти языки программирования используются в веб-разработке для выполнения операций, включая обработку данных , взаимодействие с базой данных и создание динамического контента , который доставляется в браузер клиента. Ключевым элементом серверного программирования являются серверные сценарии , которые позволяют серверу реагировать на запросы клиентов в режиме реального времени.

Некоторые популярные серверные языки:

  1. PHP: PHP — это широко используемый серверный язык сценариев с открытым исходным кодом . Он встроен в HTML-код и особенно хорошо подходит для веб-разработки.
  2. Python: Python — это универсальный язык программирования высокого уровня, используемый для различных целей, включая веб-разработку на стороне сервера. Такие фреймворки, как Django и Flask, упрощают создание веб-приложений на Python.
  3. Ruby: Ruby — это объектно-ориентированный язык программирования, который обычно используется для веб-разработки. Ruby on Rails — популярный веб-фреймворк, упрощающий процесс создания веб-приложений.
  4. Java: Java — это объектно-ориентированный язык программирования общего назначения. Платформы на основе Java, такие как Spring , обычно используются для создания веб-приложений корпоративного уровня.
  5. Node.js (JavaScript). Хотя JavaScript традиционно является языком на стороне клиента, Node.js позволяет разработчикам запускать JavaScript на стороне сервера. Он известен своей управляемой событиями неблокируемой моделью ввода-вывода , что делает его подходящим для создания масштабируемых и высокопроизводительных приложений.
  6. C# (C Sharp): C# — это язык программирования, разработанный Microsoft и обычно используемый в сочетании с платформой .NET для создания веб-приложений в стеке Microsoft.
  7. ASP.NET: ASP.NET — это веб-платформа, разработанная Microsoft и поддерживающая такие языки, как C# и VB.NET . Это упрощает процесс создания динамических веб-приложений.
  8. Go (Golang): Go — статически типизированный язык, разработанный Google. Он известен своей простотой и эффективностью и все чаще используется для создания масштабируемых и высокопроизводительных веб-приложений.
  9. Perl: Perl — это универсальный язык сценариев, часто используемый для веб-разработки. Он известен своими мощными возможностями обработки текста .
  10. Swift: Разработанный Apple, Swift используется для разработки на стороне сервера в дополнение к разработке приложений для iOS и macOS.

Меры безопасности

Реализация мер безопасности для защиты от распространенных уязвимостей, включая SQL-инъекцию , межсайтовый скриптинг (XSS) и подделку межсайтовых запросов (CSRF). Механизмы аутентификации и авторизации имеют решающее значение для защиты данных и доступа пользователей.

Тестирование, отладка и развертывание

Тщательные процессы тестирования и отладки необходимы для выявления и решения проблем в веб-приложении. Тестирование может включать модульное тестирование , интеграционное тестирование и пользовательское приемочное тестирование . Отладка предполагает выявление и исправление ошибок в коде, обеспечивая надежность и стабильность приложения.

Полноценная разработка

Полная разработка — это практика проектирования, создания и поддержки всего программного стека веб-приложения. Сюда входят как внешние (клиентские), так и внутренние (серверные) компоненты, а также база данных и любая другая необходимая инфраструктура. Full-stack разработчик — это человек, обладающий опытом работы как с интерфейсными, так и с серверными технологиями, что позволяет ему управлять всеми аспектами разработки веб-приложений.

Инструменты и среды веб-разработки

Эффективная веб-разработка опирается на набор инструментов и сред, которые оптимизируют процессы кодирования и совместной работы:

  1. Интегрированные среды разработки (IDE). Такие инструменты, как Visual Studio Code , Atom и Sublime Text, предоставляют такие функции, как подсветка кода , автодополнение и интеграция контроля версий , улучшая процесс разработки.
  2. Контроль версий : Git — это широко используемая система контроля версий, которая позволяет разработчикам отслеживать изменения, беспрепятственно сотрудничать и при необходимости возвращаться к предыдущим версиям.
  3. Инструменты для совместной работы . Коммуникационные платформы, такие как Slack , инструменты управления проектами , такие как Jira , и платформы для совместной работы, такие как GitHub , облегчают эффективную командную работу и управление проектами.

Практики безопасности в веб-разработке

Безопасность имеет первостепенное значение в веб-разработке для защиты от киберугроз и обеспечения конфиденциальности и целостности пользовательских данных. Лучшие практики включают шифрование, методы безопасного кодирования, регулярные проверки безопасности и получение информации о последних уязвимостях и исправлениях безопасности .

Гибкая методология в веб-разработке

Agile-манифест и принципы

Agile — это набор принципов и ценностей разработки программного обеспечения, в которых приоритет отдается гибкости, сотрудничеству и удовлетворенности клиентов. Четыре ключевые ценности:

Гибкие концепции в веб-разработке

  1. Итеративная и поэтапная разработка: создание и доработка веб-приложения с помощью небольших повторяемых циклов, постепенное улучшение функций с каждой итерацией.
  2. Scrum и Kanban: использование гибких инфраструктур, таких как Scrum для структурированных спринтов или Kanban для непрерывного потока, для управления задачами и повышения эффективности команды.
  3. Межфункциональные команды: Формирование совместных команд с разнообразным набором навыков, обеспечивающее наличие всех необходимых знаний для комплексной веб-разработки.
  4. Сотрудничество с клиентами: привлечение клиентов на протяжении всего процесса разработки для сбора отзывов, проверки требований и обеспечения соответствия поставляемого продукта ожиданиям.
  5. Адаптивность к изменениям: принятие изменений в требованиях или приоритетах даже на поздних стадиях процесса разработки для повышения способности реагирования продукта на меняющиеся потребности.
  6. Пользовательские истории и невыполненные задачи: сбор функциональных требований с помощью пользовательских историй и поддержание списка невыполненных приоритетных задач для направления усилий по разработке.
  7. Непрерывная интеграция и непрерывная доставка (CI/CD). Внедрение автоматизированных процессов для непрерывной интеграции изменений кода и доставки обновленных версий, обеспечивая оптимизированный и эффективный конвейер разработки.

Смотрите также

Рекомендации

  1. ^ ab «Что такое веб-разработка? - Определение из Techopedia». Techopedia.com . Проверено 7 декабря 2018 г.
  2. ^ Кэмпбелл, Дженнифер (2017). Веб-дизайн: вводный . Cengage Обучение. п. 27.
  3. ^ Нортвуд, Крис (19 ноября 2018 г.). Разработчик полного стека: ваше основное руководство по повседневным навыкам, ожидаемым от современного веб-разработчика полного стека. Апресс. ISBN 978-1-4842-4152-3.
  4. ^ «Откройте для себя разницу между интерфейсным и внутренним разработчиком - советник Forbes» . Forbes.com . 30 мая 2023 г.
  5. ^ «Краткая история Интернета». ЦЕРН . 04.12.2023 . Проверено 10 декабря 2023 г.
  6. ^ «WebD2: Краткая история HTML». www.washington.edu . Проверено 10 декабря 2023 г.
  7. ^ abcd Сони, Анудж; Гупта, Сачин; Талванди, Навджот Сингх (сентябрь 2023 г.). «Эволюция веб-технологий в последние годы» (PDF) . Журнал новых технологий и инновационных исследований . 10 (9). ISSN  2349-5162.
  8. ^ Аб Джазайери, Мехди (2007). «Некоторые тенденции в разработке веб-приложений». Будущее программной инженерии (FOSE '07). стр. 199–213. дои : 10.1109/fose.2007.26. ISBN 978-0-7695-2829-8. S2CID  7279594 . Проверено 30 ноября 2023 г.
  9. ^ «Веб 2.0». www.paulgraham.com . Проверено 10 декабря 2023 г.
  10. ^ «Как работает Web 2.0» . Как это работает . 28 декабря 2007 г. Проверено 10 декабря 2023 г.
  11. ^ Холл, Хизер (1 мая 2022 г.). «Объяснение Web 2.0: все, что вам нужно знать». История-Компьютер . Проверено 10 декабря 2023 г.
  12. ^ Ду, Сяофэн; Сонг, Уильям; Манро, Малкольм (2009), Барри, Крис; Ланг, Майкл; Войтковский, Вита; Конбой, Киран (ред.), «Структура описания семантических услуг для адреса», Information Systems Development , Бостон, Массачусетс: Springer US, стр. 1033–1045, doi : 10.1007/978-0-387-78578-3_35, ISBN 978-0-387-78577-6, получено 30 ноября 2023 г.
  13. ^ «20 лет CSS». W3C . 17 декабря 2016 г. Проверено 10 декабря 2023 г.
  14. ^ «История JavaScript». www.w3schools.com . Проверено 10 декабря 2023 г.
  15. ^ «Краткая история PHP». ifj.edu.pl. _ Проверено 10 декабря 2023 г.
  16. ^ . 23 июня 2007 г. https://web.archive.org/web/20070623125327/http://www.alexhopmann.com/xmlhttp.htm. Архивировано из оригинала 23 июня 2007 г. Проверено 10 декабря 2023 г. {{cite web}}: Отсутствует или пусто |title=( помощь )
  17. ^ abcdefg Хоукрофт, Дебра; Кэрролл, Джон (2000). «Предлагаемая методология веб-разработки». Слушания Ecis 2000 .
  18. ^ Кейл, Марк; Кул, Пол Э.; Лютинен, Калле; Шмидт, Рой К. (ноябрь 1998 г.). «Среда для выявления рисков программного проекта». Коммуникации АКМ . 41 (11): 76–83. дои : 10.1145/287831.287843 . ISSN  0001-0782.
  19. ^ Салас-Сарате, Мария дель Пилар; Алор-Эрнандес, Гинер; Валенсия-Гарсия, Рафаэль; Родригес-Масауа, Лисбет; Родригес-Гонсалес, Алехандро; Лопес Куадрадо, Хосе Луис (май 2015 г.). «Анализ лучших практик в области веб-разработки: подход лифта». Наука компьютерного программирования . 102 : 1–19. дои : 10.1016/j.scico.2014.12.004 .