We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode  Ep 54. React Native 已死?Jetpack Compose 当立

Ep 54. React Native 已死?Jetpack Compose 当立

2025/5/19
logo of podcast  捕蛇者说

捕蛇者说

AI Deep Dive AI Chapters Transcript
People
2
2BAB
M
Manjusaka
l
laike9m
Topics
laike9m: 我对当前移动端开发框架的流行程度感到好奇,特别是考虑到最近关于 React Native 使用情况的讨论。我想了解各种框架的优缺点,以及它们在实际应用中的表现。 2BAB: 我认为目前移动端开发主要有三种选择:Flutter、React Native 和 Kotlin Multiplatform (KMP)。原生开发仍然是基础,但跨平台框架各有优势。React Native 具有热更新的优势,但组件质量和平台适配存在问题。Flutter 提供了UI一致性,但可能面临被替代的风险。KMP 提供了代码共享,但UI实现方式有多种选择。总的来说,选择哪种框架取决于具体的业务需求和团队技术栈。 Manjusaka: 我想了解为什么大家都在往一套自己生态绑定的语言和UI去做,是为了提升开发者体验吗?为什么不在原本的语言上去进行一个生态的迭代呢?

Deep Dive

Chapters
本部分介绍了移动端开发中原生开发和非原生开发的概念,并对它们进行了区分。原生开发使用平台提供的原生语言和UI框架,非原生开发则使用跨平台框架,例如React Native、Flutter和Kotlin Multiplatform。
  • 原生开发使用平台原生语言和UI框架
  • 非原生开发使用跨平台框架,例如React Native、Flutter和Kotlin Multiplatform
  • 原生开发和非原生开发的主要区别在于对原生UI组件的使用能力

Shownotes Transcript

各位听众大家好 欢迎来到最新一期的捕舍者说今天我们非常高兴请到了二分电台的 RBAB 老师来跟我们聊一下移动开发以及当今移动开发的种种趋势先请 AB 来给大家打个招呼吧哈喽哈喽大家好 欢迎收听二分电台 我是主播 AB 好好好 这么大个老师吧 AB 也是我们老熟人了我们这是串台节目 串台节目

然后另一位主播是 Manzu Saka 对给大家打个招呼大家好我是 Manzu Saka 我呼喊现在第 N 次回来了点 JPGok 对一个很有意思的事情其实 Saka 和 Abi 是在同一家公司对我第一次和同事一起录播客感觉要被真人单杀了其实你们之前有一期播客嘉宾是我学弟

哪一期啊就是卡比那期哦卡比是那就前两期对对我觉得这个世界是真的好小的开始了对是的是的主要网上这个圈子就这些人吗对

对,今天我们想讨论一下移动开发的话题。前段时间有一些讨论,就是有一个 YouTuber 在 YouTube 上发了一条视频说,其实 React Native 可能并没有想象中的那么流行。然后他做了一件什么事情呢?他就是去 React Native 的有一个算是半官方性质的网站吧,看他们上面列的哪些 App 用了 React Native,然后他去把那 App 下载下来,然后去把他们解包,然后看一下他们到底用什么。

发现很多在那个上面用了 react native 的 app 其实并没有使用然后这个事情就非常的神奇然后呢他发现其实对就是那些 app 可能用了一些其他的 framework 比如说 flutter 啊或者说 cotlin 的 jetpack compose 然后这样于是就有一个疑问我们就很好奇现在最流行的构建移动端 app 的框架到底是什么 AB 可不可以给我们就是大概介绍一下现在的这个状态

就我其实没有做什么很精确的什么第三方市场调研啦只是个人平时的一些主观感受啊然后分成中国大陆跟大陆以外的地区吧这样子我觉得会比较合理那其实市面上就除了原生之外大家就有三个选择嘛所以要么就 flutter 要么就 re-native

对然后现在新的还有用那个 KMP 的就是 Colibri Multi Platform 对然后 Colibri Multi Platform 的话就会顺带提到 Compose Multi Platform 对就 CMP 我们后面会讲 CMP 我们稍微打断一下就你刚才说了原生和原生之外能不能先给听众们定义一下就是什么叫原生和非原生

原生的话就是比如说你在 Android 上面写 Java 写 Colin 对然后使用他们原生的 UI 框架 Android 的话就是 XML 对然后要么就是 JPG Compose 对如果你在 OS 上面不管是比如说 WatchOS iOS 什么 iPadOS 啊 blablabla 他们就是写 OC 写 Swift 对然后用的 UI 框架就是要么用的原生的 UIKit 要么就是用的现在比较新的 SwiftUI

那其实我们还会讲另外一种原声啦就是比如说你用 CC 加 Rust 这种去写的然后把它编成了那个点搜啊什么点那个 DYLive 这种的就是一些动态库这种的或者静态库也可以啦然后这种其实也是一种原声对就是两边都会可以用 AndroidOS 对然后也可以比如说你跨到你用到 MacOS 上面其实也可以对然后这是一种更底层的一种原声啦对

我理解其实原生就 native 和非 native 的开发方式核心是不是还是在对于 webview 的使用上不是就比如说 flutter 的话它其实带了一个 dart 的运行时 flutter 也不用吧对然后这个运行时直接打包打到你的 app 里面对然后你里面编出来的那个 dart 的执行文件它就直接跑在这个运行时上面

然后 Dart 它又自己会带了一套这个 Flutter 的这个 UI 框架组件对然后这一套东西呢它也是跑在这个运行室里然后这一套呢它其实后面还会带有一个渲染引擎对然后就可以自会 UI 它完全不接触任何系统的高级别的这些 UI 组件它直接跟下面的这些 GPU 啊什么的这些打交道了简单点说就是这样

那我有个问题那比如说像 Linux 上面或是 Windows 上面他们很多没有用系统提供的那些系统 UI 比如说像 Z 的它直接基于图形 API 就比如说他们那套 Grid 主件他们直接是基于图形 API 像 Valken 之类的自己绘制了一套像这种东西如果把它这种概念平移到移动端上它是 native 还是非 native 的这种就不是 native 了

OK 广义上面不是狭义上面不好说就是普遍认知上这种不是对 OK 那也说核心的还是说是 Native 和非 Native 的区别还是说对于原生的 UI 组件的使用能力对吧对我是能理解的对

就是官方出的这个东西对然后官方跟系统深度定制了它是一体的东西大概是这样因为你刚说那些 G OpenJet 或者 G Vulkan 的其实比如说你要讲 Flutter 要讲那个 CMP 他们其实也都是类似的东西他们上面只是套了一个 Skia

Skia 就是 Chrome 用的渲染引擎嘛然后他们现在全部都是把它做一些精简做一些优化然后把它挪到移动端上面然后 Flutter 的话其实已经脱离 Skia 了但是他们那个设计应该跟 Skia 有点像吧他们现在有一个自己的引擎叫 Empire Rail 还是什么的

大概有个这样的名字我们可以把它补到那个 show notes 里面 OK 我觉得我们先不要深入这些细节对对我们可以之后聊对然后我们把话题拉回来就是对我们讲一些原声和非原声然后就是之前其实还是在说现在的就哪个框架更流行的话题对

对,然后我们先讲一下这个时间出现的时间点吧最开始的话其实大家都只有原生嘛,要么就是 XML,要么就是 UIKit 然后后面接下来就开始出现一些 WebView 然后就是大家把网页的东西嵌到了我们的 App 里面

那这边的话其实就是一些很纯粹的就是 Web 开发的这些技术站不管比如说你有 react 啊,你有什么 view 啊这种的对,然后大家一般来说会加一些 JS Bridge 对,就是 JS Crab Bridge 对,然后这个过程里面呢就产生了很多框架什么 Coldova 呀之类的东西对,然后像这种东西的话其实现在蛮多公司还会在用但是其实已经不热,就它处于一个非常 stable 的状态对

然后接下来的话就出现了比如说 Rainative 这种东西然后它是基于刚刚那个东西的一个大幅升级吧因为大家都知道就是运动设备其实跑 GS 是很方便的一个东西你可以动态下发可以绕过各种商店的限制所以说以 GS 为基础的这个东西它就可以去把它

