Markman 最近的时间轴更新
Markman

Markman

V2EX 第 138831 号会员,加入于 2015-09-18 10:18:07 +08:00
马克鳗+PP鸭
Markman 最近回复了
@sethverlo 谢谢帮忙查错,已改正
@iConnect 嗯,有可能,说明阿里云对客户业务的影响看的比较淡
@lulinux 问题是我们一直都备案着的
2016-12-17 16:08:20 +08:00
回复了 iShawnWang 创建的主题 程序员 sketch-measure & 马克鳗 技术实现 ~
两个原理可能不一样, sketch-measure 是利用图层的坐标信息(猜的),马克鳗是对比像素差异,找到骤变的相邻像素作为边界。
2016-08-12 23:44:20 +08:00
回复了 FrankFang128 创建的主题 JavaScript 为什么我不喜欢「前后端分离」(个人观点,欢迎来喷)
貌似题主其实问的是:渲染应该是后端搞还是前端搞?
2016-08-12 23:11:46 +08:00
回复了 FrankFang128 创建的主题 JavaScript 为什么我不喜欢「前后端分离」(个人观点,欢迎来喷)
讨论好火热啊。
我从 2000 年开始用 HTML 写网页, 03 年开始用 ASP , 07 年开始用 python 写网站。
现在后端用 Tornado(python),前端用 vue+bootstrap+webpack ,很喜欢现在的开发方式。

从一开始就是自己一个人开发。
现在也是自己前后通吃,但即使是我自己一个人开发,我也是用前后端分离的方式。
没有什么酷炫的原因,只是这样做更加有序,效率更高而已。


1. 谁来负责页面渲染?
界面可以由 JS 渲染,也可以由 Server 端渲染,界定不明确的话我自己都不知道应该写哪端的代码。
题主是倾向于在后端写,减轻前端的负担。
但是问题是,后端可以不处理页面,只处理纯数据,由 JS 渲染;但是反过来,但凡是稍微讲究一些体验的话,就没避免用 JS 来和界面打交道。
所以在我看来,答案很明显,界面和交互,交给 JS ;数据交给后端。
这种分工,项目更容易维护(即使是一个人项目)。

2. 为什么用 React , jQuery+PHP 不是也一样吗?
基于问题 1 的答案, Server 端已经不负责生成 HTML 了,所以如果用 jQuery 来拼接 HTML 的话,是很繁琐的。
于是就有了 React/Vue 这类的前端框架,可以将重复的代码逻辑封装为组件,用类似<input>这样加标签的方式,在页面中添加自定义的高级控件,而且 HTML/JS/CSS 都可以在一处定义(需要 webpack 协助),又进一步给项目带来了秩序。


再针对题主第 8 条附言发表一下看法:
1. 一个人知道整个业务。任何业务问题,马上解决。
前后端分不分离和和分工没有必然关系,我一个人也前后端分离,一个人也知道整体业务。
反而因为前后端分工明确,有问题更容易定位,解决效率更高。

2. 代码量少。同样的逻辑不需要写两遍(相比浏览器渲染而言)。
前后端分离了,后端没有展现逻辑,同样的逻辑才不需要写 2 遍。
如果你是指验证类的逻辑的话,确实前后端都写的现象也存在,但是也不是必须,牺牲体验的话,可以只由后台验证。
如果要 SEO , React 火的一个原因也是同一份代码可以供后台渲染用,不需要写 2 遍。

3. 也能支持多端。/data 分 /data.json 和 /data.html 两种表现( RESTful )
/data.html 也是多余的。
如果做 app/客户端也用 web 技术,也要利用服务器端提供的 data.html 吗?
客户端更新了怎么办?服务器端同时存着所有版本的 data.html 模板吗?

4. 简单。所有概念都来自 W3C 标准,没有那些私有的概念(我说的就是 Virtual DOM )
Virtual DOM 并不是强制需要理解的概念,只是用来解释 React 原理的,不知道 Virtual DOM 的情况下用 React 毫无障碍。
而且 React 也是在往 W3C 标准靠( JSX 主要作用就是可以用接近 HTML 的写法来写 React ),相比直接用 jQuery , React 封装好组件之后,用起来已经和原生 HTML 差不多了。

5. 省人力。多了 100% 的人力啊(分离需要两个人)
分离不需要 2 个人。
@taoche 不过测了几张 png 之后,发现压缩率是 PP 鸭更高
@taoche 看起来差不多,只是我们支持 png 和 jpg 两种格式
@pheyer 用客户端会方便很多
@pheyer 是在线的吗
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1995 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 16:20 · PVG 00:20 · LAX 08:20 · JFK 11:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.