跨平台开发可能带来额外的不确定性, 如果要用, 一定要有个好靠山

2019-09-28 10:04:52 +08:00
 iugo
跨平台一般宣传的优点在: 代码写一次, 运行在多处.

只是听上去挺好的, 但真正落地还是挺多问题.

我最近遇到的还不是这样的问题, 我只是想用我习惯的语言与框架开发, 都没想过运行在多处, 可是一样有问题.

包括 TypeScript 在内的各种语言编译为 JavaScript. 因为只涉及语言本身, 所以用起来没什么问题.

但涉及到 UI 结构的就不这么简单了.

- React Native.
- Flutter.
- 用 Python 语法开发小程序. (最近看到的)
- 以 React 语法开发小程序. (Taro, remaxjs)
- 以 Vue.js 语法开发小程序. (uni-app)

我喜欢 React 的抽象化思想, 目前团队也都是相关技术栈. 希望在开发微信小程序及钉钉小程序的时候也能用上 React. 目前计划在微信小程序上使用 Taro, 但是对于钉钉小程序, 在犹豫. 如果真考虑执行效率, 就直接写, 如果考虑开发效率, 为什么不 Next.js 呢?

在微信小程序上使用 Taro 很大一部分原因是因为京东商城微信小程序. 既然京东都可以在业务上使用 Taro, 我们这么小体量不会遇到比他们更多的问题. 我们把京东看作 Taro 靠山, 选择了信任.

但 Taro 并不原生支持钉钉小程序, 过往一些阿里系的东西最终的结果, 也都让我们不敢靠近. 以什么方式进行钉钉端应用的前端开发, 让我很犹豫. 目前我个人是倾向做网页的, 服务器端渲染可以用 Next.js.
2704 次点击
所在节点    程序员
9 条回复
blless
2019-09-28 11:22:20 +08:00
你说的是客户端前端吧,服务端后端不带 gui 的程序基本就跟 cpu 架构相关了,这块也语言层面就支持了,加上 docker 之类的大杀器,跨平台已经是基本操作了
lidfather
2019-09-28 11:27:16 +08:00
@blless docker 跟跨平台没关系
Raymon111111
2019-09-28 11:35:17 +08:00
真正落地?

java?
geekdocs
2019-09-28 11:55:36 +08:00
我们在用 Flutter~
imicksoft
2019-09-28 11:56:09 +08:00
今天刚看到一个 ring-lang,支持多平台,UI 用的 QT
zhangdszq
2019-09-28 12:42:09 +08:00
我们也在用 flutter 在线教育
luoway
2019-09-28 13:00:55 +08:00
web 页面本身就是跨平台的,现在各种原生开发跨平台框架、小程序,都标榜着性能优、开发快,实际却事倍功半。
事实上,有些公司产品的小程序内容就是内嵌 web 页面。对于项目快速落地而言,这就是很好的解决方案。
zhuzhibin
2019-09-28 13:09:17 +08:00
跨平台必须解决的问题就是兼容问题 毕竟不同的平台有自己的运行以及渲染机制 我目前也是使用 Taro 比较头疼的就是兼容多端带来的项目架构的问题 目前感觉有点乱 不知道有什么很好的方案能够支持这种跨平台的重构 或者说如果更好的管理跨平台开发的项目
iugo
2019-09-28 17:39:00 +08:00
@zhuzhibin Taro 在组件套用渲染 JSX 的时候, 会有点问题, 比如 https://github.com/NervJS/taro/issues/4190 . 组件化的能力比 React 降低了很多.

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

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

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

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

© 2021 V2EX