用一个升级版的 JSBridge,大家可以这么理解吧,然后去调用各种原生的一些能力然后 Facebook 开发了一套原生的排版工具,然后你写 JS 的时候渲染的这个 HTML 它其实是最后是映射到原生上面的,它使用原生的组件去渲染的对,那这个东西其实已经很多年很多年了,大概感觉有个七八年或者快十年了然后非常流行,对,我觉得到现在都还有蛮多公司在用

然后这个东西的话如果要分中国跟国外的一些情况的话国外其实会更热一点然后中国的话他们现在已经把这个方案分化的非常的细了就已经讲不出来到底有多少种分化的方案了

每个公司都有一套自己的 JS 每个公司都有一套你只要看到稍微中大型一点的每个公司都有一套对然后其实你包括像什么小程序微信这种的它其实里面可能一开始也是 WebView 但是后来慢慢慢慢就演化成一些比如说有智慧或者说某种融合性的方案对然后其实很多东西也是有借鉴过像 RedNative 这种

对然后其他的比如说以前有过一个东西叫快应用什么小米啊 OPPO 他们几个公司在推的

啊 类似这些了 我只是举一个简单的例子 对 但是中国现在直接用 reactive 的我觉得有大幅减少 这个是因为后来就是几年前然后 flutter 出现了 对 然后大家很不爽 reactive 的一点是他大家都知道就 json 生态就比如说 npm 上面那些库的质量就非常垃圾对吧 就普遍都非常垃圾对 就除了大公司很多东西其实都不敢用 对 可能很多年没有维护啊 或者说什么

各种各样的攻击啊这种东西对然后这些组件你又要把它 port 到 native 对吧你要做一些适配然后又要加一些比如说 native UI 的组件的这个对应的 native UI 的这个编写然后要写两端所以说就其实很多组件库的质量其实是也难尽的就很多比如说你写前端的人他本来对 native 就不是那么熟悉然后一下子还要支持两个端然后他做出来的东西其实

不见得很好用对所以说这个就有很多这种适配性的问题然后两端不生统一你本来是跨平台就是想要统一两段然后减少一些呃这种代码的适配的对然后结果你到最后还是不仅要写 GS 还回来写安卓写 iOS 对所以其实成本也有一些地方是没有打下来的

那如果你要做的好一点的话就有一些大公司还会自己 Folk 一个 Renative 可以自己维护然后内部再搞一套比较完善的组件库我们就基于这些东西去用对我们框在一个小圈子里面这样子的话就可以避免很多这样子的问题对然后 Renative 其实最大的优势是什么就是 Code Push 就是它可以绕过这个商店的限制你可以下发一些动态的代码然后动态的去更新这个 App 对那这个东西其实在很多层次下是非常的有用的比如说你要做活动

活动然后对然后这种东西以前在比如说阿里啊之类的这种电商公司就用了非常多阿里他们以前有那个 wix 嘛对所以是类似的东西啊

然后 Rentive 的话就是这两年他们的更新感觉一个方面是那个 JS Bridge 他们做了一套新的版本新的方案他们现在可以直接把 JS 映射到 Ci+上面去对然后你很多 JS 的操作其实就变成一个 Native 的操作这样子对然后他其实是走那个内存共享的就那个效率非常高他们以前那个 JS Bridge 是要序列化的

就走那种 Channel 的那种概念,然后那个效率很低,那现在这块一改的话,它整个执行效率有上去一些。然后接下来就是讲到 Flutter,那就 Flutter 抢占了很多它的市场,就是因为 Flutter 它是最早开始做在移动端上面搞智慧的。其实这个东西并不是说很新鲜的东西啊,你看那些游戏公司它每一个里面都打包了一个图形引擎啊。

2D 的 3D 的都有啊比如说那个什么 cocoa 这种的对然后或者说什么 unity 啊之类的对我们之前还看到过什么腾讯那个 QQ 里面打包了一个精简版的 unity 有 600 兆之后哦我知道非常传奇的故事对其实这种事情不是第一天干的但是 flutter 的话他就是把这个东西拿来做 UI 做比较通用化对

但是大家都知道 Flutter 這個故事或者說這個坊間傳出來的故事吧我也不知道到底是不是真的就是因為 Dart 以前他是用來寫 web 的嘛 Google 他是想拿來取代 JS 的但是好像沒做成的樣子所以就另辟蹊徑搞了 Flutter 然後就還是 Chrome 那一套就把 Skia 拿過來用

把 Data 塞進去搞一些 UI 的框架就跟剛剛我們說的那些遊戲的套路一樣然後就跑起來了一個東西這個東西因為

你在 iOS 上面也是 Skia 在安卓上面也是 Skia 所以它非常的统一你写的代码绘制出来的东西它长的就几乎都是一模一样对然后你要做一些简单的适配啊什么的小关键 Skia 是什么 Skia 就是我们刚刚说的在比如说 OpenGL 这种基础上面然后它加了一个这种 API 更高级一点的绘制的这个就是绘图的图像引擎对对对 OK 明白了对所以它提供了更高级的 API 就你用 OpenGL 直接画这些东西的话应该是很麻烦的

但是它其实应该是个抽象什么就比如说它在 web 上面应该就跑那个什么 webjello 啊之类的这个东西我并不是专家我只是大概讲一下肯定里面有一些小的错误大家请谅解啊

然后大家就觉得说这个东西这个智慧的这个新方向非常的好对他自己带的运行师然后在两边跑起来也是一样的这个东西就有点像以前写 Java 一样然后你写一篇然后就哇 run everywhere 然后大家就发现哇这个东西感觉可以行我们搞啊然后就突然间火起来了那火起来之后有很多公司推进了这个东西其实一开始最火的是在中国

当时如果几年前,三四年前,四五年前你去他那个 Flutter 官网看,那里面有一半的 case 都是中国的 case,像什么咸鱼啊,百度那些全部都有了,后来比如说像 TikTok 他们应该也是有了,但是现在其实我们看到有很多公司把 Flutter 又给下掉了,然后把它转成去别的技术战略,比如说转化原生,或者转去 KMP 之类的。

那這個的話,Flutter 我覺得可能在國外還行然後在中國可能有一部分的公司我覺得換得還挺快的但這個東西我不知道裡面有沒有什麼 KPI 相關的成分

所以就每两三年都会有一些新的人进入这个公司对吧他们总需要一些发展的空间他们总需要 KPI 来成长然后就我听到过很多这种故事你知道吗就在中国大陆以前写 flutter 的人然后现在被要求把 flutter 给下掉

然后又成为他的新的 KPI 了因为他下掉了之后他总要上一个新的东西对吧他就把它转成了别的东西对然后就反反复复的还蛮多这种事情很正常然后那 flutter 后面的话就比如说像我们要讲 KMP 跟 CMP 对那 KMP 的话他其实 2018 年的时候就已经有这个测试版本出来了就第一次是在那个 2018 年的 coding.conf 上面讲的

但是他们当时是没有 CMP 这个东西,就没有 JPG ComposeJPG Compose 应该是到 2020 年,21 年左右,然后开始做内部孵化然后接下来 22 年公开发了 Alpha 接下来就每年升一版,每年升一版这样子然后到今年,几天前刚刚发了 Compose Multiplatform 的 Stable

你可以理解为现在它的 Compose Multi-Platform 1.8 才是它真正的第一个 Stable 的版本然后之前的版本都是属于一个测试状态要不给听众们介绍一下 Codelin 首先介绍一下 Codelin

对可能有听众不太熟悉 Calling 就是一个稍微现代一点的 Java 这样子了现代一点的 Java 就比如说你要是写过 Swift 的话你会看 Calling 就觉得说很熟悉然后或者说写过其他一些写过 Ctrap 甚至可能 Data 也是有一点点像很多现代语言大家都讲的差不多就很多这种现代特性比如说 Coloutine 斜层的这种概念

他都是一开始就在语言升级的时候就已经把它确定下来要加入这个功能对然后一些什么飞空啊 Quadro 你写起来我觉得是很爽的

