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.
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
(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 Hintergrund stellt Daten bereit und das Front-End ist für die Anzeige verantwortlich
MVC
-Entwurfsmuster, Model – View -Controller
Model-View-Controller (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)
.
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🎜🎜🎜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
页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App
有App
的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。API
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.
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!