分享本人对 Web 前端开发的看法,比较偏门的视角

2016-01-17 18:01:51 +08:00
 civet
http://made.withflash.net/2016/01/17/wtf-is-web-development/

最近郁闷着准备找新工作,充电之余写了点牢骚话
某些术语用得不太准确,请无视
因为个人涉足的领域有限,可能某些地方理解较肤浅,比较主观
但我不是来伤害某些人的感情的,欢迎评论及提 issue
8010 次点击
所在节点    JavaScript
73 条回复
wizardforcel
2016-01-17 18:09:33 +08:00
flash 漏洞百出 各种本地 io 浏览器沙箱模型碰到它基本就成摆设了 我真不知道 adobe 一家之力是怎么让 flash 活过来的还活得这么好

另外你要是黑任何一门语言都有理由 比如:

php 的特性坑和标准库坑太多
py 版本分裂
java 语法冗长 标准库接口设计反人类
c#生态不好 社区太少遇到问题只能找微软
c++的模板可读性差编译效率低下
c 语言字符串处理弱 轮子少需要手写数据结构 posix api 还不兼容

等等等等。。。
civet
2016-01-17 18:16:36 +08:00
@wizardforcel 我没打算黑语言。你说 Flash 漏洞百出,你也可以套到任何一个软件上面。因为 Adobe 有做工作,所以 Flash 能活
jokcy
2016-01-17 18:20:21 +08:00
确实理解得比较肤浅,而且很主观~
wizardforcel
2016-01-17 18:21:02 +08:00
@civet 从安全中心收到 issue 的数量来看, flash 漏洞的确要多很多。况且 flash 是跟 jvm 一样的平台级的东西,如果 jvm 隔几天就报一个安全问题,你怎么看?
civet
2016-01-17 18:26:37 +08:00
@wizardforcel 我理解你的意思就是说,漏洞百出的技术就渣,完毕。没有 HTML5 之前,大家要做网页应用是怎么做的? Java 也有因漏洞问题被屏蔽过的历史,而且大苹果也有份
jamiefang
2016-01-17 18:32:48 +08:00
支持楼主的想法。有不一样的意见挺好。
我也认为前端在工程化上走火入魔,而忽视从产品和用户的角度发现/解决问题。
civet
2016-01-17 18:36:13 +08:00
@jokcy 谢谢。 这里还有一篇老外写的 http://t.cn/R4ptBK0
wizardforcel
2016-01-17 19:06:06 +08:00
好吧。那就忽略你黑 js 的那些话。其实我觉得 js 是个尝试,现在有太多的基于继承的 OO 语言(也就是狭义上的 OO ), js 是个异类,换个口味,不是很好嘛。虽然 js 有些东西的确很渣,但起码是一次尝试,值得鼓励。

前端 mvc 实际上就是把 b/s 写成 c/s 。模板的组装是肯定要有的,你不在前端组装就在后端组装,工作量是一样的。在前端组装就省了服务端的部分压力。而且这样一来服务端就只需要提供 json 形式的接口,假如以后要开发移动端,后端也不需要变任何东西。
learnshare
2016-01-17 19:09:35 +08:00
本来的 Web 是为了呈现内容,现在硬是做成 App 了。
wizardforcel
2016-01-17 19:16:23 +08:00
@learnshare 我觉得只是为了呈现内容的话,发明电视就够了,没必要有计算机。计算机就是为了交互而生的。


@civet 简直黑没黑到点子上。 node.js 的最大黑点就是单线程异步模型。如果把它托管给 apache 或者 nginx ,然后应用这边就相当于是同步的了,代码逻辑也能理顺。作者却拿 node 的包说事,好像 python 写个什么东西都不需要包似的。
k9982874
2016-01-17 19:16:59 +08:00
我赞同撸主的看法,现在的 JS 和几年前的 AS3 很像。

AS3 让一大波做动画的华丽变身成程序员,拿着超高的薪水,每天制造着垃圾代码。

