V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
retrocode
V2EX  ›  程序员

uni-app 也开始走用 ts 写原生代码的编译时路线了,话说现在还有哪些类似值得关注的跨平台框架?

  •  
  •   retrocode · 154 天前 · 5487 次点击
    这是一个创建于 154 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看了下前两天的更新, 看起来很美好的样子.

    https://uniapp.dcloud.net.cn/api/extapi.html

    uts ,全称 uni type script ,是一门跨平台的、高性能的、强类型的现代编程语言。
    它可以被编译为不同平台的编程语言,如:
        web 平台,编译为 JavaScript
        Android 平台,编译为 Kotlin
        iOS 平台,编译为 Swift ( HX 3.6.7+ 版本支持)
        uts 采用了与 ts 基本一致的语法规范,支持绝大部分 ES6 API 。
        
    在 uts 的发展路线上,uni-app 自身也将使用 uts 实现;使用 uts 将可以开发完整的 uni-app 。
    
    目前所有的 ext api ,在未来的 uts 版的 uni-app ,其内置的 uni 对象的 api 中,均会得到复用。也就是说 ext api 将大幅推进下一代 uni-app (纯 uts 版)的上线速度。
    
    欢迎广大开发者参与到 uni ext api 的开源共建中来。
    
    68 条回复    2022-10-23 00:13:58 +08:00
    zoharSoul
        1
    zoharSoul  
       154 天前
    .net.cn

    这域名怎么看起来这么山寨.....
    welove
        2
    welove  
       154 天前
    taro
    yaphets666
        3
    yaphets666  
       154 天前   ❤️ 5
    一点也不美好,光会 js ts 还不行,还得踩跨端的坑,现在还要再加一个 uts 的坑,坑中坑啊。
    大厂不会用,大厂不差招 native 开发的钱。
    小厂也不会用,坑太多,一般开发 hold 不住容易出问题。
    zhuweiyou
        4
    zhuweiyou  
       154 天前   ❤️ 5
    恕我直言,国产就是垃圾.
    ryougifujino
        5
    ryougifujino  
       154 天前
    更喜欢 Taro 一些
    retrocode
        6
    retrocode  
    OP
       154 天前
    @yaphets666 #3 跨端的坑牵扯到原生就会有, 这个倒问题不大, 不过大厂不会用, 小厂招不到人是真的, 我准备先观望观望, 把我司部分原生 api 迁过去看下体验怎么样
    yxzblue
        7
    yxzblue  
       154 天前
    Taro 怎么样,貌似没有 uniapp 用得人多
    retrocode
        8
    retrocode  
    OP
       154 天前
    @welove #2 taro 主要现在他们重心在小程序端, 没有涵盖 RN 端的组件库, taro-ui 那句 rn 端暂不支持都挂了几年了, 我不敢在公司推, UI 全部重新实现想想就吓人
    @ryougifujino #5 taro 主要现在他们重心在小程序端, 没有涵盖 RN 端的组件库, taro-ui 那句 rn 端暂不支持都挂了几年了, 我不敢在公司推, UI 全部重新实现想想就吓人
    IanHo
        9
    IanHo  
       154 天前
    我选 Taro ,感觉使用上、文档更规范简洁一些,还支持 React 和 Vue3
    Seulgi
        10
    Seulgi  
       154 天前
    uniapp 是第一批做跨端的. taro 都在他后面. 只不过 taro 技术团队背景比 uni 强, 有大厂背书, 更容易接受. uniapp1.0 左右我用的时候, bug 一堆, 群里反馈了对接也很慢, 处理得也慢.
    @yxzblue
    HugoChao
        11
    HugoChao  
       154 天前
    RN 怎么样 我过段时间很有兴趣用 RN 写个自己的软件
    听说 RN 最近性能有提升?
    retrocode
        12
    retrocode  
    OP
       154 天前
    @yxzblue #7 taro 主要现在他们重心在小程序端, 没有涵盖 RN 端的组件库, taro-ui 那句 rn 端暂不支持都挂了几年了, 我不敢在公司推, UI 全部重新实现想想就吓人

    另外我在关注的也就一个 Capacitor 了, 不过讲道理, 用 Capacitor 不如直接就 RN 了
    zoharSoul
        13
    zoharSoul  
       154 天前
    这玩意怎么编译成 kotlin/swfit?
    没找到相关文档啊? op 知道吗?
    marcong95
        14
    marcong95  
       154 天前
    这个 `uni ext api` 命名太尬了吧,空格分隔的全小写,后两个单词还是缩写。。`uni type script`还把 TypeScript 给拆开来了。。。起个啥 uniScript 也比这个好吧

    不过 DCloud 系的大坑,慎踩,慎之又慎,焚香沐浴再三思而后行。uni-app 跟 HBuilderX 几乎强绑定,而且后者也巨难用
    exploreexe
        15
    exploreexe  
       154 天前   ❤️ 1
    用 uniapp 做小程序还行,做原生简直就是灾难,谁用谁知道,这玩意就是一坨屎。
    hzxxx
        16
    hzxxx  
       154 天前
    uniapp 太拉了,文档前几页就一直在吹嘘自己,也不知道哪来脸面说自己写 vue 比 vscode 和 webstorm 强的,还说自己比别的编辑器、IDE 都流行,说什么不要每个项目一个编译器,强硬要人装 hbuilder ,taro 不就能全局装
    retrocode
        17
    retrocode  
    OP
       154 天前
    @zoharSoul #13 https://uniapp.dcloud.net.cn/plugin/uts-plugin.html uts 的介绍在这里

    @exploreexe #15 主要够用, 做 B 端项目的话其实还行, 云打包比较方便
    zoharSoul
        18
    zoharSoul  
       154 天前
    @retrocode #17
    我找到了这个页面, 也尝试在 google 上搜了相关信息.
    但是以上都均未提到怎么实现 `编译成 kotlin/swfit` 的.
    不管是说用了什么技术, 还是从开发者角度来讲, 怎么来编译生成 kotlin 代码, 这些信息都没有找到.
    LWFF
        19
    LWFF  
       154 天前
    理想很丰满 现实很骨感( dog
    welove
        20
    welove  
       154 天前
    @retrocode 你可以试试 nutUI ,也是 taro 推荐的 ui 框架,兼容 RN 的
    welove
        21
    welove  
       154 天前
    taroui 我看过,感觉没 nutui 好看,nutui 好像是京东开发的
    molvqingtai
        22
    molvqingtai  
       154 天前
    没用 uni-app 写原生,你会变得不幸
    molvqingtai
        23
    molvqingtai  
       154 天前   ❤️ 1
    别用 uni-app 写原生,会变得不幸
    retrocode
        24
    retrocode  
    OP
       154 天前
    @zoharSoul #18 才更新的估计文档还没准备好, 慢慢等吧, 按 dcloud 的性格, 他们估计会出个文章吹一波的,
    @welove #21 taro 就是京东的团队, nutui 不支持 RN 端你肯定看错了, 这个是 H5 和小程序的组件库
    zoharSoul
        25
    zoharSoul  
       154 天前
    @retrocode #24
    那等着到时候看看, 用 js 类似的语法, 写 Android 或者 ios 还是挺有意思的
    welove
        26
    welove  
       154 天前
    @retrocode 你现在去 nutui 文档看看,现在出了个 nutUI-react ,京东风格的轻量级移动端 React 组件库,感觉出来有小半年了
    erwin985211
        27
    erwin985211  
       154 天前
    用 uni-app 基本属于沉默大多数。外包公司还有小公司喜欢用
    kongkongyzt
        28
    kongkongyzt  
       154 天前
    @retrocode 其实你可以一次性 @ 两个人的,不用发两次一样的回复。。。。
    retrocode
        29
    retrocode  
    OP
       154 天前
    @kongkongyzt #28 习惯了 哈哈哈 感觉一对一回复比较礼貌
    gouflv
        30
    gouflv  
       154 天前 via iPhone
    uni-app native 上次全网闪退忘了吗
    washbrain
        31
    washbrain  
       154 天前   ❤️ 1
    怎么下面全在讨论 uni-app 本身,不应该讨论一下 uts 是怎么实现的吗....
    kytrun
        32
    kytrun  
       154 天前
    踩了一两年 uni-app nvue ( weex 原生渲染)的坑,一个很深刻的感受就是像拿残缺的筛子去舀水,用之前先把洞都补齐,然后缺的部分官方不予解决,自己无法解决,社区无人解决。
    zhaol
        33
    zhaol  
       154 天前
    自从下了他的 hbuilder ,很多文件的默认打开方式全变成这玩意了,一生黑。
    chocotan
        34
    chocotan  
       154 天前
    几个月前试用了一下 uni-app ,开发了一个小程序和 app ,app 有上架 google play
    优点很明显
    缺点嘛,bug 太多,连基本的列表滚动组件都没法正常用,文档太少,遇到问题基本上无法 google 解决
    我反正是不会再选择这个了。
    hhacker
        35
    hhacker  
       154 天前 via Android
    uniapp ,真正用过的人才知道它有多坑,深坑,回避。
    选型时对它家的任何东西都要非常谨慎
    retrocode
        36
    retrocode  
    OP
       154 天前
    @hhacker #35
    @chocotan #34
    @kytrun #32

    话说你们都遇到了些什么问题, 能说下吗? 我从 19 年 1.3 版到现在 3.6 版一直在用, 过手也没遇到什么离谱的坑呀, 最多 css 多端兼容问题注意下就好了
    a33291
        37
    a33291  
       154 天前
    .net 开发希望 maui 能够站出来😁
    Rache1
        38
    Rache1  
       154 天前
    想起两三年前面试的时候,那个面试官就一股脑的向往 uniapp ,也不知道他项目怎么样了

    甚至还遇到过有用 Cocos 写 App 的 😄
    HuskyYellow
        39
    HuskyYellow  
       154 天前
    @Rache1 就沈阳一些外包公司把 uni-app 当成圣经,跟 vue, react 同一级别,那特么是一个东西吗! 没招,脉脉上还有很多脑瘫说这个玩意好
    retrocode
        40
    retrocode  
    OP
       154 天前
    @HuskyYellow #39 哈哈哈哈, 这种公司还是不要去的为好
    HuskyYellow
        41
    HuskyYellow  
       154 天前
    @retrocode 关键竟然还有很多前端也是这么认为的, 我真无语了
    mxT52CRuqR6o5
        42
    mxT52CRuqR6o5  
       154 天前
    简单看了一下文档
    在模块部分文档给 import 语句写了 3 个 case ,全都是 relative import ,是不是代表没法直接 import node_modules 下安装的 js module 拿来用,意味着在用 uts 时要完全抛弃 js 生态?
    文档里没有 union type 和 any 的相关说明,而且 uts 的目标也是原生编译,是不是意味着不能使用上述两个和其他的一些动态特性
    leega0
        43
    leega0  
       154 天前   ❤️ 1
    楼上这么多人说 uni-app 坑的人其实是对它期望太高了,接个小几十到百号人的内部项目,快速打通三端通用我觉得还是不错的,用不上各种原生复杂功能,扫个码,下个单,消息提醒推送,这些简单的场景才是它存在的意义,也是为啥还没凉的原因,
    darrenfang
        44
    darrenfang  
       154 天前
    @yxzblue #7 用 Taro 开发过小程序,使用 React + ts 很香。

    之前用的 taro-ui ,但是很久不更新了,nutui 不久前才支持 taro ,貌似还有很多 bug
    thetbw
        45
    thetbw  
       154 天前
    taro 目前正在用,第三方的组件库不是很多,配合的 nutui ,有些组件没有支持 taro ,还是要用原生。整体感觉还行,踩了一点坑。
    目前遇到最大的坑是,--watch 在编译小程序 app 时会有问题,具体有人提了 https://github.com/NervJS/taro/issues/12553

    造成的结果是,每次要花费点时间重头编译
    imklay
        46
    imklay  
       154 天前
    不理解到底什么需求要选这种技术栈,这玩意纯纯垃圾啊。。
    retrocode
        47
    retrocode  
    OP
       154 天前
    @thetbw #45 所以 taro 现在有没有哪个组件库可以兼容 RN 的,这个是我目前为止一直不敢主推 taro 的原因, 一直在找观望许久了
    3282361
        48
    3282361  
       154 天前   ❤️ 2
    至少满足以下条件之一的团队才会选择 uni-app

    1. 菜
    2. 缺乏审美,没见过世面
    3. 对项目要求很低
    3282361
        49
    3282361  
       154 天前
    这种垃圾项目怎么骂都不为过,大大降低了国内应用的质量
    XXWHCA
        50
    XXWHCA  
       154 天前
    我看了 android 的示例项目,说白了还是走的 RN 和 Weex 那一套,运行时解释 js 代码,转换成原生控件,但是这个提供了官方开发插件,让打包和开发更傻瓜,不过这样也隐藏了开发细节,特别需要接入一些原生 sdk 时,让不了解原生的分钟钟裂开,一些隐藏的问题可能很难排查。
    原生 app 性能这里就不说了,因为实现方案没有突破,和 RN 、Weex 都差不多。
    而且这个方案玩玩可以,别想用于商用项目,隐私授权合规铁定不通过。
    KasonKwok
        51
    KasonKwok  
       154 天前
    一看蒋涛,马上关了
    aecra1
        52
    aecra1  
       154 天前 via Android
    这玩意只要做到“又不是不能用”就行了,不能对国内技术水平有太高期望
    checkz
        53
    checkz  
       154 天前
    看来 `maui` 又凉了
    FightPig
        54
    FightPig  
       154 天前
    我一直没搞懂 uni 一直搞自己一套,特别那个 hbuilder ,对我来说难用的不行,后来改用 taro 了。不过 uni 的好处是插件一堆,很多东西都不用自己写
    ciki
        55
    ciki  
       154 天前
    前一个这样的干的,现在泡都还没冒出来,我觉得这是个 KPI 产物
    kwh
        56
    kwh  
       154 天前
    如果用 dart 就好了。。。
    我能更有激情学习 Dart 了。。。
    ppphp
        57
    ppphp  
       154 天前
    写 flutter 应用已经比网页应用方便太多了
    musi
        58
    musi  
       154 天前
    咋感觉没多少人说 flutter 的
    是快凉了嘛
    retrocode
        59
    retrocode  
    OP
       154 天前
    @musi #58 没凉 不过现在各公司用的少, 都是只有部分模块用 flutter 开发, 用 flutter 就纯开发 APP 了, flutter 的 web 端比较清奇, 我目前还没见过 flutter 开发出来的商用 web 项目
    gongquanlin
        60
    gongquanlin  
       154 天前
    以前没写过移动端,rn 、flutter 、uniapp 都试了一下,app 用 rn 感觉最舒服,flutter 有很多不适应的地方,比如路由,uniapp 的语法强绑定 hbuilder ,hbuilder 说是兼容 vscode 的快捷键,很多用不了,用不习惯。taro 一直有关注,没有试过,前面说 nutui 的,nutui 组件看似很全,但是很多属性都是固定好的,没法用 slot 的方式复写就比较费劲,再观望观望吧
    GreatAuk
        61
    GreatAuk  
       153 天前
    小公司出的东西,等着一堆坑吧
    sprite82
        62
    sprite82  
       153 天前
    楼上一堆人觉得 uni-app 垃圾,没人用,卡顿,坑多。然而实际上用的人还超多,特别是面向政企、医疗的、需求不是特别复杂的(谈不上什么坑),这东西跨全平台,省成本,公司最喜欢了。别说用户不用,不用不能挂号,不能办事,就说你用不用吧。反正也用不了多少次,在意体验的人也捏着鼻子用了,更何况生活中 99%的人只在乎能不能解决问题,而不是这个 app 多流畅
    weeei
        63
    weeei  
       153 天前
    @sprite82 对于开发者来说是技术糟粕,奈何满足了上层需求(投入少见效快、可以摆烂没有竞争)
    implion
        64
    implion  
       153 天前
    RN 和 Flutter ,我不是很理解,uniapp 开发些 app 是附属品,可有可无的还行,真有用户的还是用 RN 吧,Flutter 是潜力大,现在还是不如 RN
    implion
        65
    implion  
       153 天前
    @sprite82 用的人超级多,是觉得它简单,上手容易,还有国内生态比较偏向于 vue ,但是你用了他就会看不上他
    sprite82
        66
    sprite82  
       153 天前
    @implion 有点追求的开发者都不会去用它,体验太差了,耐不住成本低啊
    WOLFRAZOR
        67
    WOLFRAZOR  
       153 天前
    KPI 产生的东西。算了吧。
    weiqk
        68
    weiqk  
       153 天前
    我想起了 dedecms ,代码界骂声一边,产业界欢声一片
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   2016 人在线   最高记录 5556   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 01:28 · PVG 09:28 · LAX 18:28 · JFK 21:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.