Повторное изучение серверной веб-разработки-005-Понимание режима разработки при разделении интерфейсной и серверной части

задняя часть

Разлука для лучшего воссоединения в будущем. - Аноним

1. Что такое отдельные передняя и задняя части

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

早期web项目结构

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

前后端分离开发

2. Преимущества разделения фронтенда и бэкэнда

2.1 Преимущество 1: четкое разделение труда

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

2.2 Преимущество 2: развязка

Разделение пользовательского интерфейса внешнего интерфейса и данных внутренних служб может разделить интерфейс внутренних служб и обслуживать различные интерфейсные пользовательские интерфейсы, такие как традиционный настольный ПК, мобильный H5, приложение и т. д., что повышает возможность повторного использования и надежность. серверных сервисов, ремонтопригодность, но также способствует переходу к архитектуре распределенных микросервисов.

2.3 Преимущество 3: Повышение эффективности

Интерфейс и серверная часть не разделены в режиме веб-разработки, как показано ниже:

前后端未分离web开发模式

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

前后端分离后web开发模式

Передний и задний персонал может развиваться одновременно без вмешательства друг с другом. Обе стороны следуют унифицированным спецификациям (прототипы продукта и документы интерфейса API), выполняют независимое развитие и проводят совместные тестирования (широко известные как отладку совместных) после завершения разработки.

3. Основные проблемы, возникающие при разделении переднего и заднего концов

3.1 Рост затрат на связь

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

Итак, как решить эту проблему? Проще говоря: единые нормы! То есть единый коммуникационный механизм и интерфейс документооборота. Основные предложения следующие:

  • Документы интерфейса управляются одной стороной во внешнем и внутреннем интерфейсе. Другая сторона должна выполнить соответствующую работу согласно интерфейсному документу.

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

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

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

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

    Рекомендуемое использованиеСистема управления интерфейсом YAPI, который может предоставить более элегантные службы управления интерфейсом для разработчиков, продуктов и тестировщиков. Для получения подробной информации, пожалуйста, обратитесь к его официальному сайту.

3.2 Проблема внутреннего интерфейса внешнего моделирования

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

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

3.3 Тестовое вмешательство

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

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

4. Резюме

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