还可以还可以对我的意思是它也是 JVM 上的语言对吧所以对它现在只能说它可以跑在 JVM 上面它不是一个 JVM 的语言了不是了吗这样对它现在是多平台语言了但是我用下来扣 Tinnit5 的话它实际上我感觉支持的其实一般对就是现实是残酷的对吧但是概念上面它设计上面不是说只跑在 JVM

是他还可以编译成 Wassum 或者说编译成 Native 但是他本身的 Native 我觉得 JetBrains 目前做出来的东西我对他们的感官来说我觉得他们做出来的东西其实是比较不太 OK 的这个我不好评价就是他们反正团队也不大我觉得 Calling 团队不是很大对你要他的投入跟 Google 这种级别的投入比还是小很多的

是没错是话是这么说但就说吧我觉得它可能核心的点还是在 JOM 上的生态是最成熟的

那肯定是他抢了很多 Java 的蛋糕吗对是的没错我觉得我们必须要提一下就是说 Google 现在已经把 Costling 认证为安卓开发的官方语言了对吧就是说你 Java 已经可以认为不被推荐用来写新的 App 了而你就应该用 Costling 对就官方宣称就是 Calling first 然后 Compose 的话他只支持 Calling 他也不支持 Java

这个转变我觉得挺有意思的你能大概跟我们讲一下是在什么时候发生以及它的一些前因后果吗这个应该也是在 18 年前后对然后其实他们在做这个决定之前内部应该就已经在孵化 compose 了

这都是后话,很多公开信息表明当时已经在做这个事情了你说的内部是指 Google 内部还是 JetBrains 内部?Google 内部我当时跟 Google 没有任何瓜葛的时候,还不是 GDE 的时候还在中国大陆工作我就已经听说到 Google 那边有一些新的东西在做他们已经不需要写 activity,你可以用一个 activity 然后里面分成很多个不同的 screen 后来才知道这个东西是 compose

我不知道哪里来的小道消息就听同事聊天同事说他们谁谁谁去参加了一个什么 Google 内部会议然后出来就跟大家讲了一下很多年前的故事所以可以理解为 Google 是先想用 Cutlink 替代 Java 然后对吧先有这样一个然后顺便就做了这个事情做了一个基于 Cutlink 的框架叫 Jetpack Compose 对因为他用 Java 原来的编译器去做的话可能会麻烦一点

然后 Coding 的编译器很现代嘛那些什么前端后端这些东西分得很干净里面的每一个节点也都拆出来了就特别是现在 K2 啊 K2 它里面那些编译器里面的很多个 Hook 的节点它都拆得很细然后你去写编译器插件是很方便的然后你在 JS 上面的话这块其实完全不是问题它是你用就是这种静态语言的话你走一个很长的一个编译流程的时候它就需要说做一些手脚然后去改你的代码比如说我们现在写 Compose 的时候你都是要 Add Composable 嘛对吧

然后这个注解的话他就会在编译的时候去对这个 function 进行一些处理然后这一块的话应该也是当时就是比如说 compose 他会选 colina 这样的一个原因可能比较方便

我们回到刚刚最开始那个话题还没有讲完然后就是 KMP 跟 CMP 吧所以 KMP 和 CMP 分别代表什么来着 KMP 就是 KMP 就是 Compose Multi Platform 然后 CMP 的话就是 Compose Multi Platform 这两个有什么区别以前还有一个名字叫 KMM 就是 Compose Multi Platform Mobile 但是他现在把这个名字干掉了就是他直接合到 KMP 里面就大家都叫 KMP 就好了只不过你是在这里面选了那几个平台的区别而已

所以 KMP 和 CMP 有什么区别首先你要做 KMP 的应用你才可以在上面使用 CMPOK 感觉很绕

比如说你如果只是做 Android,然后你用 JPG Compose,那你这是一个单平台应用对吧?那我们如果要做 Android iOS,然后大家用同一套代码库,用同一个 UI 框架,那你就要先用 KMP。KMP 的话它就是可以把 Coding 编成 JVM 上面的东西,就是 Android 上面的东西,然后就原生那一套,然后也可以编一层 Coding Native,那它就可以跑在 iOS 上面。

或者跑在比如说 mic os 上面也可以然后那这个就是他已经可以把这个代码执行到其他平台对吧那就是第一步就他的一个基础你可以执行这个代码那第二步的话就是你要在这个平台上面比如说 ios 上面绘制一个 2D 的图形界面对那你就需要有一个原生的东西或者说需要有像 CMP 这样子的东西

对你有两种选择第一种选择就是你还是写 calling 但是你去调 UIKit 你去调 SwiftUI 那你用 calling 去写这个东西

然后你在 iOS 上面你就用原生的那些 UI 组件库对然后就是下面底层的代码是共享的逻辑是共享的对那上面的 UI 是各自用原生实现的这是一种套路那第二种套路就是你直接用 CMP 对你完全不管 iOS 上面那些东西然后你就整个 F99%都可以共享代码就连 UI 一起共享对所以这里面涉及到两个部分一个是逻辑的部分一个是 UI 的部分明白那官方肯定推荐的是 CMP 对吧

JobRants 的话,它其实两种都推,其实 Google 的话,Google Workspace 它用的是第一种方法,它不用 Compose Multi-Platform,它用的都是原生,或者说用了一些智慧的其他方案我不懂,但是他们在会上讲的就是他们主要就是共享的逻辑层,这是公开信息,他们每年都去 Konfu 上面讲这个事情,就那个 Workspace 的那个组,应该连续讲了三年了吧。

明白 OK 其实我有一点不太理解是这说是不仅是 Google 然后其实 iOS 也有类似对标的就是 SWIFT UI SWIFT 的那一套然后我在想的话其实为什么大家我之前一直没有想清楚一个问题是为什么大家都会

去做类似的一个就说是趋势就比如说我整体的都是再往一套自己生态拜定的一套语言一套全新的 UI 去做是为了提升开发者体验吗还是说怎么说你写过 Swift 和 Objective-C 就知道为什么要用 Swift 了

OC 我其实写过但 Swift 我其实还真没有太写过但是我觉得就比如说你其实为什么不在原本的语言上去进行一个生态的迭代呢对吧 OC 太老了呀就是你很多那种写法它都已经我觉得背离现代语言的一些要求没有人愿意写 OC 了 Swift 就相对 OC 应该有二三十年了吧对 OC 很老比 Java 老 Swift 相对就很现代了那些什么该有的东西都有对

具体他们怎么决策的也不知道但是我觉得可能就是开发者抱怨太多了然后他们也有一个组想有一个新的 KPI 这样我简单搜了一下他已经 41 年了他一开始录的是 small talk 风格的面向对象的特性比我们几个人年纪大多了比 Python 年纪都大对对

我拍摄其实是相对比较年轻的语言吧嗯相对相对中年语言中年语言确实能年一点嗯可以可以

我最后补充一下,可能 KMP 的话在全球其实都不流行目前这个情况不是很流行但是有蛮多公司,特别是一些大公司,他可能会拿来做逻辑层的附有然后 CNP 的话因为我们前面说到他是前不久才变成 stable 了其实用的很少如果你去测试一下,我举个例子麦当劳那个全球版本的那个 APP 你去 ios 商店里面找一下,然后你就会看到他那个 APP

用起来的那个快速滑动的时候那个跟手程度其实不是很好那个就是 CMP 的麦当劳他们就写过一篇文章说我们用 CMP 做了我们这个 APP 啊什么怎么样就很多非原生的应用其实你一用就知道像 Flutter 跟 CMP 做出来的一下就知道它是 Flutter 或者 CMP

对那 re-native 的话可能不一定看得出来因为它本质上它是用原生组件拼出来的一个页面对它如果说没有什么很大的计算量的话它其实滑起来跟原生区别不是很大就我们测试的时候一般就比如说找一个很复杂的列表滑一下你就知道了

其实在你今天说之前我一直以为 react native 还是 webview 但其实不是对它不是对 Facebook 他们还开发了一套叫 yoga 的排版引擎然后你写那些就写 react 的时候他就会把界面的这个排版映射到那个引擎上面然后那个引擎就会调用那些原生的组件去绘制

明白我其实之前也是以为比如说像 react native 这种东西其实就套着一层 native 的皮本质上还是一个就是说是 electron 加 webview 这样的架构哈哈哈哈

