V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aleen42
V2EX  ›  程序员

当我这枚前端看到这篇文章时, ...

  •  
  •   aleen42 ·
    aleen42 · 2016-12-12 11:53:59 +08:00 · 3897 次点击
    这是一个创建于 2697 天前的主题,其中的信息可能已经有所发展或是发生改变。

    heat distortion

    这里我转一篇有关前端 WebGL 的文章, 并且我认为这篇文章值得我们去反省, 我们仅仅甘于简单的页面开发吗?

    文章已经被整理并收录在一下的地址: https://github.com/aleen42/PersonalWiki/blob/master/post/heat_distortion/heat_distortion.md

    若你想直接跳过这篇英文而直接看作者到底都干了些啥, 那直接上 Demo: https://tympanus.net/Tutorials/HeatDistortionEffect/

    虽然我对 WebGL 并不熟悉, 而且连一个入门阶段都未达到. 但是, 既然看到了这篇好文, 理应跟大家分享一下.

    第 1 条附言  ·  2016-12-13 10:33:52 +08:00
    Code is content based, but not browser based. 不要总想着代码能兼容于所有的运行环境,因为时代总会往前迈进。难道你还为旧版浏览器的兼容性而放弃前行吗?当然不行。参阅最近的翻译《 WebGL 的潜能》: https://github.com/aleen42/PersonalWiki/blob/master/translation/webgl_potential/webgl_potential.md
    26 条回复    2016-12-16 08:18:14 +08:00
    tvallday
        1
    tvallday  
       2016-12-12 12:25:57 +08:00
    显卡不支持 WebGL 的表示什么都看不见。
    shellcodecow
        2
    shellcodecow  
       2016-12-12 12:46:08 +08:00
    加入收藏 谢谢分享..
    imn1
        3
    imn1  
       2016-12-12 12:47:05 +08:00
    前端其实就是 IT 行业的工业设计,就像社会分工一样,随着技术发展, IT 的“工业设计”也逐步细化分工
    工业设计在其他实物产品的行业,也是本世纪从贴牌到自主品牌后,厂家从无知到重视的
    IT 也一样,当开始重视自有品牌,技术成熟后,就不能仅局限于展示数据了,而更多要考虑 怎么 展示

    WebGL 只是其中一种方式,还有更多可能
    q397064399
        4
    q397064399  
       2016-12-12 12:54:32 +08:00
    前端干好自己该干好的东西就好了,
    这种极其依赖操作系统图形子系统的玩意,让前端来玩不就玩坏了
    你用前端开发个 大型 3D 游戏试试,开发个 CAD 试试
    aleen42
        5
    aleen42  
    OP
       2016-12-12 12:58:27 +08:00
    @tvallday hhhh, 赶紧换显卡
    ianva
        6
    ianva  
       2016-12-12 12:58:49 +08:00
    应该说我们仅仅甘心于前端开发吗?
    aleen42
        7
    aleen42  
    OP
       2016-12-12 13:01:13 +08:00
    @q397064399 轻量点的东西我们还是可以尝试的。毕竟目前硬件上来了,难道你不喜欢把这种东西做得更为轻吗?
    aleen42
        8
    aleen42  
    OP
       2016-12-12 13:02:25 +08:00
    @ianva 只看技术的人,估计就会说我只甘于做技术。这屁事根本就是设计师的活= =
    aleen42
        9
    aleen42  
    OP
       2016-12-12 13:07:16 +08:00
    @q397064399 其实个人觉得,这种东西让前端来玩并非会玩坏,也跟该干好的并无冲突。纯属是一种业余学习,且知识层面能大一点。
    xjp
        10
    xjp  
       2016-12-12 13:21:56 +08:00 via iPhone
    很早以前就感觉 canvas webgl 和 jquery angular 这些开发页面用的东西不是在同一个前端体系中的 同一个语言也有很多方向啊
    aleen42
        11
    aleen42  
    OP
       2016-12-12 13:23:25 +08:00
    @xjp 是不是感覺到學海無涯= =
    q397064399
        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 快速开发工具 上手速度有多快,就知道前端目前有多荒凉
    aleen42
        13
    aleen42  
    OP
       2016-12-12 13:32:34 +08:00
    @q397064399 hhh 正解.
    q397064399
        14
    q397064399  
       2016-12-12 13:36:38 +08:00
    @aleen42 真的,你有机会去学习下 C#的 winform 或者 delphi ,你会发现那些快速开发工具 做出来的 GUI 交互
    学习成本是 前端的一半都不到
    aleen42
        15
    aleen42  
    OP
       2016-12-12 13:42:18 +08:00
    @q397064399 嗯嗯,的确是。接触过前端有关图像处理这块后,我发现,的确前端这块对于 GUI 交互缺少好的轮子。而且,全都需要自己去从底层造。可悲!
    aleen42
        16
    aleen42  
    OP
       2016-12-12 13:46:32 +08:00
    @q397064399 不过现在,前端这块不是有国外的一些厂商开始造工具吗?我比较欣赏 Adobe 对这块所做出的贡献。
    tvallday
        18
    tvallday  
       2016-12-12 15:49:59 +08:00
    你可以先试着用 WebGL API 写一个 Text Input 出来。我事先真没想到写一个这么小的东西居然要这么多代码。感觉回到没有图形界面的石器时代。
    aleen42
        19
    aleen42  
    OP
       2016-12-12 15:55:32 +08:00
    @tvallday 我在看作者的文件都看暈了. API 一大堆, 還要一個個去查 MDN 的手冊= =心酸
    aleen42
        21
    aleen42  
    OP
       2016-12-12 16:40:25 +08:00
    @begoingtodo 使用 Unity 3D 写的吧?
    zjqzxc
        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 里没查到那个函数)
    aleen42
        23
    aleen42  
    OP
       2016-12-13 10:31:03 +08:00
    @zjqzxc 哥们,对于此问题我们可以看一下我之前所翻译的一篇文章《 WebGL 的潜力》: https://github.com/aleen42/PersonalWiki/blob/master/translation/webgl_potential/webgl_potential.md

    我挺喜欢作者所提出的其中一个观点:代码基于内容,而非基于其运行环境(浏览器)

    code is then content based, not browser based

    若我们总局限于运行的环境,那么终将只会导致我们在开发过程中怕这怕那。那么,该领域怎么会有所发展呢?
    rashawn
        24
    rashawn  
       2016-12-13 12:30:10 +08:00 via iPhone
    可以先了解 three.js babylon.js whitestorm.js
    rashawn
        25
    rashawn  
       2016-12-13 12:31:11 +08:00 via iPhone
    I'm 图形这块就算不涉及 shader 也有很多数学上的东西
    zjqzxc
        26
    zjqzxc  
       2016-12-16 08:18:14 +08:00
    @aleen42 我并没有否认 webgl 的潜力,也看好它的未来;只是在现在并不好用(敢用),但我同时也提到了可以(应该)现在开始进行技术储备。

    简单来说,比如我用一周四级基于 three.js 开发了一个 demo 领导说效果可以,但是客户们大多通过微信直接打开的,而微信内置的那个傻逼浏览器却无法正常显示。调试了好久发现只能花两个月时间用原生 api 重写这个 demo 。最后结果是达到了,但成本却成倍提高。

    写业务代码是为了(给自己 /给公司)挣钱,一味地追新技术,费时费力容易踩坑,会把公司拖死的。
    当然,如果是行业巨头有足够钱用来给未来做技术储备这种情况除外。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1070 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:49 · PVG 07:49 · LAX 16:49 · JFK 19:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.