随着 JSX 大火,是不是意味着前端重新发明了 PHP 语言?

2021-06-18 16:04:02 +08:00
 3dwelcome

React JSX 以代码精炼著称,但 XML 又没有版权,各种框架纷纷效仿。

JSX 是 JS 里嵌套 HTML 标签,和 PHP 的 HTML 标签里嵌套代码,两者有点殊途同归的感觉。

前端发展了那么多年,最终还是没能逃出 PHP 语法的影子嘛。

有人会说 PHP 是后端语言不一样,但其实随着这些年 WASM 普及,前端早就可以嵌入 PHP 了。

3369 次点击
所在节点    前端开发
28 条回复
3dwelcome
2021-06-18 18:16:12 +08:00
@Jirajine "后端语言里套的是模板,数据更新了就得重新请求整个页面。"

时代变了,你可能不太清楚,现在 HTML 可以和 PHP 混写。

<script type = "text/php">
<?php echo "Hello, world!";?>
</script>

只需要 npm install php-wasm, 就那么简单
Jirajine
2021-06-18 18:44:31 +08:00
@3dwelcome 这样用显然不是“后端语言”。
nodejs 和浏览器里的 js 是不同的东西。
wanguorui123
2021-06-18 19:02:07 +08:00
我最讨厌在 XML 里写一堆判断和控制逻辑语法,JSX 这种代码堆久了,写法不克制,维护只会越来越麻烦
Desiree
2021-06-18 19:43:46 +08:00
引战帖,鉴定完毕
otakustay
2021-06-18 19:52:26 +08:00
@murmur 那啥,jsx 不需要 loader,需要 babel 插件……你可别说得好像用些 ES 的新语法也要 babel-loader 最后为什么 ES 不多做一些
akira
2021-06-18 21:35:36 +08:00
和 php 没啥关系,以前的 asp jsp 还不是一样的各种 html 到处飞。 只能说,人都是趋于偷懒的写法的
Cbdy
2021-06-19 15:50:41 +08:00
@murmur

一方面,自古以来没有写过 className ?那 HTMLElement.prototype.className 是啥? HTMLLabelElement.prototype.htmlFor 是啥?

另一方面,React 的 JSX 用 class 不能用吗?可以用的大兄弟,React 没有规定一定要用 className
shilianmlxg
2021-07-16 15:13:17 +08:00
又想到之前认识一个“大佬”
因自己写 jsp
所以自己的职位定义的是全栈

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

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

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

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

© 2021 V2EX