首页 >后端开发 >php教程 >javascript - 现在开发网站一般都使用什么方式?什么是前后端分离?

javascript - 现在开发网站一般都使用什么方式?什么是前后端分离?

WBOY
WBOY原创
2016-08-04 09:21:351433浏览

因为自己一直以来都是自学,不是很清楚大公司是怎么写网站的。以前写网站很多都是让jsp或者php代码嵌入到html里面。之前也使用过node+jade的方式,现在都是后台提供接口,然后ajax提交获取数据后在backbone模板里面展示出来。那么通用的方式是什么呢?问过在百度的一个学长,他给我说smarty,我也不是很懂。请教一下大家,谢谢

回复内容:

因为自己一直以来都是自学,不是很清楚大公司是怎么写网站的。以前写网站很多都是让jsp或者php代码嵌入到html里面。之前也使用过node+jade的方式,现在都是后台提供接口,然后ajax提交获取数据后在backbone模板里面展示出来。那么通用的方式是什么呢?问过在百度的一个学长,他给我说smarty,我也不是很懂。请教一下大家,谢谢

前后端分离的由来是:以前开发网站都是 jsp、asp 这类动态脚本。
jsp、asp这种参杂了后端语言、javascript、css、html 的混合脚本,使代码开发和维护都极其不方便。
随着前端交互越来越复杂,jsp、asp 这种脚本语法已经不能满足开发的需求了。
于是前后端的概念就提出了:前端人员负责页面展示和交互,然后通过 ajax 调用后端人员写好的数据接口。
所以开发网站的核心现在基本上就是:

  1. html + css :页面展示

  2. javascript + ajax(这个算是浏览器的一部分,可以通过 javascript 调用) : 页面交互、逻辑处理

通常的开发框架选择:

  1. 简单网站: jquery + bootstrap

  2. 后台管理系统: angularjs + jquery + bootstrap + webpack

  3. 复杂的产品: react + redux + webpack

现在网站开发基本都是前后端分离的模式,后端只写接口,前端调取接口,用js的模板引擎去渲染数据,比如arttemplate.js。也会用到一些js模块开发的框架如sea.js。

嗯,我们现在不写页面,都是前端写了页面直接丢cdn上,然后调我们后端提供的接口获取数据来渲染。

smarty是一个模板引擎,用于将前后端分离,其核心内容就是MVC
M = 模型
V = 视图
C = 控制器

这个问题很宽泛。网站从小到大,可以分很多类的。也就是都叫网站,三流城市小商店的主页跟淘宝网都叫网站,但是整个的开发差的就太大了。

实际上,自学过来,多想想 怎么更快速的实现需求,应对需求变化,方便后期维护,以这个标准来看到底哪个更好,你说的这些都对。也都有公司在用。目前直接在jsp或是php里面写html应该不多了。前后端分离正在是正火。那么怎么分离,谁占的多点,谁占的少点,根据各个公司的技术水平来。前端开发工程师牛了,就想着前端的mvc,mvvm,直出。后端牛了,就想着,你把这个原型给后端,其他不用管了。

问题中,node+jade算是后端,backbone就是前端。smarty是php的一种老牌模板。跟node的jade类似。

所以,定位一下,你到底是前端,后端,还是全端? 最好是先把一种语言用的更深一些,比如,java,或node,或php,不用啥都懂点,啥也不懂。等回头确认好你的问题到底是什么,在细聊。

这个有什么关系吗?基本都差不多的套路,可能分了更多的层,但本质没变啊,都练练,多点实际经验就可以了,没什么区别,不用纠结

html + ajax

我不太清楚你想问的问题是不是我下面要说的.所以麻烦谨慎阅读.
关于网站前后台分离,我读了问题详情里的大概说明,可能就是比如之前的php代码写在html代码里,不存在纯粹的php文件(里面只有php的代码)和html文件,这里就是前后端不分离,大概意思就是php和html,你中我有,我中有你.
但是呢,后来开发的时候遇到很多问题,前端(html,css,js)工程师对php代码可能读不懂,php工程师也不对css那些内容非常熟悉,所以后来人们想出一个办法,把代码分离!这样就能让每个人在各自的领域更好的发挥,这样虽然消耗了一定的效率,但是对于开发人员从某一角度来说是友好的.
smarty模板就是比较典型的例子吧.他把前台(给用户看的)后台(实现用户需求的功能)分开了,给不同的开发人员发挥.

smarty是针对你所说的后端代码在前端实现的一种模板引擎.ajax属于异步操作,来实现前后分离

前后端分离并没有网上说的那么复杂。

  1. 首先要知道所有的程序都是一数据为基础的,没有数据的程序没有实际意义,程序的本质就是对程序的增删改查。

  2. 前后端分离就是把数据操作和显示分离出来。前端专注做数据显示,通过文字,图片或者图标等方式让数据形象直观的显示出来。后端专注做数据的操作。前端把数据发给后端,有后端对数据进行修改。

  3. 后端一般用java,c#等语言,现在的node属于JavaScript也能进行后端操作,此处不意义裂解语言。后端来进行数据库的链接,并对数据进行操作。

  4. 后端提供接口给前端调用,来触发后端对数据的操作。

基本原理就是这样,可能语言上不准确,思想是没有问题的。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn