search
HomeBackend DevelopmentPHP Tutorialjavascript - 单页与后端模版渲染方式的取舍?

javascript - 单页与后端模版渲染方式的取舍?

Jun 06, 2016 pm 08:32 PM
javascriptphpSeparation of front and back endsBackend Development

现在流行2种开发方式:
1,单页
前端通过AngularJs、EmberJs或者ReactJs等写单页应用,后端只提供数据接口,在后端看来前端页面和手机App没有区别,前后端完全分离。例子:印象笔记

2,后端模版渲染
前端给后端提供写好的页面,让后端写模版引擎渲染页面,这是比较传统的方法,除了写模版引擎渲染页面工作,后端还要单独给手机App提供接口,前端一般比较轻松,写静态页面就可以了,例子:大部分网站,比如segmentfault

问题来了,如果网站之前是传统的后端模版渲染方式,后来上了手机端,后端也给手机提供了接口,那么为了一致性、后端维护成本考虑,我有必要把网站也改为单页应用的方式吗?

回复内容:

现在流行2种开发方式:
1,单页
前端通过AngularJs、EmberJs或者ReactJs等写单页应用,后端只提供数据接口,在后端看来前端页面和手机App没有区别,前后端完全分离。例子:印象笔记

2,后端模版渲染
前端给后端提供写好的页面,让后端写模版引擎渲染页面,这是比较传统的方法,除了写模版引擎渲染页面工作,后端还要单独给手机App提供接口,前端一般比较轻松,写静态页面就可以了,例子:大部分网站,比如segmentfault

问题来了,如果网站之前是传统的后端模版渲染方式,后来上了手机端,后端也给手机提供了接口,那么为了一致性、后端维护成本考虑,我有必要把网站也改为单页应用的方式吗?

给你做个对比表:
javascript - 单页与后端模版渲染方式的取舍?

招个全栈开发,首屏服务器端渲染好,后面交互,前端js继续写。我们基于react前后端统一。 后端分了两层 最外一层也是前端负责 node写 另一个端 是python写的 那人兼职DBA 就酱紫。

之前尝试过用node来渲染view,现在在用angular渲染view,总结下来,感觉后者更通用一点,因为只要把接口明确了,后端换啥都能接,而后端也一样,只要定好api,前端换啥都能接。

低耦合,方便二次开发。

现在一种趋势了。很多东西都是移动端,WEB,WAP。我们是不是应该写一套接口,可以让三个端来调用。现在也流行了这样的趋势。前端走MVC,服务端把view层砍掉,走restful风格,专注于数据的业务逻辑和处理。

如果都是restful api的话,没什么关系呀。你也可以用node.js来做后端渲染,工作量就在你这边了。

单页前端渲染 seo不好做

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Performance Tuning for High Traffic WebsitesPHP Performance Tuning for High Traffic WebsitesMay 14, 2025 am 12:13 AM

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

Dependency Injection in PHP: Code Examples for BeginnersDependency Injection in PHP: Code Examples for BeginnersMay 14, 2025 am 12:08 AM

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

PHP Performance: is it possible to optimize the application?PHP Performance: is it possible to optimize the application?May 14, 2025 am 12:04 AM

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

PHP Performance Optimization: The Ultimate GuidePHP Performance Optimization: The Ultimate GuideMay 14, 2025 am 12:02 AM

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor