类似淘宝用php做前端,java做后端的架构是怎样的?

问题 by Ziav

RT…..顺便问一下,像类似淘宝这样的大型网站,为什么会使用php来做前端呢?php本身不是偏后端的语言吗?而且对于前端而言,不是可以用js来处理后端的数据吗?


我的看法

本质上前端后端的区分是以“到用户的距离”划分的

比较通行的划分是在浏览器/客户端到服务器之间,以用户的http请求为准划线,js css dom flash ios android这些算前,后端负责业务和数据存储。因为通行的开源方案,rdbms配合缓存,队列,开源搜索引擎等等足以支持,于是这个直接的划分比较有效。客户端有十种,服务器也就不到百台,大家的责任任务比较平衡。

当厂子的量级大到一定程度,简单的开源方案很难盖的住大量的用户,水平扩容,立体的灾备等等问题。这时客户端还是10种,可服务器却一下子百台千台,一个机房一个机房来算了。此时,上述的普通划分就没有意义了。此时划分线便自然向后移动到业务和存储/支持之间,有了题主描述的“java后,php+js前”或是“cpp后,php+js前”之类的划分。 并不是php的角色变化了,而是原来insert into就写完的下单变得需要大量开发负责各种server运维告警负载均衡读写分离等等等等事情。 换种说法,10个开发的业务可能5个写jscss,5个写php,但100个开发的业务,可能就是10个jscss,10个安卓ios,35个写php,30个写c/java给php调用,还要有10个运维,5个组长


将html转为markdown格式的难点在哪,有什么解决思路?

问题 by 王铁手

试过 github 上的很多开源项目,结果都很类似。对简单的 DOM 结构转的还能接受,但是页面稍稍复杂,嵌套了其他标签如 <span> <table> 这种,就很难转换好,不知道有什么方法或转换策略能缓解这种情况。


我的看法

span和table没有对应的markdown语法(table有变种markdown语法)

包括html的属性 class等等也没有markdown对应

所以转换的时候通常只能舍弃或者直接保留html(因为markdown支持直接内嵌html)

作为通用解决方案,我觉得很难找到更好的方法了,但聚焦到独立的场景,打比方说希望<span class="strong>word</span> => **word** 的话还是很容易实施的,可以用cheerio之类的dom工具预处理,抓span.class先转换成strong标签然后再送到开源的通用html2md实现里即可


有哪些知名的网站是通过建站程序或建站程序二次开发搭建的?

问题 by 路西llq

我想建一个兴趣站,类似创业邦,时光网,铁血网这样的网站能通过建站程序做到吗?我目前有学过建站,仍感觉无从下手,想知道建站程序能不能胜任,或者又只能等团队组建好了再开始做?


我的看法

题主已经问过多次此类问题了

我想说无论你问多久,问什么,你的站都不会突然就建起来了

如果你打算自己搞定技术方面,那么就赶紧去学技术 如果你打算找人搞定技术方面,那么就赶紧去找技术合伙人

如果你拿不定主意,我建议找人搞定。

至于到底用开源合适还是自己写合适,这完全看你的预算和规划,虽然可能95%的情况都是开源合适


这是我在 SegmentFault 上的问题回答选编,遵循CC BY-SA 3.0 CN 分享

题图:万智【召集战团】

©mcfog All rights reserved.