小程序开发终于迎来 React 生态的玩家: 京东 Taro

2018-06-08 08:17:33 +08:00
 banxi1988

https://taro.aotu.io/ http://github.com/nervjs/taro

一个月之前我在找小程序开发框架的时候,发现只有 Vue 生态的 mpvue 和 wepy。

当时一直在想为什么没有 React 风格的框架。今天终于看到了。 但是我已经选择了 mpvue 了。

初看了一下,虽然 taro 属于新发,但是配套其实比前 mpvue 完善一些。

暂时也不打算换了。毕竟跳车有风险。

TO mpvue 用户:

  1. 小程序 API 自动补全和类型提示,可以通过引入 wechat-mp-types 这个 TS 声明库来实现。
  2. 自动补全,代码片段的话也有 mpvue-snippets 库。
  3. 组件封装,我正在带一个叫 mpvue-starter 的库。里面正在做 weui 组件 + vue + 小程序组件的封装。
  4. 加入 mpex 包, 为你的小程序开发助力
10564 次点击
所在节点    前端开发
11 条回复
mryys
2018-06-08 09:28:50 +08:00
TouchUI 了解下?
my101du
2018-06-08 09:37:23 +08:00
支持 redux 是指必须引入 redux 和 @tarojx/redux 两个库吗?
不知道可不可以直接用 mobx。。。
Heavytiger
2018-06-08 09:49:15 +08:00
这个不错。希望早日支持 react native
my101du
2018-06-08 10:38:27 +08:00
看文档读到这块,感觉不支持这个挺麻烦啊。


和 React/Nerv 的不同:React 可以使用 ... 拓展操作符来传递属性,但在 Taro 中你不能这么做。例如:

const props = {firstName: ‘ Plus ’, lastName: ’ Second ’}
return <Greeting {...props} />

这样的操作会报错。你只能手动地把所有需要引用的 props 写上去: <Greeting firstName="Plus" lastName="Second" />
sunnygaofan
2018-06-08 12:29:31 +08:00
这个其实很需要,👍
exoticknight
2018-06-08 12:56:43 +08:00
react 的其实一直有还有不少,只是你们都觉得的有,是有所谓大公司背书的有。这一点上我是很佩服 vue,不像 angular 和 react 有大公司撑腰也抢到一定份额。
zzl
2018-06-08 12:59:51 +08:00
这个挺好,国内一些大厂就是爱搞什么小程序,马化腾一套类 vue,快应用一套类 vue,你们就不能直接用 vue 搞吗,这些大厂难道是没有技术吗,非得折腾我们前端,MD
coldsnap
2018-06-08 14:10:16 +08:00
就相对于自动补全而言,Taro 用的是 JSX 所以可以做类型推导,也不用装什么插件,vscode 默认就支持。

例如设置了 <Greeting /> 的 `name` 是一个字符串,那么在使用 <Greeting name={someVar} /> 时候编辑器会提醒你 `name` 是一个 `string` 类型,如果你用的是 TypeScript 输入错误的类型还会给你报错。这点是 Vue/wepy 这样基于字符串模板做不到的。

TypeScript 在一年前就有人提案要 template typing,但现在这个 feature 还没影子: https://github.com/Microsoft/TypeScript/issues/5151
如果哪天支持的话 Vue/Angular 也能得到模板的类型支持。

利益相关:
Taro 开发者
janxin
2018-06-08 16:41:11 +08:00
我看 lz 的意思是可以用 mpvue+TS 来开发?如何实现的?有没有新手入门教程?
banxi1988
2018-06-08 21:59:31 +08:00
@coldsnap 感谢回复,之前没有留意到 JSX 这方面的优势,可能跟已经习惯各种字符串模板了,后面多学习学习。vue 本身借助 babel 也是支持 jsx 的。mpvue 中没有试过。

@janxin mpvue 入门的话,mpvue 的官方文档有。 稍微了解了 mpvue 之后,可以看一下。
我准备的 mpvue-starter (本来仓库名是想写成 mpvue-ts-starter 的,但是想想,我认为最佳实践就是加 ts 所以就省略了)
janxin
2018-06-08 23:24:42 +08:00
@banxi1988 入门教程没有问题,主要是好奇 TS 的开发,我也认为这样是一个正确姿势。

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

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

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

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

© 2021 V2EX