Различие между frontend, бэкендом и промежуточным программным обеспечением в веб-разработке

Вы дали это:

window.addEventListener ("load", clickConfirmButton, false);

Наверняка он бросит ReferenceError. clickConfirmButton совсем не определено. И код ниже ничего не делает, так как у него нет имени или вызова.

function () {
  var button = document.querySelector("button[text^='Click me to submit']");
  if (button) {
    button.click ();
  }
  else {
    //Do nothing
  }
}

Итак, добавьте имя к функции выше:

function clickConfirmButton() {
  var button = document.querySelector("button[text^='Click me to submit']");
  if (button) {
    button.click ();
  }
  else {
    //Do nothing
  }
}

Кроме того, вы не можете выбирать в CSS на основе их текстового содержимого. Вы должны изменить селектор на что-то общее: .btn-block. Исходя из всего вышеперечисленного, я бы изменил его на:

function clickConfirmButton() {
  // querySelector selects only one.
  var button = document.querySelector("button.btn-block");
  if (button) {
    button.click ();
  }
  else {
    //Do nothing
  }
}

Или, если вы действительно хотите утверждать, основываясь на его содержании, я сделаю:

function clickConfirmButton() {
  var button = document.querySelector("button.btn-block");
  if (button && button.innerHTML.indexOf("Click me to submit") > -1) {
    button.click ();
  }
  else {
    //Do nothing
  }
}
74
задан Braiam 12 April 2015 в 16:06
поделиться

4 ответа

Вот одна разбивка:

уровень Фронтенда-> уровень User Interface, обычно состоящий из соединения HTML, JavaScript, CSS, Flash и различного серверного кода как ASP.NET, классический ASP, PHP, и т.д. Думает об этом как являющемся самым близким к пользователю с точки зрения кода.

Промежуточное программное обеспечение, средний уровень-> Один уровень назад, обычно называемый частью "инфраструктуры" системы. Java и C# являются общими языками для записи этой части, которая могла быть просмотрена как связующее звено между UI и данными и может быть веб-сервисами или компонентами WCF или другими компонентами SOA возможно.

уровень Бэкенда-> Базы данных и другие хранилища данных обычно на этом уровне. Oracle, SQL MS, MySQL, SAP и различные стандартные части программного обеспечения приходят на ум для этой части программного обеспечения, которое является заключительной обработкой данных.

Перекрытие может существовать между любым из них, поскольку Вам можно было вылить все на один слой как веб-сайт ASP.NET, который использует встроенную функциональность Ajax, которая генерирует JavaScript, в то время как код позади может содержать команды базы данных, делающие код позади, содержат и середину и уровни бэкенда. С другой стороны, можно было использовать VBScript для действия как все слои с помощью объектов ADO и объединяя все три уровня в один.

Точно так же берущее промежуточное программное обеспечение и или передняя сторона или бэкенд могут быть объединены в некоторых случаях.

Узкие места обычно имеют несколько разных уровней им:

1) База данных или обработка бэкенда-> Это может варьироваться от платежной ведомости или продаж или других задач, где пропускная способность к базе данных срывает вещи.

2) узкие места Промежуточного программного обеспечения-> Это было бы то, где некоторый веб-сервис может поражать способность, но фронтэнды и бэкэнды имеют пропускную способность для обработки большего количества трафика. С другой стороны, может быть некоторый сервер, который является частью системы, которая не является вполне частью UI или необработанными данными, которые могут быть узким местом с помощью чего-то как Biztalk или MSMQ.

3) узкие места Фронтенда-> Это могло проблемы серверной стороны или клиент. Например, если Вы взяли низкопроизводительный ПК и имели его, загружают веб-страницу, которая состояла из большого количества загружаемых данных, клиент мог быть то, где узкое место. Точно так же сервер мог стоять в очереди запросы, если это становится прибитым с запросами как то, что Amazon.com или другие веб-сайты интенсивного трафика могут время от времени получать.

Часть этого подвергается интерпретации, таким образом, это не прекрасно каким-либо образом и YMMV.

<час>

РЕДАКТИРОВАНИЕ: Что-то для рассмотрения - то, что некоторые системы могут иметь несколько фронтендов или бэкендов. Например, система управления контентом будет, вероятно, иметь способ для посетителей сайта просмотреть содержание, которое является фронтендом, но что относительно того, как редакторы контента в состоянии изменить данные по сайту? Способность потянуть эти данные могла рассматриваться как фронтенд, так как это - компонент UI, или это могло рассматриваться как бэкенд, так как это используется внутренними пользователями, а не широкой публикой, просматривающей сайт. Таким образом существует что-то, чтобы быть сказанным для контекста здесь.

57
ответ дан JB King 24 November 2019 в 12:03
поделиться

Вообще говоря, люди называют уровень представления приложения фронтэнд , его слой персистентности (база данных, обычно) как бэкэнд , и что-либо между как средний уровень . Этот набор идей часто упоминается как 3-уровневая архитектура. Они позволяют Вам разделить свое приложение в более легко понятный (и тестируемый!) блоки; можно также снова использовать код нижнего яруса более легко в более высоких уровнях.

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

Не все приложения должны быть выделены этот путь, все же. Это - конечно, больше работы, чтобы иметь 3 отдельных подпроекта, чем это должно просто открыть index.php и получить взламывание; в зависимости от (1), сколько времени Вы ожидаете должными быть поддерживать приложение (2), как сложный Вы ожидаете, что приложение доберется, можно хотеть воздержаться от сложности.

7
ответ дан Dan Davies Brackett 24 November 2019 в 12:03
поделиться

С точки зрения работы с сетями и обеспечения безопасности Бэкенд является безусловно большинством (должен быть), безопасный узел.

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

Получение к бэкенду означает проходить средний конец, который имеет тщательно обработанный ряд правил, позволять/запрещать доступ к жизненным nummies, которые хранятся на базе данных (бэкенд) сервер.

0
ответ дан m42 24 November 2019 в 12:03
поделиться

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

0
ответ дан 24 November 2019 в 12:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: