之前在Component Party上看到了 Mithril 这个框架,受它启发还自己做了一个半成品(仓库),后来发现风格类似的还不少,比如 Hyperapp 。为什么这种框架一直不温不火呢?
注:本人承认自己才疏学浅,对其它框架及其用户没有恶意 本人作为一名初出茅庐的新手,确实喜欢这种风格,并对 JSX 心存疑虑,对 Svelte 的诸多“魔法”有所敬畏,但持完全开放的态度。如果可以的话,还请各位指出一下我的那个所谓半成品框架存在何种问题,能做何种改进,或者是否有存在的必要。
无由会晤,不任区区向往之至。
1
secondwtq 152 天前
一个 random 的框架,没人用才正常,能做到“不温不火”和很火的都是 outlier 。
你首先得给我一个用它的理由,相比于 React ,它有哪些优势呢? |
2
Leviathann 152 天前
函数式框架
那不就是 elm ?这甚至是一门语言 |
4
RedNax 152 天前
对于新框架第一个疑问就是生态。
没有 React 、Vue 、Angular 的生态,谁敢在生产环境中用这些新框架? 然后就是先有鸡还是先有蛋的问题了。 React 、Vue 、Angular 的成功要么是那个时间点没有更好的选择,要么是背后有超大金主在强推,现在站稳了,其他框架要崛起哪有那么容易。 |
5
wujianhua22 152 天前
因为搞前端的人总想造轮子,无非就是想证明自己技术了得,但又没办法解决啥行业痛点。如果造的轮子能和 angularjs 这种打破 jq 时代的神话一样,那么你的轮子就会火起来啊。如果只是在这些巨人的肩上造了一些你自己所谓的语法糖轮子,我不认为会火。
|
6
zhuangzhuang1988 152 天前
调试(inspect)功能呢,
没有调试功能的框架我都当黑盒子,总不能一直 log 调试法 |
7
nziu 152 天前
看了下代码示例,这跟 React 不使用 JSX 有什么区别吗?(不是很懂前端,没有阴阳怪气)
|
8
kneo 152 天前
说下你口中的“函数式”是什么意思。不会就是去掉 jsx 吧……你用 React 也可以用 React.createElement:
import { createElement } from 'react'; function Greeting({ name }) { return createElement( 'h1', { className: 'greeting' }, 'Hello' ); } 我不想使用工具链的时候就是这么写的。 Vue 也一样: import { h } from 'vue' const vnode = h( 'div', // type { id: 'foo', class: 'bar' }, // props [ /* children */ ] ) 需要动态创建组件的时候经常会这么写。 这些都是框架最表面的一层,甚至都算不上框架的一部分(更像是工具链的一部分)。你使用了 React.createElement 或者 h 其实并不能增加多少你对底层机制的理解。我也不觉得对生产力提升有帮助,反而会极大影响可读性。写多了你就腻了。 唯一的优势,就是当你自己想山寨一个“半成品”的时候,可以省一步转译。 |
9
XCFOX 152 天前
真喜欢函数直接用 React 就可以了。React 在 16.8 引入 hook 之后已经是函数式完全体了。
React 连组件都是拿函数声明的,state 、reducer 、hook 无不体现函数式的思维。粗看下来 Mithril 的组件还是拿对象来声明,没有贯彻太多函数式的思维。 Mithril 自娱自乐也凑活,真拿来写项目还缺少 路由、状态管理、组件库、SSR 这些必要功能。 |
10
hwf 152 天前
点进去看了眼, 这要是能火才奇怪, 相比 react 没什么优势, 不想写 jsx 可以直接用 createElement, 语法还比这个简单
|