是我太孤陋寡闻了吗?
今天和一个同事聊,他说 PHP 是前端范畴的了
1
shyling 2016-07-04 15:28:03 +08:00
大公司不是用 node 替换了前端的 php 嘛?
|
2
LevineChen 2016-07-04 15:31:26 +08:00
的确是前端, php 主要业务 底层交互都是 C++开放的接口
|
3
XianZaiZhuCe 2016-07-04 15:34:34 +08:00 via iPhone
相对来说是前端
|
4
calidion 2016-07-04 15:39:19 +08:00 1
显然不是,参考。
说 PHP 是前端,就相当于是说 HTML5 是 WAP 。 都是错误的表现。 http://blog.3gcnbeta.com/2016/05/03/%E5%85%B3%E4%BA%8EMVC%E3%80%81%E5%89%8D%E7%AB%AF%E3%80%81%E5%90%8E%E7%AB%AF%E3%80%81%E5%89%8D%E5%90%8E%E7%AB%AF%E5%88%86%E7%A6%BB%E3%80%81%E5%89%8D%E5%90%8E%E7%AB%AF%E5%90%8C%E6%9E%84%E7%9A%84%E9%82%A3%E4%BA%9B%E4%BA%8B/ |
5
kumakiti 2016-07-04 15:45:20 +08:00
技术上的前端肯定不算啊,毕竟还是要跑在服务器上的,只用浏览器肯定不行
估计是在整个产品结构里,偏向展现给用户那一块的,所以在公司内部被叫做『前端』 |
6
spademan OP |
7
calidion 2016-07-04 15:48:16 +08:00 1
需要区分项目前端与 Web 前端。
Web 前后端的区分依据是浏览器与服务器。 项目前后端区分的依据是所在项目的位置。 不能混为一谈。 |
8
zeus255 2016-07-04 15:49:12 +08:00
这个前端和传统意义上说的 web 前端不太一样。
html/js/css ==> node/php/python ==> java/c++, 一般现在大型网站架构的层次和语言是这样的关系。 在大企业, java 的比重越来越大,脚本语言基本上只会用来处理模板渲染等跟 view 有直接交互的内容,所以就有被归类到前端去的说法。 |
10
calidion 2016-07-04 15:53:12 +08:00
|
11
jakehu 2016-07-04 16:06:13 +08:00
相对而言
|
12
66beta 2016-07-04 16:51:59 +08:00
可能是因为 web 前端都会 PHP 的缘故吧
|
13
lslqtz 2016-07-04 16:54:21 +08:00 via iPhone
html/css 才是前端
|
14
hasbug 2016-07-04 16:55:43 +08:00
怎么会有这种说法?
感觉现在都玩坑里去了,前端还是原来的概念,只不过现在前端可以能做更多罢了。 |
15
murmur 2016-07-04 16:59:25 +08:00
现在前端不都必须会一门后台语言么
|
17
sfree2005 2016-07-04 17:03:02 +08:00
很多 php 框架都是 MVC , 他这里应该指的是这里的‘ V ’吧。
|
18
TangMonk 2016-07-04 17:05:03 +08:00
相对而言,淘宝原来就是
|
19
learnshare 2016-07-04 17:06:23 +08:00
前后都是相对的,许多业务中的前端指的是更靠近用户的那部分,不一定指的是 GUI 部分。
|
20
keinx 2016-07-04 17:13:52 +08:00
在我们公司, java 是底层做数据的, php 就是前段配合 html5 做用户展示数据的
|
21
otakustay 2016-07-04 17:19:44 +08:00
在百度好像 PHP 真算前端的
|
22
aksoft 2016-07-04 17:24:15 +08:00
C 说 php 是前端
html css js 说 php 是后端。。 |
23
pasturn 2016-07-04 17:32:40 +08:00
狭义算后端,广义算前端
|
24
alwayssmile 2016-07-04 17:33:09 +08:00
不是哇,既有偏前端也有偏后端的啊
|
25
wavingclear 2016-07-04 17:34:03 +08:00
|
26
xuyifei 2016-07-04 17:34:45 +08:00
看你用来做什么了,做页面展示部分的逻辑,算前端吧
|
27
kideny 2016-07-04 17:48:45 +08:00
我觉得,应该处于中间层吧。
用 nodejs 替代 php ,很大一部分原因是为了省钱吧。 |
28
jerray 2016-07-04 17:51:51 +08:00
前端后端跟语言关系不大,而且前后也总是相对的。有人用 Java 写 Web ,有人用 Java 写桌面,有人用 Java 写中间件,有人用 Java 写数据库。 Java 是前端还是后端?
|
29
ck65 2016-07-04 17:52:09 +08:00
看 PHP 用来承载什么业务了吧。习惯 Java 、 Node 等后台的公司, PHP 会叫做前端,顶多叫中间层。整个业务就是一个 PHP 网站的公司, PHP 自然可以叫后端了。叫法其实不重要。
|
30
lightening 2016-07-04 17:54:05 +08:00 6
每个人都有自己对前后端的概念。
Web 工程师觉得 html/js/css 是前端, php 是后端。 架构师觉得 web 是前端,核心逻辑是后端。 库的维护者觉得应用是前端, infrastructure 是后端。 硬件工程师觉得软件是前端,硬件是后端。 电路设计人员觉得芯片内布局布线是前端,电路逻辑表达是后端。 硬件工艺研究人员觉得电路逻辑是前端,半导体物理是后端。 |
31
odirus 2016-07-04 17:56:03 +08:00
每个公司业务不同都嘛, Java 也阔以写前端呀,只是比较丑而已。
|
32
dxwwym 2016-07-04 17:56:06 +08:00 via iPhone
看完帖子觉得应该有一个中端的概念
|
33
ichou 2016-07-04 18:47:11 +08:00 via iPhone
我们虽然小公司 但 php 也是前端
|
35
Light3 2016-07-04 19:02:23 +08:00
概念不一样。。不过很老的梗了。。而且不少地方都不用 php 用 node.js 来替换了。。
|
36
genffy 2016-07-04 19:07:09 +08:00
显然,,,,对于 web 来说,后端只是 API 了, ios android 也都是前端。
|
37
ibigbug 2016-07-04 19:21:02 +08:00
是前端还不好,都说前端天花板
|
38
dongm2ez 2016-07-04 19:23:06 +08:00
php 在小公司是全栈,在大公司是中间件
|
39
calidion 2016-07-04 19:25:25 +08:00
|
41
Jaylee 2016-07-04 21:46:43 +08:00
架构上是,但技术上不上
|
42
Jaylee 2016-07-04 21:46:56 +08:00
架构上是,但技术上不是
|
43
eoo 2016-07-04 21:51:18 +08:00 via Android
看你怎么用咯
|
44
codelegant 2016-07-04 22:36:51 +08:00
在我们公司,浏览器 + web 服务器( PHP )称为前端(有时候也称 Web App 客户端,与 ios, andrioid 平级),后端是数据库+服务器。
|
45
miaotaizi 2016-07-04 22:38:39 +08:00
是又如何, 不是又如何? 快速切换自己的位置才是王道
|
46
miaotaizi 2016-07-04 22:40:01 +08:00
我在公司就是, 不用 java 做后端我就用 PHP 写, 一旦 java 上后端, 我就去写 js.....
|
47
calidion 2016-07-04 22:52:13 +08:00
|
48
codelegant 2016-07-04 23:15:42 +08:00
@calidion Web 服务器是属于服务器,但现在前端的工作已经从浏览器往 Web 服务器延伸了,并且与数据服务器有了很明显的界线,所以出了一个新名称:“大前端”。
|
49
genffy 2016-07-04 23:18:07 +08:00 via iPhone
@calidion 其实吧,就是些用着跑在服务器 /强类型语言的人写着千篇一律的 curd 的自我安慰吧,不涉及并发,不涉及多线程,不涉及底层调用 /开发的即便是跑服务器说是后端的都是耍流氓。假如有用 c++写 nose/php 扩展的,这个成为后端,我服。
以上,仅代表作为一个页面仔的我的观点,没有针对任何人,也不代表雇主。 |
50
mingyun 2016-07-04 23:25:44 +08:00
php 作为接口提供方
|
51
calidion 2016-07-05 01:33:13 +08:00
@codelegant
大前端就是错误的胡扯的结果。大前端试问大在那里?既然有大前端,试问什么是小前端? 中国的 IT 界的可恨之处在于喜欢制造错误的名词,然后传播错误的理念。 正确的叫法其实就是全栈工程师。 @genffy 后端与前端并没有那个更高大上的差别。差别只在于位置的不同。 你对前后端的理解本身就是错误的。 你的意思是前端必然比后端要弱?显然实际情况并非如此。 可见基于以上多位对于前后端的讨论,基本上都是源于错误。 所以我认为将前端扩大,与将后端缩小都是因为错误与无知。 即无法界定前端,也无法界定后端。所以稀里糊涂的人云亦云。 因为对于前端后分不清,然后才会搞出什么前后端分离这种可笑的提法。 这种提法的前提是根本不知道什么是前后端,也不知道分了什么。 然后分离的是什么也没有搞清楚。 前后端分离与大前端,还有将 PHP , JAVA , NODEJS 叫做前端。本身就是中国 IT 界最大的耻辱。 |
53
litpen 2016-07-05 09:40:01 +08:00
如果是同构型的架构那后端的一部分工作属前端
|
54
spademan OP 哇塞 感谢大家的回答,大体都了解了,我是一个 web 小前端,所以才觉得说 php 是前端比较惊讶,如果说相对而言的话就好理解了 ~~~
|
55
madao 2016-07-05 10:30:13 +08:00
@calidion 一部分人概念上把 PHP 列为前端,是因为在架构上 PHP 在项目设计里不涉及数据的操作,仅仅做 view 和 helper 的缘故吧,你也别急着灌注给别人概念的对和错。
PS :「全栈工程师」不是会那么点就算的。 PPS :前端和后端的区分,也不是绝对性的,方便工作理解即可。 PPPS :「耻辱」二字别乱用。 |
56
kidult 2016-07-05 10:41:10 +08:00
管它是什么端,工资不低就对了
|
57
tairan2006 2016-07-05 10:49:54 +08:00
前后端是相对的。。
|
58
codelegant 2016-07-05 10:52:39 +08:00
@calidion
小前端就是纯浏览器,在大前端中, web 服务器相当于 model 层(控制逻辑与交互逻辑),只不过不是与数据库交互,而是通过 API 与数据服务器(业务逻辑)交互。如果是全栈,那是需要包括数据库操作的。 所以现在有种前后端的看法就是:不涉及数据库的就划分到前端。 所以有时候会称:“前端服务器”,“ web 服务器”,与之对应的:“后端服务器”,“数据服务器”。 淘宝的前端服务器语言是 node ,后端服务器语言是 java ,之所以前端服务器的语言使用 node ,正是为了把这部分工作归到前端。 我之前公司的前端服务器语言是 php (与页面结构较紧密,方便操作),后端服务器语言是 golang (性能高)。 所以呢,现在前后端概念可能如果你所说,但工作的范围已经不局限于原来的概念了。 |
59
calidion 2016-07-05 11:07:38 +08:00
@madao
你的意思是涉及数据的操作的就是后端? HTML5 里支持多种数据库与数据操作,是不是表示 HTML5 是后端? 这种思路得好好检讨自己了,这种简单,基本的逻辑错误通常应该默认不会出现的。 你没有搞清楚什么是前端,什么是后端。 从上面的分析来看,数据还是划分前后端的依据吗? 答案显然是否定的。 这种么简单的逻辑这么多人搞不清楚,难道不是一件很可耻的事情。 显然你并没有搞清楚。 因为操作数据根本不是前后端的划分依据。 前后的划分本质上是依据调用层次来看的。 作为数据通常是需要持久化的,所以与 OS 与文件系统的联系比较紧密的。 也就是相对来讲处于整个调用链的末端,只不过是一个存储业务或者数据业务而已。 由于大多数据库也是基于 TCP/IP 连接的,跟 Web 服务器基于 TCP/IP 是一样的。 本质上并没有明显的谁前谁后的界线。 所以认为数据库比 Web 服务器更后面,本身就是错误的理解。 关于你回复的两点,再统一回复下: 1. 关于全栈工程师不是以技能多少来论的,而是以涉及的技术领域来论的。如果没有涉及前后端,就算技能再多,也不见得是全栈工程师。如果认为全栈工程师技术少了。你可以说说少在那里了。 2. 前后端不是完全绝对的,但是 Web 前后端是绝对的。大部分的前后端虽然不绝对,但是也是有基础的区分的。所以持不可知论的人是可耻的。如果前后端你分不清楚,你为什么能分清楚 NODEJS 与 PHP ?从更无耻的角度,我还可以认为 PHP 与 NODEJS 无法区分。 3. 耻辱这两个字用的还是恰如其分的。体现了国内技术不可知论者太多,混淆视听的人太多的现状。 |
60
calidion 2016-07-05 11:09:45 +08:00
|
61
calidion 2016-07-05 11:19:16 +08:00
@codelegant
麻烦你区分下 Web 前后端与业务的前后端。 不要混为一谈。 将 Web 前后端与业务前后端混为一谈的人就是基本概念不清的表现。 我一样可以将你分成前后端。前端是肚皮,脸皮,后端是背与臀。 当我说你的前端与你的后端时,你也可能理解我说的是什么,但是这样是没有意义的,可笑的。 因为我们讨论不在一个层面。 我说你有一个全栈的身体,你有一个大前端的肚子? 将 Web 前后端与业务的前后端混淆,本质是没有逻辑的表现。无它。 |
62
allce231 2016-07-05 11:20:05 +08:00
c++提供接口拿数据的话, php 只是 MVC 中的 C 层,可以说是属于前端的了
腾讯很多是用 C++写后台, protobuf 协议 可以用 php 去拿数据然后显示这就属于前端范畴了 当然 pb 协议也支持 js 了 |
63
codeyung 2016-07-05 11:27:56 +08:00
逻辑没问题 说的通
|
65
allce231 2016-07-05 11:50:31 +08:00
@calidion 没必要分那么清啊 就比如我们前后端分离一般是用 js 通过 json 去拿数据 然后才做 view 操作
就拿 protobuf 来说 c++写好后台 但不提供 http 协议接口只提供 pb 接口 需要一个中间层( php )来解释 pb 协议 然后进行 view 操作 你让后写后台的来操作的 html 代码是不是会更乱? php 做为 C 层也是我们前端来写是不是也前后端分离了? 最后我说一句 php 作为 C 层很简单 不用操作数据库那些,写 php 跟写 js 代码没差多少 语法很像 艺多不压身 |
66
fsy0718 2016-07-05 11:52:00 +08:00
我们公司除了与数据库直接打交道的中枢,其余都称之为前端展示。。。哈哈,哪怕你是写 csharp 的
|
67
sunshinewu85 2016-07-05 11:53:41 +08:00 via Android
为何我们老喜欢纠结于这些概念?这,相对而言是不是又反映了我们的浮躁?
每一种语言的设计者,各有各的野心,而这些野心,会慢慢随着发展共荣和趋向相同呈现得不可思议,甚至一些语言能够把前后端都能揽入怀中,不足为奇,那就能一概而论地说这是前端这是后端?用什么做前后端,关键还得看项目,看到底你要解决或达到哪个层级的优化吧?当然,还得看市场人力资源的招募成本 |
68
madao 2016-07-05 11:55:35 +08:00
@calidion https://en.wikipedia.org/wiki/Front_and_back_ends
你开心就好,顺带一提, THRIFT 这个框架, Facebook 对它实践里说的是「 PHP is used for the front-end 」。 PS: 一口一个层面,这种对话习惯很不好。 |
69
madao 2016-07-05 11:56:51 +08:00
|
71
calidion 2016-07-05 12:22:04 +08:00
@madao
科学技术就是要讲求唯一性的,消除二义性的。 如果无法消除,那就别个限定条件。 比如我说 1+1 = 3 ,你说 1+1 =5 。 难道我们就是对的? 显然科学技术不是这样的,科学技术不是民主自由。 科学技术并不会因为相信的人多就对,相信的人少就错。 对于科学技术来说,通常需要有一个明确的结论。 @allce231 我们讨论的问题并不是简单不简单的问题。而是如何区分前后端的问题。 任何时候 我们做的事情都是去复杂化。变简单是应该的。 现在的问题是应该好好区分前后端。 将 Web 前后端与业务前后端混淆对于目前来讲是很常见的错误。 前后端是一个泛与相对的概念。 而我主张要区分开是因为混乱导致概念不清,导致理解的错误。 将 PHP 当成是前端就是扯蛋的结果。 因为 PHP 本来就不是前端。 PHP 只是可以在后端里从事相对比较靠前的业务。 当然称为服务器前端也是可以的。但是这个前端与我们通常意义的 Web 前端完全是两码事。 所以通常我们说前端是指 Web 前端,而不是服务器前端。 如果说 PHP 是服务器前端,我不会有意见,但是将 PHP 称为前端,那就是对概念的混淆。 |
72
madao 2016-07-05 12:38:49 +08:00
@calidion
你这样说我就不乐意了,这个「唯一性」是错误的,严厉地说,是愚蠢的。 如果 1 + 1 一定等于 2 ,咱不需要哥德巴赫猜想,不需要 Sierpinski-Mazurkiewicz 悖论,只需要知道 1 + 1 等于 2 ,事实上只是在特定语境和条件下, 1 + 1 等于 2 ,这个特定语境对于大部分人而言是普适语境罢了。 另外你在遣词酌句的死胡同里快出不来了,专业名词的用处,是为了让我们更好地工作,而不是用来提升优越感。 总而言之,我不会再往下说了,日安,祝你今天过得好。 |
73
hqs123 2016-07-05 13:07:01 +08:00
PHP 世上最好语言^_^
|
74
calidion 2016-07-05 13:10:08 +08:00
@madao
刚好是你在表现优越感。 限定就是为了说明问题。 唯一性当然不是在任何时候都是对的。 但是只有有了唯一性,问题才是可解的。 如果 1+1 不是等于 2,那任何的数据计算都没有意义。 别跟我扯什么哥德巴赫猜想,跟 1+1 等于 2 没有任何关系。 哥德巴赫猜想本身就是试图找到唯一性与确定性。 你用一个科学家试图寻找确定性的事件说明事情是不唯一的?这不是很可笑的事情吗? 如果科学不是寻找唯一性,他就没有必要猜了。因为如果结果都是不确定的,猜也是没有任何意义的,。 所以说谁愚蠢呢? 祝你一生都过得好。 既然真理掌握在你手里,为什么就不能有点优越感呢?优越感难道不是求真的动力之一吗?呵呵。 |
76
HarveyDent 2016-07-05 14:29:28 +08:00
各位长老,收了神通吧。
|
77
jsyzchen 2016-07-05 16:18:03 +08:00 1
后端的前端,可以这样理解
|
78
tttwww18 2016-07-05 19:02:12 +08:00
没错!
|
79
dbfox 2016-07-05 20:06:49 +08:00 via iPhone
php 是属于套 html 展示 ui 层的语言
而后端更多的是一个一个的服务 是没有 ui 的 比如搜索服务 分布式文件存储服务 当然 php 也可以写一些服务,但并不是优势 比如 c++ 可以写更底层的东西 |
80
dbfox 2016-07-05 20:08:32 +08:00 via iPhone
php 更多的是调用这些服务,实现一些表层的工作
|