V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
liang96
V2EX  ›  奇思妙想

除了现在这些风起云涌的前端框架, 会不会出现一种新的前端语言

  •  
  •   liang96 · 2019-07-17 08:10:41 +08:00 · 4575 次点击
    这是一个创建于 1991 天前的主题,其中的信息可能已经有所发展或是发生改变。
    感觉很多 框架 都是为了解决 javascript 先天不足这一问题存在的.
    新版的 ECMAScript 也是不停的在上面摞东西.

    webassembly 的构想很好, 但毕竟不如一种专用的新语言, 所以至今用 C 语言写 webassembly 还是不能直接操作 DOM

    TypeScript 也同样不够激进, 毕竟还要编译成 javascript.

    设想新的语言应该是这样的, 完全替换现有的 html css javascript 的功能, 直接编译成二进制或者字节码.
    必然的, 浏览器也要做专门的适配和改动.
    23 条回复    2019-07-19 22:10:55 +08:00
    zyxk
        1
    zyxk  
       2019-07-17 08:54:58 +08:00
    浏览器也要做适配的话,基本不会出现了吧

    新出的没浏览器适配,没人用,然后 GG 了。。。

    除非 google 来做?自己先把 chrome 适配了,或者适配后,再推出。
    kisshere
        2
    kisshere  
       2019-07-17 09:01:57 +08:00
    未来十年,jQuery 永远是你大爷
    liang96
        3
    liang96  
    OP
       2019-07-17 09:20:28 +08:00
    @zyxk 必然只能有实力的公司来做. 如果还要兼容旧浏览器的话就没有革命性的进步了
    liang96
        4
    liang96  
    OP
       2019-07-17 09:20:46 +08:00
    @kisshere jQuery 和直接写 javascript 差不多吧
    muzuiget
        5
    muzuiget  
       2019-07-17 09:34:26 +08:00
    其实前端框架也算是一种语言了,不过叫 DSL 罢了。
    maplerecall
        6
    maplerecall  
       2019-07-17 09:45:23 +08:00 via Android
    目前来说不太现实,你的设想类似以前的 Java application、ActiveX 或 Flash,他们都是(曾)被浏览器支持的,被编译为二进制可独立运行,因为包含完整独立的 GUI 和逻辑层,完全可以替代原生三大件。但是它们都被淘汰了。

    并不是说需要预编译再运行的才是好的,相反基于解释型和运行时编译代码的网页,在目前大多数情况下是更好的选择。
    liang96
        7
    liang96  
    OP
       2019-07-17 09:57:54 +08:00
    @maplerecall Java application、ActiveX 没有统一起来,需要装东西体验不好, 尤其是 ActiveX 被流氓利用了。

    记得 ActiveX 没有界面。
    Flash 资源占用太大, 始终是个插件
    Java application 确实有点意思了, 但记得界面不好看。
    这三个还有个问题是开发起来不那么容易。

    webassembly 运行 windows 2000 都玩出花了 /t/481851 但是它的网络连接还是要用 websocket,这限制了很多东西。
    而且界面用得 webgl, 增加了点开发难度。
    luoway
        8
    luoway  
       2019-07-17 11:25:35 +08:00
    去瞅瞅 Dart,就会发现 html、css、js 真香了
    otakustay
        9
    otakustay  
       2019-07-17 11:50:18 +08:00
    除非 wasm 有足够的能力,不然总归要编译到 JS,会被楼主定义为“不够激进”
    不过随着 edge 和 chrome 整合,根据 V8 的占有率,这事也可能有变化(上帝保佑不是 dart ),看 mozilla 啥时候死,apple 啥时候搞不动他自己的引擎
    liang96
        10
    liang96  
    OP
       2019-07-17 11:52:21 +08:00
    @luoway
    @otakustay
    我还是期待重新开一个炉子重新烤串
    liang96
        11
    liang96  
    OP
       2019-07-17 11:53:02 +08:00
    @otakustay
    @luoway
    就像当年刚出现 chrome 的时候那样, 给大家一个惊喜, 要真正的惊喜
    santom
        12
    santom  
       2019-07-17 12:25:35 +08:00 via Android
    dart/flutter web 好像是通过转换成 canvas ? 但是那种 ui 嵌套写着感觉有点难受 尤其是 ui 参数配置样式的时候 ,可能还是不习惯吧
    jsq2627
        13
    jsq2627  
       2019-07-17 12:42:59 +08:00
    aspnet/blazor 了解下
    atwoodSoInterest
        14
    atwoodSoInterest  
       2019-07-17 13:20:28 +08:00
    网页要的就是速度,编译型语言不是很适合。就目前来看,webassembly 已经是个很好的解决方案了。
    webassembly 是可以操作 dom 的啊,不知道你指的不能操作是什么意思。
    这有个文档说的很清晰: https://www.jianshu.com/p/bff8aa23fe4d
    liang96
        15
    liang96  
    OP
       2019-07-17 13:22:40 +08:00
    @atwoodSoInterest #14 用 webassembly 的情况下 rust 可以操作 dom, 但是 C 还不行
    v23x
        16
    v23x  
       2019-07-17 13:53:10 +08:00
    你说的是 dart 吗..
    userdhf
        17
    userdhf  
       2019-07-17 14:28:03 +08:00
    插眼插眼插眼。。。
    azh7138m
        18
    azh7138m  
       2019-07-17 17:24:26 +08:00   ❤️ 1
    @v23x chrome 已经放弃集成 Dart VM 了

    @liang96 操作 DOM 是有 js 的,wasm 直接操作 DOM 需要等 GC 提案先完成,看现在的进度,参考 tc39 的实现速度和浏览器跟进速度,大概 2025 年就可以在 WASM 里面直接访问 DOM 接口了
    wvitas
        19
    wvitas  
       2019-07-18 10:06:26 +08:00
    flutter web 不就可以么
    liang96
        20
    liang96  
    OP
       2019-07-18 10:16:21 +08:00
    @wvitas #18 多谢, 这个东西也很不错
    dragonszy
        21
    dragonszy  
       2019-07-18 15:57:08 +08:00   ❤️ 1
    Elm 算么
    yuankui
        22
    yuankui  
       2019-07-18 22:34:35 +08:00   ❤️ 1
    dart: 是在说我么。。
    bertonzh
        23
    bertonzh  
       2019-07-19 22:10:55 +08:00
    楼主先排除了 WASM,然后又说「直接编译成二进制或者字节码」,你到底想怎样?这就不是新出一个语言的问题了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   930 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:54 · PVG 05:54 · LAX 13:54 · JFK 16:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.