5

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

 1 year ago
source link: https://www.v2ex.com/t/888611
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  程序员

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

  retrocode · 15 小时 28 分钟前 · 3732 次点击

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

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 的开源共建中来。
60 条回复    2022-10-21 21:13:13 +08:00
zoharSoul

zoharSoul      15 小时 25 分钟前

.net.cn

这域名怎么看起来这么山寨.....
welove

welove      15 小时 23 分钟前

yaphets666

yaphets666      15 小时 19 分钟前   ❤️ 5

一点也不美好,光会 js ts 还不行,还得踩跨端的坑,现在还要再加一个 uts 的坑,坑中坑啊。
大厂不会用,大厂不差招 native 开发的钱。
小厂也不会用,坑太多,一般开发 hold 不住容易出问题。
zhuweiyou

zhuweiyou      15 小时 17 分钟前   ❤️ 5

恕我直言,国产就是垃圾.
ryougifujino

ryougifujino      15 小时 13 分钟前

更喜欢 Taro 一些
retrocode

retrocode      15 小时 13 分钟前

@yaphets666 #3 跨端的坑牵扯到原生就会有, 这个倒问题不大, 不过大厂不会用, 小厂招不到人是真的, 我准备先观望观望, 把我司部分原生 api 迁过去看下体验怎么样
yxzblue

yxzblue      15 小时 12 分钟前

Taro 怎么样,貌似没有 uniapp 用得人多
retrocode

retrocode      15 小时 9 分钟前

@welove #2 taro 主要现在他们重心在小程序端, 没有涵盖 RN 端的组件库, taro-ui 那句 rn 端暂不支持都挂了几年了, 我不敢在公司推, UI 全部重新实现想想就吓人
@ryougifujino #5 taro 主要现在他们重心在小程序端, 没有涵盖 RN 端的组件库, taro-ui 那句 rn 端暂不支持都挂了几年了, 我不敢在公司推, UI 全部重新实现想想就吓人
IanHo

IanHo      15 小时 8 分钟前

我选 Taro ,感觉使用上、文档更规范简洁一些,还支持 React 和 Vue3
Seulgi

Seulgi      15 小时 8 分钟前

uniapp 是第一批做跨端的. taro 都在他后面. 只不过 taro 技术团队背景比 uni 强, 有大厂背书, 更容易接受. uniapp1.0 左右我用的时候, bug 一堆, 群里反馈了对接也很慢, 处理得也慢.
@yxzblue
HugoChao

HugoChao      15 小时 6 分钟前

RN 怎么样 我过段时间很有兴趣用 RN 写个自己的软件
听说 RN 最近性能有提升?
retrocode

retrocode      15 小时 5 分钟前

@yxzblue #7 taro 主要现在他们重心在小程序端, 没有涵盖 RN 端的组件库, taro-ui 那句 rn 端暂不支持都挂了几年了, 我不敢在公司推, UI 全部重新实现想想就吓人

另外我在关注的也就一个 Capacitor 了, 不过讲道理, 用 Capacitor 不如直接就 RN 了
zoharSoul

zoharSoul      15 小时 3 分钟前

这玩意怎么编译成 kotlin/swfit?
没找到相关文档啊? op 知道吗?
marcong95

marcong95      15 小时 2 分钟前

这个 `uni ext api` 命名太尬了吧,空格分隔的全小写,后两个单词还是缩写。。`uni type script`还把 TypeScript 给拆开来了。。。起个啥 uniScript 也比这个好吧

不过 DCloud 系的大坑,慎踩,慎之又慎,焚香沐浴再三思而后行。uni-app 跟 HBuilderX 几乎强绑定,而且后者也巨难用
exploreexe

exploreexe      14 小时 59 分钟前   ❤️ 1

用 uniapp 做小程序还行,做原生简直就是灾难,谁用谁知道,这玩意就是一坨屎。
hzxxx

hzxxx      14 小时 54 分钟前

uniapp 太拉了,文档前几页就一直在吹嘘自己,也不知道哪来脸面说自己写 vue 比 vscode 和 webstorm 强的,还说自己比别的编辑器、IDE 都流行,说什么不要每个项目一个编译器,强硬要人装 hbuilder ,taro 不就能全局装
zoharSoul

zoharSoul      14 小时 50 分钟前

@retrocode #17
我找到了这个页面, 也尝试在 google 上搜了相关信息.
但是以上都均未提到怎么实现 `编译成 kotlin/swfit` 的.
不管是说用了什么技术, 还是从开发者角度来讲, 怎么来编译生成 kotlin 代码, 这些信息都没有找到.
LWFF