Rain Native 其实它是不会死掉的就算是这个框架死掉这种技术也不会死掉的就像我刚刚说的像中国大陆已经有非常多分化的版本然后大家发现应用厂商普遍的接受这个东西然后又很好找到开发者就是 GS 开发者真的是太好找了所以说整套技术战只会一直往前推但是是不是用了 Rain Native 然后是不是说 Facebook 后面继续维护这个不确定

那我其实有一个问题是说那比如说像你刚才我们讨论到的就比如说 JSBRADE 或者说就是还是偏 WebView 或者说以桌面端为例就类似 Electron 这种你觉得在未来的话它的这种情况是发展会比较顺利还是说它后面会彻底的就是说是在移动端上至少是会逐渐的消失掉

这个其实就是来到了今天的重点了对就是我觉得以后如果 AI 很牛逼了对然后这些原生的东西它的输入的材料也够多就可以训练的这些 Codebase 有够多的话比如说我们有很多 SwiftUI 写的 MacApp 那你以后你用 Electron 写出来的东西跟用那个 SwiftUI 写出来的这个东西它的成本是一样的情况下

就没有人会用 Electron 了但是还是有问题就是 Electron 可以跨平台嘛就你用 Swift UI 你可能 Windows 得写一套 Mac 得写一套对对对一样的情况下比如说可能会有很多人转过去用那个对吧因为它有更好的性能啊更好的访问能力啊之类的那如果说 AI 再进化一下就比如说我真的写的不比它慢多少了的情况下

比如说你写完一个他另外一个他翻译一下如果有这种情况出现的时候为什么要用 electron 呢

所以就不知道 AI 后面会发展成什么样但是你刚才不是说 NetEase 5 它的就说是在比如说热根上面都会还是有明显的缺陷但这种情况下会不会还是优先会选择说会带着一些动态更新能力的还是说会去比如说 NetEase 5 加上一个 LuaJIT 或者说是加上其他的一些封装来去解决这个问题好问题这个东西主要还是看公司的业务性质

然后如果说公司是动态化能力要求非常高的那他们自然会去选择有这些动态化能力的技术站其实 Dart 他们现在也是有第三方的下发工具去支持这个东西的

但是他是用什么样的形式绕过了这个 App Store 和 Google Play 的审核我是不知道但是他们声称自己是合法的也就是说他们中间转出来的东西应该是类似于 JS Bundle 的东西对然后下发下去之后再转成 Data 能够跑的现在 Calling Multiply Phone 他们用的那个 Code Push 就是走了这个形式就是你先编成 Calling JS 然后下发

下发之后你执行的时候比如说你有像 QuickJS 这样的执行引擎然后去跑其实我跟 Saka 我们公司现在就用到类似这种东西对我看到你们已经动作安得了对就另外类似这种东西

我很推荐大家去看一下有一个专门做 calling 相关的 cash app 就是那个 square 旗下的一个子公司然后他们公司现在有一套叫 treehouse 的一个系统然后里面有一个库叫 zip line 然后他那个库里面就包了一个 quickjs

然后它就是在安卓上面和 iOS 上面用同一个 JS 运行室对它是一个超小的一个运行室大概就一兆吧然后这个运行室它就可以去跑 calling JS 对然后它再把执行完的这个结果啊什么的比如说你已经把这个图形界面布局已经做好了然后你再传给下面的实际的那个渲染的部分这样子

对我觉得你提到一个点也是之前你发给我的 YouTube 视频里提到就是说现在其实很多的 app 它都不是用单一的框架或者单一的语言它都是很多部分用不同的这种框架拼起来的对对对对吧就比如说你既有 Flutter 然后我可能也有一些 webview 或者是我有 React Native 然后有原生的部分其实你很难说它是本身是用什么就可能什么都有

对然后他们可能只是解包的时候只是看一下 APP 主要用的是什么嗯就有一个主要的比例嘛比如 60%他用的是 Native 那我们就认为这个是一个以 Native 为主的一个 APP 对

对,然后你之前还说到那个 Electron 和原生的问题,其实 AB 的意思你应该是觉得 Electron 终究还是一种妥协,如果大家能够更快更容易的写原生代码,其实是从性能来讲就不会写 Electron。

我觉得是这样但是其实桌面端的话它可能少了一个商店的限制对所以这方面可能不是很好但是移动端的话我认为就除了这种非常强烈依赖于热更新的这个情况那就你们公司的业务需要这个东西或者说你们公司的技术需要这个东西比如说你们是一个很高危的你们需要实时去修复某些线上的 bug 的这种情况下那你会选择 EGS 为主的技术站

其实我有个比较好奇的问题因为你之前说 react native 它底层其实还是用原生的组件嘛但它这个你可以把 JS 代码传下来那它怎么实现热更新呢我的意思是它既然底层是原生的话就它所有的组件都有映射到原生上面去然后它没有映射的你就得自己写自己实现然后基于它的一个协议然后你写了 JS 代码你写了 HTML 那个 tag 那个 tag 它会映射到某一个原生的 view 上面去

对然后里面的所有的属性也会一一的映射过去然后这个映射的过程呢是他给了你一套协议你基于这个协议去实现或者你只要跳过这个编译原生 app 的这个过程你就可以实现热更新了相当于

嗯,对啊,因为比如说你写一个 HTML 的模板文件或者说你用那个 TSX 这种,不管是什么技术啦 anyway 你最后会渲染出一个 DOM tree 嘛,然后这个东西它那个 yoga 那边就是 yoga 就是它原生的那个解析引擎,然后它把这个东西一转,它就过去了

但是我还是想在突然又想方了一个细节比如说像你刚才在做热能星的时候我们去做应用商店对这块就一直是会有一些限制的特别是像之前 iOS 好像还关于 GS 的热能星还落过一些不小的乐子然后这种情况下像这种框架一般会怎么样去保证这种兼容性啊

就首先这些很大的公司他们跟 Apple 肯定不是像我们这种平常跟 Apple 的这种关系对肯定是会有一些不一样的对渠道的那这些大公司他们顶住了 Google 跟 Apple 的压力之后那下面的小公司很多其他市场上面其他小公司也会受益了对也就是说现在其实唯一官方认证可以用的东西就是 JS

所有其他东西都是违规的你写路啊也是违规的但是我知道了有很多公司在写路啊就以前 iOS 的那个就是这种叫配取的这些技术啊大部分都是基于路啊的对然后中国大陆所有大公司你见到的所有大公司他们全部干过甚至一些中型的公司只要有技术实力的他们可能也会干对包括一些游戏公司他们也会干这种事情我都不知道为什么游戏公司要干这种事情哈哈

有公司其实他们审核这方面是很松的你甚至可以在那个资源包里面塞一些代码进去应该也不会管你的对然后他们那个资源包是可以热更的我说好吗 OK 然后也有一些公司就借用一些比如说伪装自己说啊我里面有些小游戏还是干嘛的然后塞一些奇怪的东西进去大家查的很严了但是其实现在技术已经演化到查不出来了

就比如说我在里面塞一个跟 Dart 运行室一样的东西我自己定义的一个某种语言的运行室你根本不知道它是一个运行室对然后我动态下发一些代码对就有某些公司已经在干这种事情了而且已经干了很多年了对那你根本就不知道你用通用的比如说我查一下这里面有没有 Lua 的脚本的执行文件那种的没有用了它已经完全不是 Lua 了

对然后比如说他用 objective c 实现的一个这样子的东西运行是他用 swift 实现的一个这样的运行是然后全部代码都混淆过你也不知道那里面是什么东西对 ok 我操这套就感觉完全变成了很奇怪的形状啊对现在已经非常的奇怪了对然后中国公司很喜欢干这些事情啊对但是不排除了不排除某些美国公司也干过了哈哈

听说听说听说因为技术这个东西对就是还是资本主力确实确实我感觉现在移动端这套东西整体虽然我现在想是一个很有趣的东西如果说我现在比如说我想自己入门去入门移动端然后你是推荐我去学一些跨端的框架还是说是针对某一个平台去 more specific 一点

我觉得你可以两个都写 native 因为现在时代真的是不一样你现在学这个东西真的太快了就 native 的资源又很多然后出问题又很好解决对然后你写代码又不是说要拼手术的时候了就反正都是 webcoding 是吧写 Ui 真的是很多东西没有必要纯手写了对然后既然都是代码生成那为什么不用 native 呢对

然后你不管是学 re-native 还是学 flutter 你很多时候都会碰到 native 的要交互的情况然后这个时候如果你还不熟悉的话其实也是会有一些问题的如果说你要从开始学的话要认真做这个事情的话我建议就直接去做 native

当然这个东西肯定是有个人的偏见的肯定是有个人的主观偏见因为我长期写 native 然后之前写过 react native 和 wix 然后也写过 kmp 的东西但是没有写过 flutterI see 我觉得你这个其实反而会颠覆了我以为你还是说会去推一些比如说跨端的东西

我给你举个例子啊今年 Google I/O 马上就要开了对不对对没错还有两周对然后你看啊 Google I/O 上面安卓的话题大概有二三十个而且排在第一个他那个主题排在第一个他排在 AI 前面我都不知道为什么然后你搜一下 flutterflutter 之后两个还是三个对其中一个还是跟那个 Firebase Studio 合在一起搞的

就两三个 station 这样子对然后你会不会怕说有一天就因为它很小又不是很赚钱 Google 把它砍就肯定会有人担心这种事情的哦确实但是你觉得安卓会死掉吗不可能会死掉的而且 AI 时代过来了之后现在操作系统又有了新的生命力对因为他们可以统筹所有的 app 他们可以去抓你的那个 function 对然后它的系统级别的 AI 可以处理所有的东西

也就是说他才是那个真正运用的所有 AI 能力的人就他下面有一个他自己的 MCP 比如说 iOS 上面还有那个 SiriKit 然后他还有那个 Shortcut 他们这些都是已经以前都做好的的给操作系统用的应用的这个功能接口然后他现在稍微升级一下把他们整合整合他就搞一个自己的 MCP 出来然后再 C 一个稍微强一点的 On-device 的 Model 也好或者说 TradeGPT 也好他就非常强

对,它就可以一下子实现了很多其他公司望尘莫及的能力对,那 Google 这边也是一样的安卓 16 也在做这个事情安卓 16 叫 Function Service 就今年 9 月要上的正式版里面就有这个东西你就可以理解为就是各个操作系统自己的 MCP 系统然后操作系统非常强但我觉得凡是你原生有的都可以再封装一层

对都可以在封装一层没有错我并不是说你不能写 flutter 还是什么我只是说我推荐这个东西然后你做 native 的话去接触这些新的东西的话会比较简单比较直接你就跳过了很多封装但是如果说我想去做一些跨平台的话那是还是只能同时去选两套东西对吧

没有啊没有啊就是如果你是要求快然后创业公司的话比较少会写原生对史诗求是客观说就是这样子 OK 大家会选 Flutter 会选 Red Native

我其实想好奇比如说那个 9M 我问你个问题你当时写你的那个东西的时候你为什么会直接寄 Swift UI 而不是寄于更旧流行的一些 Flutter 之类的东西去写其实这个问题很好回答其实这就是之前 AB 说的那个因为我的 Click Now 需要用到很多原生的 API 尤其是那个 Accessibility

就是中文应该叫什么无障碍无障碍那一套对因为你在屏幕上选择一个词的时候我需要获取到那个词是什么对吧虽然你可以说我模拟一个 command c 这个 keystroke 去复制但是更好的方法是直接用 accessibility API 去获取到那个文字是什么而这个的话呢只有在原生上的支持才是最好的好的 electron 也有支持但是我不确定它支持有多好

所以这就是有很多这种问题就是一些更底层的大家用的比较少的东西你的封装有没有是个问题然后他支持有多好也是个问题对

但是我还是要为 Flutter 证明一下之前 AB 说 Flutter 是不是在未来有朝一日可能会被关掉什么的我个人觉得是不会因为为了录这期节目我专门在公司内部去看了一下其实 Google 大部分 APP 或者说很多 APP 是用的 Flutter 包括最新的我不知道大家用不用 Notebook LM 如果你们有关注的话它最近要出一个移动版然后移动版出了之后你们可以看一下它也是用 Flutter 写的

而且 Google 内部看一下首先它禁止用 react native 就我们不用 react native 然后的话像那个 chatpack compose 的话因为它之前其实是不支持 iOS 的嘛所以你可能写安卓你可以用但是如果你要写一个跨平台的话那其实 flutter 是唯一能用的一个选择对我个人是不觉得它会某一天被干掉或者怎么样对这个很有意思我接着你的话再讲一下哈

那其实外面很多人会担心这方面的问题就比如说包括之前 flutter 裁员的时候都是公开信息他们确实裁过对然后他们都会担心这种问题那如果说从内部的角度来说的话会不会发生这样的事情我举个例子啊比如说是 CMPKMP 这个技术架构对吧然后他也是 Google 自己在推的东西对然后也是自己做的东西虽然说 Coding 不是他们的对但是也是他们在推在合作的因为 Google 是 Coding 基金会的一员嘛

相反来说 Swift 肯定不是 Google 在推的东西所以说 Google 它希望用自己推的东西的技术做自己的 App 比如说 Flutter 它可以跑在竞争对手的平台上面这是一个非常合理的商业决策这个可能不是一个技术决策这可能直接就是一个商业决策我们不用竞争对手写的技术去实现这个东西我们用自己的技术去实现这个东西

那如果说以后内部比如说你是 calling 或者说是用这个 KMP 然后加 CMP 的方式他更好的去支持这个场景之后他跟 flutter 差不多的情况下那这个时候两个东西赛跑很有可能会有一个死掉这只是一个我们常见的就是大公司内部出现的情况而已对我们并不是说哪一个会死掉我们只是说预想说很有可能有一个会出现这样子的情况

对我觉得我答案是我不知道会发生什么吧对就是我觉得你说的是有可能出现但是我个人的观点是即便之后 Cottling 会在公司内部被支持的更好的它和 Flutter 在长期内也是会并行存在对嗯目前来看肯定是了对

我觉得它已经 too big to fail,它已经过于大了,已经到了一个不可能再推倒重来的阶段。你之前提到一个很有意思的点,Dart 一开始是用来写前端的,是这样的,而且我还写过,我进公司一开始拿 Dart 写了一点前端。

对 然后当时公司还搞过一个非常神奇的玩意叫 Dartium 就是用 Dart 重新实现一遍 Chromium 然后你就可以原生跑 Dart 而不是跑 JS 实际上直到今天还有一个东西叫做 Angular Dart 对 Angular Dart 是存在的就是 Dart 版本的 Angular 但这个东西实在是太小众了我觉得大部分人应该都没有听说过所以我觉得我听过

所以它就逐渐示威了对我觉得因为这个东西实在用的人太少但是 flutter 是不一样的对所以我还是比较看好 flutter 的我觉得 flutter 最大的问题其实是 Google 有一些臭名昭著的事情在前面大家都懂比如说突然某一个产品就突然没了

这个东西大家其实是对于 Google 的一个我也不知道怎么说我觉得就是一个 concern 在这儿但你能想象一天 Kubernetes 没了吗不太可能对吧说实话 Kubernetes 其实现在完全是交给基金会在运作的我觉得它和 Flutter 就 Flutter 的现状虽然我们 Kubernetes

我们经常吐槽的一点是说虽然看似是交给基金会来运作然后但是实际上背后就说你 Google 的人去合并一个代码的难度是远小于就远小于其他人这是我觉得不管说 make sense 吧但是这个现象就是存在这但是 Kubernetes 它的一个问题它就说是至少明面上来讲

它的归属权它的商标权它是完全交给了一个隔离了第三方的基金会在运作的就是 CNCF 吧就是属于 Linux Foundation 下面的而 Flutter 上面说实话我目前来看的话我觉得说好像还没有去交给一个独立的基金会去运作对吧说这个东西的话其实如果说 Google 哪一天我说我 Flutter 彻底不玩了

