Heim > Web-Frontend > Front-End-Fragen und Antworten > Was ist der Unterschied zwischen Front-End- und Back-End-Trennung und Nicht-Trennung?

Was ist der Unterschied zwischen Front-End- und Back-End-Trennung und Nicht-Trennung?

青灯夜游
Freigeben: 2023-01-04 09:37:31
Original
22984 Leute haben es durchsucht

Unterschied: Wenn Front-End und Back-End nicht getrennt sind, werden die auf der Front-End-Seite sichtbaren Effekte vom Back-End gesteuert, und das Back-End rendert die Seite oder leitet sie weiter, also die Rückseite -End muss die Anzeige des Front-Ends steuern, und die Kopplung zwischen Front-End und Back-End ist sehr hoch. Bei der Trennung von Front-End und Back-End gibt das Back-End nur die vom Front-End benötigten Daten zurück, rendert keine HTML-Seiten mehr und steuert nicht mehr die Auswirkungen des Front-Ends. Die Kopplung zwischen dem Front-End -End und Backend sind relativ niedrig.

Was ist der Unterschied zwischen Front-End- und Back-End-Trennung und Nicht-Trennung?

Die Betriebsumgebung dieses Artikels: Windows 10-System, Thinkpad T480-Computer.

Verwandte Empfehlungen: „Programmiervideo

1. Das Konzept der Front-End- und Back-End-Trennung

1. Front-End- und Back-End-Trennung

  • Vorderseite Die Trennung von -End und Back-End ist, um es laienhaft auszudrücken, ein Architekturmuster. Das heißt, die Seite (JSP | HTML) ist im Back-End-Projekt nicht sichtbar eine Schnittstelle zum Front-End. Das Front-End ruft lediglich die vom Back-End bereitgestellte Schnittstelle im REST-Stil auf. Das Front-End konzentriert sich auf das Schreiben der Seite (html|jsp)Code> und Rendering <code>(JS|CSS|Verschiedene Front-End-Frameworks); das Backend muss sich nur auf das Schreiben von Code konzentrieren. (JSP | HTML),后端给前端提供接口,前端调用后端提供的 REST 风格接口就行,前端专注写页面(html|jsp)和渲染(JS|CSS|各种前端框架);后端专注写代码就行。
  • 前后端分离的核心:后台提供数据,前端负责显示

1、软件架构模式

最熟悉MVC设计模式,Model—View-Controller 模型-视图-控制器

  • 它是怎么工作的?通俗来说:你在页面输入一个网址(请求-Request),这个网址跑到哪里去了呢?就去调用接口
    (REST风格),这个接口其实就是访问后端的一段代码(方法),后端有很多方法。
  • 如何确定访问的是哪个方法?就是接口定义好的,比如:177.25.26.7/idp/user/login,这里面的idp就表示一
    个服务(一个工程),user表示一个类,login表示具体要调用的那个方法,你一旦回车,就直接调用了后端这个方法,后端这个方法就去数据库(MySQL|Oracle|其他)取数据,数据库表中每一行数据就表示一个对象,也就是一个JavaBean,最终用pojo方式存到集合框架 (List|Map|Set|等)中,方法把这个集合返回,那么调用这个接口的结果就是会响(Response)给你一个结果集,前端就拿到了这个数据,然后通过页面(html|Jsp)展现出来,这个用户看到的就是View层做的事情。

2、前后端分离的原因

在以前,听说 TDD (Test-driven development,测试驱动开发) 可以改善代码的质量,我们便实施了 TDD;接着,听说 BDD (Behavior-driven development,行为驱动开发) 可以交付符合业务需求的软件,我们便实施了 BDD;后来,听说 DDD (Domain-driven design,领域驱动设计) 可以分离业务代码与基础代码,我们便实施了 DDD。今天,听说了前后端分离很流行,于是我们就实施了前后端分离——这就是传说中的 HDD(Hype-driven Development,热闹驱动开发)

过程TDD -》 BDD -》 DDD =》 HDD

3、前后端分离的优点

前后端分离则可以很好的解决前后端分工不均的问题,将更多的交互逻辑分配给前端来处理,而后端则可以专注于其本职工作,比如提供API接口,进行权限控制以及进行运算工作。而前端开发人员则可以利用nodejs来搭建自己的本地服务器,直接在本地开发,然后通过一些插件来将api

Der Kern der Front-End- und Back-End-Trennung:

Der Hintergrund stellt Daten bereit und das Front-End ist für die Anzeige verantwortlich

    1. Software-Architekturmuster
  • Der bekannteste MVC-Entwurfsmuster, Model – View -Controller Model-View-Controller
Wie funktioniert es? Laienhaft ausgedrückt: Sie geben auf der Seite eine URL (Anfrage) ein. Wohin geht diese URL? Rufen Sie einfach die Schnittstelle auf
(REST-Stil) Diese Schnittstelle ist eigentlich ein Teil des Codes (Methode), der auf das Backend zugreift.

Wie kann festgestellt werden, auf welche Methode zugegriffen wird? Die Schnittstelle ist beispielsweise wie folgt definiert: 177.25.26.7/idp/user/login, wobei idp einen
-Dienst (ein Projekt) und einen Benutzer darstellt stellt eine Klasse dar, login stellt die spezifische Methode dar, die aufgerufen werden soll. Sobald Sie die Eingabetaste drücken, wird die Backend-Methode direkt aufgerufen und die Backend-Methode geht an die Datenbank(MySQL| Oracle|Others) Daten abrufen. Jede Datenzeile in der Datenbanktabelle stellt ein Objekt dar, also ein JavaBean, und verwendet schließlich die pojo-Methode Speichern Es wird an das Sammlungsframework (List|Map|Set| usw.) übergeben, und die Methode gibt diese Sammlung zurück. Das Ergebnis des Aufrufs dieser Schnittstelle ist dann (Response) und geben Sie eine In der Ergebnismenge ruft das Frontend diese Daten ab und zeigt sie über die Seite (html|Jsp) an. Was der Benutzer sieht, ist die Ebene Ansicht tut.

2. Gründe für die Trennung von Front-End und Back-End In der Vergangenheit habe ich gehört, dass TDD (Testgetriebene Entwicklung) Verbesserungen bewirken kann die Qualität des Codes, also haben wir ihn implementiertTDD; Dann haben wir gehört, dass BDD (Behavior-driven development, verhaltensgesteuerte Entwicklung) Software liefern kann, die den Geschäftsanforderungen entspricht , also haben wir BDD implementiert; später haben wir gehört, dass DDD (Domain-driven design, domain-driven design) Geschäftscode und Basiscode trennen kann, also haben wir DDD implementiert. Heute habe ich gehört, dass die Front-End- und Back-End-Trennung sehr beliebt ist, also haben wir die Front-End- und Back-End-Trennung implementiert – das ist das legendäre HDD (Hype-driven Development).

🎜🎜Prozess🎜: TDD -》 BDD -》 DDD =》 HDD🎜🎜🎜🎜3. Vorteile der Front-End- und Back-End-Trennung 🎜🎜🎜🎜Trennung von Front-End und Front -end kann die Arbeitsteilung zwischen Front-End und Rear-End lösen. Um das Problem der Ungleichmäßigkeit zu lösen, wird dem Front-End mehr Interaktionslogik zugewiesen, während sich das Back-End auf seine eigene Arbeit konzentrieren kann, beispielsweise auf die Bereitstellung von API-Schnittstelle, die Berechtigungen steuert und Berechnungen durchführt. Front-End-Entwickler können nodejs verwenden, um ihren eigenen lokalen Server zu erstellen, direkt lokal zu entwickeln und dann api-Anfragen über einige Plug-Ins an den Hintergrund weiterzuleiten, damit sie dies können Online-Szenarien vollständig simulieren und vom Backend entkoppeln. Das Front-End kann den gesamten Prozess der Interaktion mit Benutzern unabhängig voneinander abschließen. Beide können gleichzeitig mit der Arbeit beginnen, ohne sich gegenseitig zu verlassen. Die Entwicklungseffizienz ist relativ ausgeglichen. 🎜🎜🎜🎜Die Vorteile lassen sich wie folgt zusammenfassen: 🎜🎜🎜🎜🎜Verbesserung der Entwicklungseffizienz 🎜🎜Perfekte Bewältigung komplexer und sich ändernder Front-End-Anforderungen 🎜🎜Verbesserung der Wartbarkeit des Codes🎜🎜🎜🎜🎜 2. Der Unterschied zwischen Front-End und Back-End-Trennung und Front-End- und Front-End-Nicht-Trennung 🎜🎜🎜🎜🎜🎜1 Das Front-End und das Back-End sind nicht getrennt🎜🎜🎜
  • Im Anwendungsmodus, in dem das Front-End und das Back-End nicht getrennt sind, werden die auf der Front-End-Seite angezeigten Effekte vom Back-End gesteuert, das die Seite rendert oder umleitet. Das heißt, das Back-End muss die Steuerung übernehmen Die Anzeige des Frontends und die Kopplung zwischen Frontend und Backend sind sehr hoch.
  • Dieses Anwendungsmodell eignet sich besser für reine Webanwendungen, aber wenn das Backend mit App verbunden ist, benötigt App möglicherweise kein Backend, um ein HTMLWebseite, sondern nur die Daten selbst, sodass die ursprüngliche Back-End-Schnittstelle zum Zurückgeben von Webseiten nicht mehr auf die Front-End-<code>App-Anwendung anwendbar ist, um eine Verbindung zum App-Backend, ein weiterer Satz Schnittstelle muss entwickelt werden. App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一套接口。

2、前后端分离

  • 在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,AppApp的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。
  • 在前后端分离的应用模式中 ,前端与后端的耦合度相对较低。
  • 在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个接口,或者API
2. Trennung von Front-End und Front-End

Im Anwendungsmodus der Trennung von Front-End End und Front-End, das Back-End gibt nur das zurück, was das Front-End benötigt. Die erforderlichen Daten werden nicht mehr gerendert, die HTML-Seite wird nicht mehr gerendert und die Front-End-Effekte werden nicht mehr gesteuert . Welche Auswirkungen Front-End-Benutzer sehen und wie die vom Back-End angeforderten Daten in das Front-End geladen werden, hängt davon ab, ob die Webseiten selbst über eigene Verarbeitungsmethoden und App verfügen verfügt über eine App-Verarbeitungsmethode, aber unabhängig vom Front-End sind die erforderlichen Daten grundsätzlich dieselben und das Back-End muss lediglich eine Reihe von Logiken entwickeln, um Daten bereitzustellen Außenwelt.

🎜Bei dem Anwendungsmodell, bei dem das vordere und hintere Ende getrennt sind, ist der Kopplungsgrad zwischen dem vorderen Ende und dem hinteren Ende relativ gering. 🎜🎜In dem Anwendungsmodell, in dem das Front-End und das Back-End getrennt sind, nennen wir normalerweise jede vom Back-End entwickelte Ansicht eine Schnittstelle oder API. Das Front-End fügt Daten hinzu, löscht sie, ändert sie und überprüft sie Zugriff auf die Schnittstelle. 🎜🎜🎜Wenn Sie weitere verwandte Artikel lesen möchten, besuchen Sie bitte die 🎜Chinesische PHP-Website🎜! ! 🎜

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Front-End- und Back-End-Trennung und Nicht-Trennung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage