V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
这是一个专门讨论 idea 的地方。

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

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
liang96

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

  •  
  •   liang96 · Jul 17, 2019 · 5174 views
    This topic created in 2479 days ago, the information mentioned may be changed or developed.
    感觉很多 框架 都是为了解决 javascript 先天不足这一问题存在的.
    新版的 ECMAScript 也是不停的在上面摞东西.

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

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

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

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

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

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

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

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

    @liang96 操作 DOM 是有 js 的,wasm 直接操作 DOM 需要等 GC 提案先完成,看现在的进度,参考 tc39 的实现速度和浏览器跟进速度,大概 2025 年就可以在 WASM 里面直接访问 DOM 接口了
    wvitas
        19
    wvitas  
       Jul 18, 2019
    flutter web 不就可以么
    liang96
        20
    liang96  
    OP
       Jul 18, 2019
    @wvitas #18 多谢, 这个东西也很不错
    dragonszy
        21
    dragonszy  
       Jul 18, 2019   ❤️ 1
    Elm 算么
    yuankui
        22
    yuankui  
       Jul 18, 2019   ❤️ 1
    dart: 是在说我么。。
    bertonzh
        23
    bertonzh  
       Jul 19, 2019
    楼主先排除了 WASM,然后又说「直接编译成二进制或者字节码」,你到底想怎样?这就不是新出一个语言的问题了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   981 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 92ms · UTC 23:07 · PVG 07:07 · LAX 16:07 · JFK 19:07
    ♥ Do have faith in what you're doing.