那我觉得它到底就包括像 SWIFT UI,SWIFT 其实也是单独交出来给基金会运作了,然后 SWIFT UI 而不是,那你说这两者就并行的话,某一天大商业公司说 I quit 我不玩了,那社区要完全去接手,要涉及到很多商业问题,我觉得不一定能接得下来的。

我讲两个相关故事一个是 Flutter 已经被 Folk 了就是有几个社区热心维护者已经 Folk 了一个 Flutter 了这就是他们非常的不满意 Google 那边不给他们核 PR 之类的问题就跟你刚刚讲的那个有点像对然后已经 Folk 了一个版本了这个东西的话它是可以独立运作下去但是它的问题是它下面还是 Dart 其实很多 Flutter 的开发者不满意的是 Dart

或者说很多从 AndroidOS 转过来写 Flutter 的人他们不满意的是 Dart 那 Dart 这边他们又没有办法去干预 Google 所以说就还是会有一个问题吧甚至说我们有时候在私下聊天的时候大家会说如果当年是以 Coding 的技术来做这个就是 Coding 为底然后来做这个 Flutter 这个框架的话可能已经早就没有 Dart 的事情了

就不好说了这些事情都不好说说不定以后它下面那个渲染引擎是吧大家就共享了它做成了一个跟语言无关的它直接用私家家实现一个哇那不知道 奇猛了奇猛了又幻想了是吧我觉得我的观点是就是 Costling 终究还是不是 Google 控制的嘛那你从大公司的角度来说他肯定还是希望有一个自己能完全控制的框架对对对这样就是干什么事情都方便一点

对对对对对但是我觉得就是从商标和就从法州社区的一些因为你用一个东西的流行度和其他的东西就还是会和社区内同等生态位的其他的大公司也有关系就比如说像你刚才举的 Kubernetes 我

首先我来讲我就说我觉得比如说像 Flutter 和 Shift UI 这种东西它已经是对于个人就是说它完全已经不是一个 one person 的 project 那当然就比如说我 Fold 之后要完整的运作下去它必须是要有商业公司来完整去接盘的而现在就比如说某一天我就刚才还是 Kubernetes 的一个例子它现在的商标它

它的就是说是从法律上来讲它的东西其实是跟原始的包括 Go 就它后面 Kubernetes 底下的 Go 它是和 Google 原本做了隔离的换句话说我其实商业公司要去接盘所涉及到的法务风险其实远小于很多的这其实我觉得也是很多公司会去 concern 的一点 OK

但是难道用其他的东西就没有这个问题吗就是你任何东西都有优劣本质上就是你他会不会继续维护对吧对对对你说 react native 会不会有一天不维护那这个当然是有 1%的概率对是所以很难讲我觉得是这个问题其实也只能说是去做一个 channel off 了对不过你这么说也是其实 Facebook 在开源上的其实某种意义上

他们的恶名其实比 Google 还是要更差一点的

其实我们之前也访谈过梦迪就是 React Team 的前团队成员然后他们当时我记得他的说法是整个 React Team 包括 React Native 总共也就是 20 个人左右好像是这样所以其实 React Native 人是非常少的是 他们团队人本身就不多对 像 Flutter 我可以确定他们是超过 20 个人的顺便说一下 JPG Compose 的核心设计者是从 React 那边跳过来的 OK

奇怪的知识增加了对对对他在推特上很活跃他每天会搜索各种各样的 compose 的关键字或者 jpg compose 的关键字然后用英语去回复别人用各种语言写的推词不管你是写的是中文还是写的是俄语什么鬼的他都会去回你

看起来你被毁过我突然想到了一个某一位声优然后他高强度在本职工作之余高强度和网友对线然后推特巨魔了属于是这张挺好玩的大家有兴趣可去看一下

OK,行,我觉得那个移动端开发我们聊的也差不多然后我看 AB 还写了一个比较有意思的就是最近在玩一些 on device model 的东西然后你要不要给大家聊一聊

可以可以可以我主要玩的还是 Google+这边的东西主要是因为做一个 GD 然后去做一些分享之类的然后就会碰到说今年出了一些什么新技术然后就来玩一下对然后其实我现在去调研一下发现说其实在手机上面有蛮多小一点的大语言模型和小一点的一些 embooding 相关的一些模型现在都已经可以很顺畅的在手机上面进行推理了

我举几个例子啊比如说我前段时间应该是去年就已经看到有一篇文章啊就写的是用那个 clip 对然后 clip 我们都知道这是一个跟 image embedding 相关的一个这样的一个模型嘛对然后 clip 它其实是已经可以支持在端车直接运行的然后不管是安卓还是 iOS 对然后有一个中国的一个开发者对然后他本来是做算法的然后他就把这个 clip 这个模型移植到 iOS 上面

并且还把它拆成了两个部分,它把其中文字的那一个部分给它额外的拆出来了,然后还进行了一个针对中文的微调然后它现在在 iOS 上面就可以支持语意化的这个照片查找其实原生那个也支持,但是原生那个它其实只是对英语比较好对,然后它这个的话,我感觉速度比原生那个还快一点

就非常的夸张,他 index 他可能一秒可以 index 几十一百个这样子然后具体查找那个推理的那个速度也很快就你输完就可以秒出了那种效果然后找到了那个就是他那个语言模型训练效果感觉也比原生的好一点然后那个 app 叫 queryable 大家可以去看一下然后也有第三方的就是基于他做的这个工作基础上然后实现了一个安卓的版本反正也是用了 clipper

像这种东西其实已经成都度超级高,也有商业价值,它卖了好多就一开始的时候,卖这个 Cliffen 的 APP 卖了好多然后另外一个部分就是常见的这种 LLM,然后 LLM 的话其实我去年今年都测了很多比如说 1B 到 2B 的这样一些模型然后他们在旗舰机或者说在次旗舰机上面其实都跑得很流畅了

推力速度大概比如说这个输出的话能够到达 10 到 20 几 token/s 已经相当可用了算是那这个其实今天要讲这个东西也是源自于我们一开始提到的就是那个有个 youtuber 然后他说现在今年推出的很多 AI 的这些应用对就模型厂商的这个 AI 的这个 chapel 就比如说 chapgpt 或者是 geomani 这样子的

那他们很多选择的都是用的 Compose 和 Swift UI 对然后接下来就是讲到说那比如说以后如果说有下面的这些小的模型可以到端车去跑的话对那会有很多有意思的事情可以去做对

就从这边联想过来说要不要讲一讲这个东西然后其实只是给观众提一下说今年其实大家可以去玩一些手机上面的这种小模型就普通的 LLM 的话他们未必有很强大的就是一个知识体系啊有很强大的这个什么现实的东西的识别能力啊但是他们可以做一些我们常见的推理

推理其实是我们后面去开发各种 agent 的一个比较重要的这样的一个能力嘛对那也包括说像手机厂商你们接下来要去做各种各样的这种类似于 MCP 一样的这样的服务啦其实你有这个足够通用的一个可以在本地跑的推理能力的话就可以实现很多很有趣的场景的应用了然后我们也知道说其实这几年手机的

比如说内存啊或者说 CPU 的执行能力啊都还在有增长空间对每年涨不少了对比桌面端感觉预期会好一点就是增长那个速度会好一点那这个情况下的话如果过几年大家的手机都非常强了比如说都有 16G 啊都有 24G 的内存了那可能跑一个 3B 4B 的模型也不在话下的时候当然就是 CPU 或者说其他 GPU 也很强的时候对那有这种前提的话

我们可以做很多的事情就是在 on device 的这个场景还蛮好玩的我其实好奇像现在就比如说我的机器上跑模型和跑其他应用它对于功耗或者说是整体的影响会很大吗还是说相对不会那么大

我举个例子比如说如果你是用 Gemini Nano 的话它会跑在 Google 定制的那个 SoC 里面的一个特殊芯片上面对 MPU 是吧我不知道那个叫什么对以前叫 MPU 但现在不叫这个了反正就是 Google 的 Tensor 那个什么 G3 G4 对 Tensor 吧好像就叫我记得是对然后它那个里面有专门用来做神经网络训练推理相关的这种加速的芯片对它会跑在这个上面但是常规的手机

其实就是直接用 CPU 和 GPU 去推理嘛对然后其实 Google 现在有个叫 LightRT 的这样的一个框架然后它在 CPU 上面它会用一个叫 XNNPack 的这样的一种优化形式这好像是个算子吧就是它会把常见的那些模型然后去量化到这个版本上面对然后它的话它是代理到四个现场上面也就是说我其实平时测下来的话大概它可以跑到一半的 CPU

OK 那我其实是不是可以理解就比如说现在手机厂商都会针对于开源的模型去做很多特化的就比如说硬件或者说其他的一些东西看每个厂商的实力吧这个我也不是很确定对但是至少你可以看到他们现在那些相册里面的应用都是 on device model 做的有些是很传统的那些 machine learning 的 model 了

但是有一些可能已经是现在很新的这些技术就不管是什么背景消除还是很多都是用 device 的它是完全不会去跑云端的我知道我感觉现在的模型和我之前的认知的东西还有一些不太一样了就感觉以后就算制作移动开发可能也要稍微学一些这方面的东西吧就是跟 AI 相关的一些应用

但是就是你做 APP 的话机会还是少一些还是做系统机会比较大我觉得我个人有个感觉啊就是首先这个 API 开不开放是一方面我们假设它有这种内置的小模型 API 开放但我觉得另外一个最大问题是现在系统的交互方式太受限了就你发现你手机上那些 AI APP 他们的交互

其实都不太好你还是得比如说切到他们 app 的聊天界面对吧然后你就有一个 app 切换过程你没有办法实现说 OK 我就想在我当前比如说淘宝这个页面当然原生的 gmail 也是可以但是第三方不行比如说我划一个图片我要找相似的商品对吧这个功能其实是没有开放给第三方的根据我的理解然后这样限制就很大

我不知道未来会怎么样有两种啊就第一种首先还是我们刚刚提到系统层面的我跟你观点是一致的就系统肯定是最好做这个东西的

对然后他们也可以就是主宰一切上帝视角第二种就是系统会不会开一点口子我举个例子比如说 iOS 它不是里面有那个默认搜索引擎这个东西对吧然后你在任何地方你长按一段文字或者说选一个图你想要搜它的时候你都可以它跳浏览器的时候它会跳那个默认的引擎然后那个默认引擎每年 Google 找他买的买了很多钱对

几十个亿吧应该有最近打官司呢就类似于这样子的 PY 交易的东西我不知道以后会不会开一个默认 AI 引擎然后你就会设置一个然后设置完之后很多系统的交互你就可以接管过去对不是说那个 Apple 在和 OpenAI 谈吗然后国内在和百度和阿里谈对阿里谈对嗯

但我总觉得这个好像就是我有种感觉就可能他们会想把持这个入口因为这是一个非常强大的入口那我如果说呃这些东西你只能通过 device 去实现对吧那我可能可以把这个做成一个订阅我比如说我内置的 AI 功能做成一个订阅然后你们就被迫去用这个没有错对没有错但是这个东西就是后面看欧盟和美国之类的会不会出手这个东西还是得从法律上面去解决它的垄断嘛哈哈

就我再举一个例子啊除了搜索引擎之外其实 TTS 也是可以换的 TTS 引擎也是可以换的对这个我知道对所以说类似于这样子的东西因为它是一个很大面积的人的福祉就比如说 TTS 你说残障人士需要这个服务的他可能全球加起来每年是有几个亿的人需要这样子的东西的对

对我觉得你像搜索引擎对吧因为搜索引擎它背后的广告代表着很大商业利益所以 Google 愿意付几十个 billion 每年去让 Apple 把默认的引擎弄成 Google 可能 TTS 它的经济效益没有这么大所以大家是可以厂商决定就是 Apple 和 Google 都可以让大家自由替换你想 AI 它的能力只会比搜索引擎更强经济效益只会更大所以这块其实是一个很肥的肉在商业层面看

所以说我才觉得说需要欧盟跟美国经常干这种事情的欧盟和美国出手的前提条件是什么是已经有垄断了他们才会出手对吧那前提这个东西已经有垄断一段时间我不觉得他们会有一个预防性的东西这个是看起来是很难的

对对对 不会有预防性的但是往下走的话这个东西只会像寡头去收拢嘛因为现在我们还处在一个早期所以说就是有百家争鸣这种情况但是往后面走的话肯定是会越来越往头部去聚集的很多不行的创业公司就是效益不好就会死掉的这是一个正常的商业现象那出现了这些情况之后然后大家聚拢到一定程度之后

一定会出现垄断的我觉得一定会出现的不管是哪个领域都会有这种事情的对我其实很好奇比如说像现在端层模型

它可能会有的最大的一些就是说场景会在于什么就比如说现在我理解的 AI 之类的其实是常见的是有两种吧就应用第一种其实本质上和传统的 APP 没啥区别就是通过 API 去跟线上的模型服务然后贵司的 APP 啊 Chad GPT 之类的都是一样的吧

然后第二个东西的话像可能会潜在的一些图片就比如说插厨或者其他的对于第二种这种情况我个人我不太确定它是不是为了 AI 然后让模型能够生效而去就为了这点处包的这盘饺子

可能有些隐私考虑吧这个应该是一个实际有用的场景吧就是你刚刚说的就是消除啊等等的就是相册里面的一些编辑工具啊相关的相册里面跟嘛学能力相关的这个部分应该还是有实际应用场景就比如说我们三个可能是男生我们可能用的很少但是世界上很多人女生啊什么的他们会用的很多之类的

这个应该是实际应用场景而且是现在 On-Device Model 用的最多的场景吧那包括也我刚刚讲的那个 clip 这样子你有余余话去搜索说我哪一天在哪里比如说我上个月在日本玩的时候吃了一个什么拉面对吧我突然间找不到那个图了

对然后他你还他现在做的好的比如说我举个例子啊 oppo 他们还是 vivo 啊他们甚至可以做到把你里面所有的文字都提取出来的你可以问说哎我昨天经过了一个店我拍了他们的照片是吧那我找不到了然后你想问说哦抹茶拿铁多少钱比如说你想问说哎新加坡的抹茶拿铁多少钱

他可以直接从那个图库里面输入到这个信息这些东西都是你没有办法通过 API 去做的或者说很难去通过 API 去做你首先你得用这家的云厂商的那个云相测的服务对吧

然后它还得在你手机上面有一个很高的集成度它可以跟你手机上面的某个搜索框可以内置这样子这都是比较麻烦的 OK 那其实你测试下来比如说像你刚才说的我们在从图片里面提取一些有效信息或者其他像现在一些简单的模型它是具备这样我对模型这块确实了解不多就是它是就即便很简单参数的模型也具备这样的就是多模态的能力吗

支持如果说是按照我试过的这几个来看的话它是支持的对你可以把网直接关掉然后你拍个照试一下你就知道它到底有没有用了 I seeI see 对当然前提是说你用的这个语言啦有这么多语言是吧它可能只有常见的那几个是支持的然后另外一种情况就是我们刚刚提到的你在不需要一个很庞大的一个知识库的情况下你需要的是推理能力的情况下

我们刚说这个推理是指说就是你具备比如说一个五岁小孩一个八岁小孩的这样的一个常识性的一个认知的情况下比如说你跟他说我要点一个外卖他知道说要打开这个 APP

就只需要这种常识性的推理的情况下他并不需要说哦这个 APP 里面他有多少的一些知识啊他这个左中掌机怎么做的呀是吧这个东西他并不需要知道的情况下那这个东西是很适合 on device 去做的然后这个也是比较偏向于系统层面合适去做的事情那这个东西你用 1B 的模型你用 1.5B 的模型他的能力再进化一下的话可以很好的解决这个

然后他也可以充当一个简单的聊天的一个 bot 因为以毕竟模型其实你跟他聊天你会发现他很蠢但是他蠢是存在他没有那些知识你让他去执行一些很简单的任务的话是可以做到的然后把一些东西给他串起来做成一个 workflow 做成一个 agent 的话他是可以做到的

明白了对我觉得像照片其实可能更广义的把它可以算作 rag 我觉得像 rag 这种凡是能够利用你手机上原本有的东西的一些任务它其实都是可以做的你比如说帮我找一张照片然后发给我妈对吧这个东西它不需要模型有很强大的这种文本生成的能力它只要能够去建一个所以然后把这些东西用 agent 串起来它就可以了

OK 我其实自己一直在 concern 了一个东西就是说在这个里面摸公号的整体对于就比如说我在去频繁地用这些端上推理的能力它对于公号我自己就可能说我不想我这些日常方面是爽了但是我突然一下手机的耗电量大幅增长这种所以说这个东西我感觉后面也是可能还是在各个场上持续去 follow up 吧

这就是 Google 的强项啊就是什么 AI 定制芯片每年都吹这个东西 IO 我记得我们来看看今年会吹什么样的我今天其实想去搞一个 Pixel 然后体验一下你们 Google 强项能力我现在都在我再讲个题外话你说就我们刚刚讲到的那个 Light RT 它是跟 Gemma 相关一点的对哦

因为它下面是另外一个 team 就是叫 MediaPipe 的团队在跟这个东西去做就跟 Light IT 团队去合作然后做一套可以在手机上面就开箱即用的一些适配各种第三方模型也包括 Gemma 的这样的一个推理框架除了这个东西以外 Google 其实 Gemma 来 Nano 它其实也给了一个框架叫 AI Code

第三方厂商是可以调用 Gemini,内置 Gemini Nano 的推理能力的这个是现在的一个 preview 的版本,大家找去填一个申请表就可以去用这个东西然后 SDK 也是公开的,但是其实你去看一下它那个 SDK 你就会发现 Google 完全没有把内部的能力给开放出来它每年就更新一次,它第一次更新的时候是去年 9 月 30 号第二次更新的时候是今年 3 月 19 号

然后这个版本号我念给你们听一下 0.0.1-EXP010.0.1-EXP02 笑死了大家测下来就发现说它给我们外部能用的调用 Gemini Nano 的框架它调用的效果跟内部比如说你买一个 Pixel 用它内置的那些应用的效果完全不一样

对啊,还要卖 pixel 啊,这种怎么可能给你一个这么强的能力的?就这个东西应该是两码事情了,我们只是外部猜测了。是,就像你说这个模型能力的 API 是一个,然后我觉得它那种 UI 上的 interaction 根本就是完全没有开放,那种东西只能用内置的 geamline 去做。没错,没错。

我敢想说我现在都是在手机上用 Perplexity 比较多内置的那个 Google 的 AI 我基本只用它来搜图就是它那个搜图确实很强就是你直接长按嘛然后你去定位到比如说你的相机里的一个地方它能自动把那个物体给框出来

然后会调用那个 Google 搜索比如说我搜索一个我看到一只鸟我想搜索它是什么品种对吧这个基本上一键两秒钟就搞定了非常快嗯诶苹果好像也有自动识别这是一只什么鸟的这样一个功能就你点那个图片的 information 就可以看对我觉得现在图片这样的一些搜索确实好用现在 iOS 的时候我也很常用嗯对总之我觉得未来这个 On-Device Model 会发展成什么样还是值得期待的吧但是也

还是挺受厂商限制的我觉得挺受厂商限制刚刚我想还有一个东西可以补充一下就是你提到说系统级别用手势去滑滑一块区域然后做搜索这样子的能力其实 Apple 也是能做的只不过它也是要借助类似于它不能 cross app 对它要借助类似于 accessibility 这样的能力去做

或者说你可以把它设置成类似 admin 反正有各种各样的这种奇怪的 API 就是比较冷门的 API 大家没有试过的是可以达到一些这样子的效果的你的意思是比如说 APP A 可以通过 accessibility 实现在 APP B 里面滑的时候调用 APP A 吗可以的我给你举个例子十年前微信红包刚出来的时候就有人做过一个 accessibility 的 service 对然后你就可以抢红包它是自动抢红包的

他就可以比如说你打开微信的时候看到这边有个红包他就会自动帮你点这个东西能上 app store 或者 play store 吗还是说可以的你只要合理他就可以给你上那感觉会有很多 hack 出来对但是像刚刚那种场景可能就不合理他就不给你上 OK 然后这个东西特别的危险因为就跟你用那个 click now 一样你可以识别全局的东西对吧

就看那个开发者的良心不是 ClickNob 不能识别全局他只能识别你滑那部分不能识别全局的就是他只能识别你滑那部分理论上我可以让他去识别全局但是就是我现在只让他识别滑的对

对这个东西就是看开发者良心了是的是的对就看他的道德了就很危险所以建议大家谨慎使用任何 accessibility 的服务然后也包括谨慎使用任何 notification 的服务 notification 的服务就是有一些那种可以监听你的通知栏的

比如说你来了一条短信你来条微信的通知他都可以知道你里面的任何内容这样子就很危险然后现在 Play Store 跟 App Store 他们都是有审核这些东西的比如说你要去监听短信什么的像有个很知名的应用叫熊猫吃软信

大家应该看过就类似于这样子的应用一定都是要小心的像熊猫传染器它是完全离线的它是纯粹使用 on device model 的所以说就没有这个问题然后我还有个朋友开发的应用是安卓上面的它是叫通知绿盒它就是使用了安卓上面的 notification 的 listener

去实现的嗯然后我们知道之前有个臭名昭著的例子嘛就那拼多多嘛拼多多他们其实就是监听了你系统上面的所有通知所以他就可以很好的分析出这个人他现在想要买什么东西对

但是他不是通过常规的 APS 现在他是通过 Zero Day 的这种提权漏洞然后把自己注册上去得对提权不愧是拼多多对对对然后偷偷的注册上去然后绕过了应用的审核对你根本不知道他用了这个权限对而且他好像现在还无效我不知道他现在什么情况对他之前还卸罩还无效就很麻那我们最后来总结一下 AB 你有没有什么要推荐的东西

我最近在用一个这样子的东西温度计不是它是一个物理的番茄中

OK 好你把链接发一下我觉得就是类似于这样子的物理的翻弦松非常的好我以前用过很多就是翻弦松的 APP 但是只有这个物理的翻弦松你才有敲它一下的感觉就是它上面有个超大的 button 你按一下然后它就才会停止那个声音不然它就会一直响一直响一直响就可以站起来对然后你也可以无视任何比如说你不管是用公司的电脑你用自己的电脑你用手机

对它有一个物理的这样一个东西在这里然后你敲一下它就开始敲一下它就结束然后中间是一个你可以定的时间比如说 20 分钟 25 分钟这样子对然后让自己可以站起来活动一下休息一下可以对程序员非常好强烈推荐大家使用这种物理设备我现在就很喜欢这种可以敲一下的感觉就跟你玩马里奥的时候你用头去顶一下那个砖头嗯确实确实

我觉得这种就是有具体的一下物理招募的东西还是会很好玩的对对对嗯好了可以可以三哈你有什么要推荐的吗推荐翻版然后推荐大家去看最近的摸乐女孩和杂旅

可以可以我发现我不看翻太久了你推翻我都不知道了摩洛女孩是摇曳露营的精神续作同世界架构然后最近第四话稿的星火是自己寻你自己在摩洛女孩里面寻你了摇曳露营但是摇曳露营不是没有完结吗不是都还在制作吗是但是这是作者的另外一部然后他就是和摇曳露营是同一世界观的

然后摸罗女孩第三话里面出现了四个第四话里面福子然后全家又出现了一次所以说强烈推荐然后这是世界的真理的分支哇真好真好真好他们也在山里啊这种很有意思对山里那是宇宙的中心 OKOK 对是宇宙的中心没有错我最近看的那个日剧的热点他们也在山里然后 42 这是山里的答案

可以可以可以 42 这不是老梗了吗对我那天看到就说你在 Google 上用问相关的东西然后 Google 会给你们谈一个计算器出来说这是 42 答案是 42 这彩蛋了就跟都道一样的对就很好玩

好的好的本期节目到这边就结束了本期节目就到此结束吧我们让你来结束吧谢谢各位欢迎大家收听二分电台感谢二分电台就随机乱聊感谢补舍者说的邀请下期再见我们下期节目再见拜拜拜拜拜拜