LWFF      14 小时 41 分钟前

理想很丰满 现实很骨感( dog
welove

welove      14 小时 40 分钟前

@retrocode 你可以试试 nutUI ,也是 taro 推荐的 ui 框架,兼容 RN 的
welove

welove      14 小时 39 分钟前

taroui 我看过,感觉没 nutui 好看,nutui 好像是京东开发的
molvqingtai

molvqingtai      14 小时 35 分钟前

没用 uni-app 写原生,你会变得不幸
molvqingtai

molvqingtai      14 小时 34 分钟前   ❤️ 1

别用 uni-app 写原生,会变得不幸
retrocode

retrocode      14 小时 32 分钟前

@zoharSoul #18 才更新的估计文档还没准备好, 慢慢等吧, 按 dcloud 的性格, 他们估计会出个文章吹一波的,
@welove #21 taro 就是京东的团队, nutui 不支持 RN 端你肯定看错了, 这个是 H5 和小程序的组件库
zoharSoul

zoharSoul      14 小时 27 分钟前

@retrocode #24
那等着到时候看看, 用 js 类似的语法, 写 Android 或者 ios 还是挺有意思的
welove

welove      14 小时 26 分钟前

@retrocode 你现在去 nutui 文档看看,现在出了个 nutUI-react ,京东风格的轻量级移动端 React 组件库,感觉出来有小半年了
erwin985211

erwin985211      14 小时 14 分钟前

用 uni-app 基本属于沉默大多数。外包公司还有小公司喜欢用
kongkongyzt

kongkongyzt      14 小时 11 分钟前

@retrocode 其实你可以一次性 @ 两个人的,不用发两次一样的回复。。。。
retrocode

retrocode      14 小时 3 分钟前

@kongkongyzt #28 习惯了 哈哈哈 感觉一对一回复比较礼貌
gouflv

gouflv      13 小时 44 分钟前 via iPhone

uni-app native 上次全网闪退忘了吗
washbrain

washbrain      13 小时 37 分钟前   ❤️ 1

怎么下面全在讨论 uni-app 本身,不应该讨论一下 uts 是怎么实现的吗....
kytrun

kytrun      13 小时 35 分钟前

踩了一两年 uni-app nvue ( weex 原生渲染)的坑,一个很深刻的感受就是像拿残缺的筛子去舀水,用之前先把洞都补齐,然后缺的部分官方不予解决,自己无法解决,社区无人解决。
zhaol

zhaol      13 小时 34 分钟前

自从下了他的 hbuilder ,很多文件的默认打开方式全变成这玩意了,一生黑。
chocotan

chocotan      13 小时 18 分钟前

几个月前试用了一下 uni-app ,开发了一个小程序和 app ,app 有上架 google play
优点很明显
缺点嘛,bug 太多,连基本的列表滚动组件都没法正常用,文档太少,遇到问题基本上无法 google 解决
我反正是不会再选择这个了。
hhacker

hhacker      12 小时 21 分钟前 via Android

uniapp ,真正用过的人才知道它有多坑,深坑,回避。
选型时对它家的任何东西都要非常谨慎
retrocode

retrocode      12 小时 17 分钟前

@hhacker #35
@chocotan #34
@kytrun #32

话说你们都遇到了些什么问题, 能说下吗? 我从 19 年 1.3 版到现在 3.6 版一直在用, 过手也没遇到什么离谱的坑呀, 最多 css 多端兼容问题注意下就好了
a33291

a33291      11 小时 45 分钟前

.net 开发希望 maui 能够站出来😁
Rache1

Rache1      11 小时 6 分钟前

想起两三年前面试的时候,那个面试官就一股脑的向往 uniapp ,也不知道他项目怎么样了

甚至还遇到过有用 Cocos 写 App 的 😄
HuskyYellow

HuskyYellow      10 小时 41 分钟前

@Rache1 就沈阳一些外包公司把 uni-app 当成圣经,跟 vue, react 同一级别,那特么是一个东西吗! 没招,脉脉上还有很多脑瘫说这个玩意好
retrocode

retrocode      10 小时 35 分钟前

@HuskyYellow #39 哈哈哈哈, 这种公司还是不要去的为好
HuskyYellow

HuskyYellow      10 小时 18 分钟前

@retrocode 关键竟然还有很多前端也是这么认为的, 我真无语了
mxT52CRuqR6o5

mxT52CRuqR6o5      10 小时 13 分钟前

简单看了一下文档
在模块部分文档给 import 语句写了 3 个 case ,全都是 relative import ,是不是代表没法直接 import node_modules 下安装的 js module 拿来用,意味着在用 uts 时要完全抛弃 js 生态?
文档里没有 union type 和 any 的相关说明,而且 uts 的目标也是原生编译,是不是意味着不能使用上述两个和其他的一些动态特性
leega0

leega0      10 小时 2 分钟前   ❤️ 1

楼上这么多人说 uni-app 坑的人其实是对它期望太高了,接个小几十到百号人的内部项目,快速打通三端通用我觉得还是不错的,用不上各种原生复杂功能,扫个码,下个单,消息提醒推送,这些简单的场景才是它存在的意义,也是为啥还没凉的原因,
darrenfang

darrenfang      9 小时 56 分钟前

@yxzblue #7 用 Taro 开发过小程序,使用 React + ts 很香。

之前用的 taro-ui ,但是很久不更新了,nutui 不久前才支持 taro ,貌似还有很多 bug
thetbw

thetbw      9 小时 56 分钟前

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

造成的结果是,每次要花费点时间重头编译
imklay

imklay      9 小时 20 分钟前

不理解到底什么需求要选这种技术栈,这玩意纯纯垃圾啊。。
retrocode

retrocode      9 小时 15 分钟前

@thetbw #45 所以 taro 现在有没有哪个组件库可以兼容 RN 的,这个是我目前为止一直不敢主推 taro 的原因, 一直在找观望许久了
3282361

3282361      9 小时 12 分钟前

至少满足以下条件之一的团队才会选择 uni-app

1. 菜
2. 缺乏审美,没见过世面
3. 对项目要求很低
3282361

3282361      9 小时 7 分钟前

这种垃圾项目怎么骂都不为过,大大降低了国内应用的质量
XXWHCA

XXWHCA      8 小时 47 分钟前

我看了 android 的示例项目,说白了还是走的 RN 和 Weex 那一套,运行时解释 js 代码,转换成原生控件,但是这个提供了官方开发插件,让打包和开发更傻瓜,不过这样也隐藏了开发细节,特别需要接入一些原生 sdk 时,让不了解原生的分钟钟裂开,一些隐藏的问题可能很难排查。
原生 app 性能这里就不说了,因为实现方案没有突破,和 RN 、Weex 都差不多。
而且这个方案玩玩可以,别想用于商用项目,隐私授权合规铁定不通过。
KasonKwok

KasonKwok      8 小时 41 分钟前

一看蒋涛,马上关了
aecra1

aecra1      8 小时 39 分钟前 via Android

这玩意只要做到“又不是不能用”就行了,不能对国内技术水平有太高期望
checkz

checkz      6 小时 59 分钟前

看来 `maui` 又凉了
FightPig

FightPig      6 小时 56 分钟前

我一直没搞懂 uni 一直搞自己一套,特别那个 hbuilder ,对我来说难用的不行,后来改用 taro 了。不过 uni 的好处是插件一堆,很多东西都不用自己写
ciki

ciki      6 小时 46 分钟前

前一个这样的干的,现在泡都还没冒出来,我觉得这是个 KPI 产物
kwh

kwh      6 小时 33 分钟前

如果用 dart 就好了。。。
我能更有激情学习 Dart 了。。。
ppphp

ppphp      6 小时 29 分钟前

写 flutter 应用已经比网页应用方便太多了
musi

musi      4 小时 46 分钟前

咋感觉没多少人说 flutter 的
是快凉了嘛
retrocode

retrocode      4 小时 23 分钟前

@musi #58 没凉 不过现在各公司用的少, 都是只有部分模块用 flutter 开发, 用 flutter 就纯开发 APP 了, flutter 的 web 端比较清奇, 我目前还没见过 flutter 开发出来的商用 web 项目
gongquanlin

gongquanlin      3 小时 48 分钟前

以前没写过移动端,rn 、flutter 、uniapp 都试了一下,app 用 rn 感觉最舒服,flutter 有很多不适应的地方,比如路由,uniapp 的语法强绑定 hbuilder ,hbuilder 说是兼容 vscode 的快捷键,很多用不了,用不习惯。taro 一直有关注,没有试过,前面说 nutui 的,nutui 组件看似很全,但是很多属性都是固定好的,没法用 slot 的方式复写就比较费劲,再观望观望吧

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK