stringtranslate.com

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

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

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

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

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

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

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

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

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

Веб 2.0

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

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

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

Веб 3.0

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

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

Эту версию иногда также называют семантической паутиной . [12]

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

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

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

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

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

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

Анализ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разработка

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

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

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

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

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

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

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

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

Техническое обслуживание и обновление

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

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

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

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

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

Развитие фундаментальных знаний динамики на стороне клиента и сервера имеет решающее значение. [ необходима цитата ]

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

Разработка интерфейса

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

Технологии

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

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

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

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

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

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

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

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

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

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

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

Разработка бэкэнда

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

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

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

Базы данных

Управление базами данных имеет решающее значение для хранения , извлечения и управления данными в веб-приложениях. Различные системы баз данных, такие как 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: язык программирования Swift , разработанный компанией Apple, используется для разработки серверных приложений, а также для разработки приложений для iOS и macOS.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ссылки

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