Rumah > Soal Jawab > teks badan
因为自己一直以来都是自学,不是很清楚大公司是怎么写网站的。以前写网站很多都是让jsp或者php代码嵌入到html里面。之前也使用过node+jade的方式,现在都是后台提供接口,然后ajax提交获取数据后在backbone模板里面展示出来。那么通用的方式是什么呢?问过在百度的一个学长,他给我说smarty,我也不是很懂。请教一下大家,谢谢
ringa_lee2017-04-11 11:38:02
前后端分离的由来是:以前开发网站都是 jsp、asp 这类动态脚本。
jsp、asp这种参杂了后端语言、javascript、css、html 的混合脚本,使代码开发和维护都极其不方便。
随着前端交互越来越复杂,jsp、asp 这种脚本语法已经不能满足开发的需求了。
于是前后端的概念就提出了:前端人员负责页面展示和交互,然后通过 ajax 调用后端人员写好的数据接口。
所以开发网站的核心现在基本上就是:
html + css :页面展示
javascript + ajax(这个算是浏览器的一部分,可以通过 javascript 调用) : 页面交互、逻辑处理
通常的开发框架选择:
简单网站: jquery + bootstrap
后台管理系统: angularjs + jquery + bootstrap + webpack
复杂的产品: react + redux + webpack
伊谢尔伦2017-04-11 11:38:02
现在网站开发基本都是前后端分离的模式,后端只写接口,前端调取接口,用js的模板引擎去渲染数据,比如arttemplate.js。也会用到一些js模块开发的框架如sea.js。
高洛峰2017-04-11 11:38:02
这个问题很宽泛。网站从小到大,可以分很多类的。也就是都叫网站,三流城市小商店的主页跟淘宝网都叫网站,但是整个的开发差的就太大了。
实际上,自学过来,多想想 怎么更快速的实现需求,应对需求变化,方便后期维护,以这个标准来看到底哪个更好,你说的这些都对。也都有公司在用。目前直接在jsp或是php里面写html应该不多了。前后端分离正在是正火。那么怎么分离,谁占的多点,谁占的少点,根据各个公司的技术水平来。前端开发工程师牛了,就想着前端的mvc,mvvm,直出。后端牛了,就想着,你把这个原型给后端,其他不用管了。
问题中,node+jade算是后端,backbone就是前端。smarty是php的一种老牌模板。跟node的jade类似。
所以,定位一下,你到底是前端,后端,还是全端? 最好是先把一种语言用的更深一些,比如,java,或node,或php,不用啥都懂点,啥也不懂。等回头确认好你的问题到底是什么,在细聊。
黄舟2017-04-11 11:38:02
我不太清楚你想问的问题是不是我下面要说的.所以麻烦谨慎阅读.
关于网站前后台分离,我读了问题详情里的大概说明,可能就是比如之前的php代码写在html代码里,不存在纯粹的php文件(里面只有php的代码)和html文件,这里就是前后端不分离,大概意思就是php和html,你中我有,我中有你.
但是呢,后来开发的时候遇到很多问题,前端(html,css,js)工程师对php代码可能读不懂,php工程师也不对css那些内容非常熟悉,所以后来人们想出一个办法,把代码分离!这样就能让每个人在各自的领域更好的发挥,这样虽然消耗了一定的效率,但是对于开发人员从某一角度来说是友好的.
smarty模板就是比较典型的例子吧.他把前台(给用户看的)后台(实现用户需求的功能)分开了,给不同的开发人员发挥.
阿神2017-04-11 11:38:02
前后端分离并没有网上说的那么复杂。
首先要知道所有的程序都是一数据为基础的,没有数据的程序没有实际意义,程序的本质就是对程序的增删改查。
前后端分离就是把数据操作和显示分离出来。前端专注做数据显示,通过文字,图片或者图标等方式让数据形象直观的显示出来。后端专注做数据的操作。前端把数据发给后端,有后端对数据进行修改。
后端一般用java,c#等语言,现在的node属于JavaScript也能进行后端操作,此处不意义裂解语言。后端来进行数据库的链接,并对数据进行操作。
后端提供接口给前端调用,来触发后端对数据的操作。
基本原理就是这样,可能语言上不准确,思想是没有问题的。