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

2019-07-17 08:10:41 +08:00
 liang96
感觉很多 框架 都是为了解决 javascript 先天不足这一问题存在的.
新版的 ECMAScript 也是不停的在上面摞东西.

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

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

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

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

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

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

@liang96 操作 DOM 是有 js 的,wasm 直接操作 DOM 需要等 GC 提案先完成,看现在的进度,参考 tc39 的实现速度和浏览器跟进速度,大概 2025 年就可以在 WASM 里面直接访问 DOM 接口了
wvitas
2019-07-18 10:06:26 +08:00
flutter web 不就可以么
liang96
2019-07-18 10:16:21 +08:00
@wvitas #18 多谢, 这个东西也很不错

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

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

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

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

© 2021 V2EX