现在的 NodeJS 出现让一大波做网页的华丽变身成后端工程师,甚至架构师,还是一样拿着超高的薪水,制造着垃圾产品。

我不针对 AS3 JS 或 NodeJS ,技术无罪。但是我鄙视那些趁火打劫,拉低整个程序员职业社会地位的乐色。

libuv 你吃透了么? epoll iocp select 等 io 模型理解了么?
aivier
2016-01-17 19:45:52 +08:00
不是每个公司都会专门去招一个 C++码猴去改 Webkit 核心与网页内容交互

可以说我是第一个把新技术带给现在所在的公司的前端,在这之前他们是无法想象让自家的网页版应用与系统整合完成一些特殊的功能的

入门成本低确实会带出来很多只会写 jQuery 的人,但是也不能因此觉得 Web 技术不能做 App 吧,一个人也可以搞定一个网站+客户端了,哪里不好呢?
如果你是觉得前端写不好代码,那么写后端的大牛还是不要碰界面相关的东西了,审美那么差,写什么界面,难用的要死
luoway
2016-01-17 20:02:00 +08:00
http://made.withflash.net/assets/img/20160117-javascript-everywhere.jpg
English !

单页应用能减少页面跳转,这一点就让体验上升了一个层次。
至于弄丢了的历史记录,加个 route 记录管理就好了。

web 页面的基础是浏览器, App 的基础是 OS , web 前端所做的这一切工作是为了使 web 体验更接近 App ,并超越 App(无需安装,兼容多平台)。
说了这么多,怎么实现呢?只有 HTML 、 CSS 、 JavaScript 可以实现上述需求。

“什么都用 JavaScript 去解决问题”,因为“制作 App 不再需要懂 Java 或者 Objective-C/Swift 了”。
“也就是说 JavaScript 要升级了”,因为需求膨胀了。
luoway
2016-01-17 20:03:05 +08:00
luoway
2016-01-17 20:03:41 +08:00
chemzqm
2016-01-17 20:10:50 +08:00
这个语言一直这样,上限特别高,下限特别低,只不过现在用的人更多了,玩的花样也更多了。
最近又重温了一下老道的演讲 <amp-youtube data-videoid="hQVTIJBZook" layout="responsive" width="480" height="270"></amp-youtube>
只能说讲的实在太好了
maddot
2016-01-17 20:13:04 +08:00
那堆东西确实搞起来好麻烦啊,两者比较我宁愿去用 swift 写原生的
Pastsong
2016-01-17 20:25:24 +08:00
感觉像是把英文那篇的观点复述了一遍,而且理解还比人家浅...
civet
2016-01-18 10:05:33 +08:00
@wizardforcel 说得对, Web 做成 App 的需求是有的,对 App 模式的局限性进行互补。 Flash 早就是用 C/S 模式运作的,我明白 SPA 的意思。但是你说模版肯定要有我不太认同,那是后台开发引入的概念,前端/客户端开发者应该更熟悉的概念应该是 UI 组件,就像 App 开发时用的那些。所以我想吐槽 Angular

@k9982874 @aivier 本来需要分工的却凑在一块,对应领域相关知识不是说换工具那么简单,要是这样的话给你一把菜刀就能当厨师。一个新技术出来不是不好,往往就是形成了误导之后,各种误用

@luoway Routing 的概念对应用开发其实不是必须的,那是因为考虑浏览器的问题,前进后退历史这些。 Flex 框架也出现过类似的东西叫 deep linking

@chemzqm 明智的人当然分得清 Good or Bad 但不是所有人水平都一样,对于 JS 这种弱类型、自由度又异常高的语言,没有规范的前提下ˊ_>ˋ
civet
2016-01-18 10:11:22 +08:00
@chemzqm 谢谢你提供视频的视频链接 看来我不应该只说 most popular...
The World's Most Misunderstood Programming Language 这个头衔更贴切

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/251383

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX