这里我转一篇有关前端 WebGL 的文章, 并且我认为这篇文章值得我们去反省, 我们仅仅甘于简单的页面开发吗?
文章已经被整理并收录在一下的地址: https://github.com/aleen42/PersonalWiki/blob/master/post/heat_distortion/heat_distortion.md
若你想直接跳过这篇英文而直接看作者到底都干了些啥, 那直接上 Demo: https://tympanus.net/Tutorials/HeatDistortionEffect/
虽然我对 WebGL 并不熟悉, 而且连一个入门阶段都未达到. 但是, 既然看到了这篇好文, 理应跟大家分享一下.
1
tvallday 2016-12-12 12:25:57 +08:00
显卡不支持 WebGL 的表示什么都看不见。
|
2
shellcodecow 2016-12-12 12:46:08 +08:00
加入收藏 谢谢分享..
|
3
imn1 2016-12-12 12:47:05 +08:00
前端其实就是 IT 行业的工业设计,就像社会分工一样,随着技术发展, IT 的“工业设计”也逐步细化分工
工业设计在其他实物产品的行业,也是本世纪从贴牌到自主品牌后,厂家从无知到重视的 IT 也一样,当开始重视自有品牌,技术成熟后,就不能仅局限于展示数据了,而更多要考虑 怎么 展示 WebGL 只是其中一种方式,还有更多可能 |
4
q397064399 2016-12-12 12:54:32 +08:00
前端干好自己该干好的东西就好了,
这种极其依赖操作系统图形子系统的玩意,让前端来玩不就玩坏了 你用前端开发个 大型 3D 游戏试试,开发个 CAD 试试 |
6
ianva 2016-12-12 12:58:49 +08:00
应该说我们仅仅甘心于前端开发吗?
|
7
aleen42 OP @q397064399 轻量点的东西我们还是可以尝试的。毕竟目前硬件上来了,难道你不喜欢把这种东西做得更为轻吗?
|
9
aleen42 OP @q397064399 其实个人觉得,这种东西让前端来玩并非会玩坏,也跟该干好的并无冲突。纯属是一种业余学习,且知识层面能大一点。
|
10
xjp 2016-12-12 13:21:56 +08:00 via iPhone
很早以前就感觉 canvas webgl 和 jquery angular 这些开发页面用的东西不是在同一个前端体系中的 同一个语言也有很多方向啊
|
12
q397064399 2016-12-12 13:25:42 +08:00
@aleen42 涉及到的领域不一样,真心的,前端并不需要多少图形学或者光照算法之类的知识,而这些才是图形计算领域的重点
前端跟 20 年前 GUI 交互并没有区别,那个时代的 C/S 软件模型,根本就没有前端这个说法, 基本上都是用户 GUI 交互 后台数据逻辑都是一个人能搞定,而且交互细节比现在的所谓的 web 前端交互细节还要复杂, C/S 死了原因很简单,跨平台很烂,软件更新比较烂,所以 web 才大行其道,连企业应用这种交互需求比较稳定的软件,都慢慢的全部移动到了 B/S ,足以说明 C/S 应用基本上死翘翘了 90 年代,好不容易出了个 Java ,大家都盼望着一统天下,写一次到处运行,结果呢? Java 自己搞了一套图形类库 Swing ,根本没法用,效率极低,此后 Java 基本上滚出了 GUI 交互领域, win 平台 桌面一直是 MFC 的天下,后来是 winform,因为类 unix 桌面市场比较小,基本上没人做,所以 GUI 交互跨平台慢慢滚出了人们的视线 现在分工比较明确,首先是因为前端工具不好用, 20 年了,前端至今没有造出一个像样的轮子,弄个像样点的页面 需要学习很多复杂的技术,看看 RAD 快速开发工具 上手速度有多快,就知道前端目前有多荒凉 |
13
aleen42 OP @q397064399 hhh 正解.
|
14
q397064399 2016-12-12 13:36:38 +08:00
@aleen42 真的,你有机会去学习下 C#的 winform 或者 delphi ,你会发现那些快速开发工具 做出来的 GUI 交互
学习成本是 前端的一半都不到 |
15
aleen42 OP @q397064399 嗯嗯,的确是。接触过前端有关图像处理这块后,我发现,的确前端这块对于 GUI 交互缺少好的轮子。而且,全都需要自己去从底层造。可悲!
|
16
aleen42 OP @q397064399 不过现在,前端这块不是有国外的一些厂商开始造工具吗?我比较欣赏 Adobe 对这块所做出的贡献。
|
17
serve99 2016-12-12 13:47:25 +08:00
|
18
tvallday 2016-12-12 15:49:59 +08:00
你可以先试着用 WebGL API 写一个 Text Input 出来。我事先真没想到写一个这么小的东西居然要这么多代码。感觉回到没有图形界面的石器时代。
|
20
begoingtodo 2016-12-12 16:17:10 +08:00
|
21
aleen42 OP @begoingtodo 使用 Unity 3D 写的吧?
|
22
zjqzxc 2016-12-12 17:50:48 +08:00
做过一段时间 webgl ,如 1 楼所说,浏览器兼容问题 /性能问题很头疼。现阶段做技术储备很不错,用来商用维护成本太高。
移动端蛋疼的微信内置浏览器, three.js,scenejs 用起来一堆问题; 桌面端除了 chrome 其他的都可能遇到蛋疼的问题,还不说目前广泛存在的 IE 系列; 如果没记错的话, webGL 基于 opengl es2.0 ,把一些 api 精简了,导致绘制光滑曲面非常扯淡(也可能是我技术不精,我记得是再 opengl 里某个函数可以直接调用就能完成的事儿,在 opengl es 里没查到那个函数) |
23
aleen42 OP @zjqzxc 哥们,对于此问题我们可以看一下我之前所翻译的一篇文章《 WebGL 的潜力》: https://github.com/aleen42/PersonalWiki/blob/master/translation/webgl_potential/webgl_potential.md
我挺喜欢作者所提出的其中一个观点:代码基于内容,而非基于其运行环境(浏览器) code is then content based, not browser based 若我们总局限于运行的环境,那么终将只会导致我们在开发过程中怕这怕那。那么,该领域怎么会有所发展呢? |
24
rashawn 2016-12-13 12:30:10 +08:00 via iPhone
可以先了解 three.js babylon.js whitestorm.js
|
25
rashawn 2016-12-13 12:31:11 +08:00 via iPhone
I'm 图形这块就算不涉及 shader 也有很多数学上的东西
|
26
zjqzxc 2016-12-16 08:18:14 +08:00
@aleen42 我并没有否认 webgl 的潜力,也看好它的未来;只是在现在并不好用(敢用),但我同时也提到了可以(应该)现在开始进行技术储备。
简单来说,比如我用一周四级基于 three.js 开发了一个 demo 领导说效果可以,但是客户们大多通过微信直接打开的,而微信内置的那个傻逼浏览器却无法正常显示。调试了好久发现只能花两个月时间用原生 api 重写这个 demo 。最后结果是达到了,但成本却成倍提高。 写业务代码是为了(给自己 /给公司)挣钱,一味地追新技术,费时费力容易踩坑,会把公司拖死的。 当然,如果是行业巨头有足够钱用来给未来做技术储备这种情况除外。 |