V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
iugo
V2EX  ›  程序员

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

  •  
  •   iugo ·
    iugo · 2019-09-28 10:04:52 +08:00 · 2704 次点击
    这是一个创建于 1914 天前的主题,其中的信息可能已经有所发展或是发生改变。
    跨平台一般宣传的优点在: 代码写一次, 运行在多处.

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

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

    包括 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.
    9 条回复    2019-09-28 17:39:00 +08:00
    blless
        1
    blless  
       2019-09-28 11:22:20 +08:00 via Android
    你说的是客户端前端吧,服务端后端不带 gui 的程序基本就跟 cpu 架构相关了,这块也语言层面就支持了,加上 docker 之类的大杀器,跨平台已经是基本操作了
    lidfather
        2
    lidfather  
       2019-09-28 11:27:16 +08:00 via Android
    @blless docker 跟跨平台没关系
    Raymon111111
        3
    Raymon111111  
       2019-09-28 11:35:17 +08:00
    真正落地?

    java?
    geekdocs
        4
    geekdocs  
       2019-09-28 11:55:36 +08:00
    我们在用 Flutter~
    imicksoft
        5
    imicksoft  
       2019-09-28 11:56:09 +08:00
    今天刚看到一个 ring-lang,支持多平台,UI 用的 QT
    zhangdszq
        6
    zhangdszq  
       2019-09-28 12:42:09 +08:00
    我们也在用 flutter 在线教育
    luoway
        7
    luoway  
       2019-09-28 13:00:55 +08:00
    web 页面本身就是跨平台的,现在各种原生开发跨平台框架、小程序,都标榜着性能优、开发快,实际却事倍功半。
    事实上,有些公司产品的小程序内容就是内嵌 web 页面。对于项目快速落地而言,这就是很好的解决方案。
    zhuzhibin
        8
    zhuzhibin  
       2019-09-28 13:09:17 +08:00 via iPhone
    跨平台必须解决的问题就是兼容问题 毕竟不同的平台有自己的运行以及渲染机制 我目前也是使用 Taro 比较头疼的就是兼容多端带来的项目架构的问题 目前感觉有点乱 不知道有什么很好的方案能够支持这种跨平台的重构 或者说如果更好的管理跨平台开发的项目
    iugo
        9
    iugo  
    OP
       2019-09-28 17:39:00 +08:00
    @zhuzhibin Taro 在组件套用渲染 JSX 的时候, 会有点问题, 比如 https://github.com/NervJS/taro/issues/4190 . 组件化的能力比 React 降低了很多.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3058 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 13:08 · PVG 21:08 · LAX 05:08 · JFK 08:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.