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

什么业务场景是 rn、weex、等框架没有办法 hold 住,必须上原生的情况

  •  
  •   Sniper416 · 2021-01-21 16:56:37 +08:00 · 3220 次点击
    这是一个创建于 1400 天前的主题,其中的信息可能已经有所发展或是发生改变。
    22 条回复    2021-01-22 13:52:34 +08:00
    eGlhb2Jhb2Jhbw
        1
    eGlhb2Jhb2Jhbw  
       2021-01-21 17:00:54 +08:00   ❤️ 3
    什么业务场景是原生没有办法 hold 住,必须上 rn 、weex 、等框架的情况?
    Gloomyer
        2
    Gloomyer  
       2021-01-21 17:14:21 +08:00
    相机 /蓝牙?
    vertigo
        3
    vertigo  
       2021-01-21 17:59:37 +08:00
    同事的野心?
    ssshooter
        4
    ssshooter  
       2021-01-21 18:01:55 +08:00
    流畅的动画
    loveToMy1
        5
    loveToMy1  
       2021-01-21 18:05:04 +08:00   ❤️ 3
    产品经理或老板的决定 🐶
    Jirajine
        6
    Jirajine  
       2021-01-21 18:15:27 +08:00 via Android   ❤️ 1
    比如说工具类,和系统深度耦合的应用。
    thtznet
        7
    thtznet  
       2021-01-21 19:01:02 +08:00   ❤️ 1
    国内大部分的流氓应用场景基本都没办法 hold 住,必须原生+奇技淫巧
    liut2016
        8
    liut2016  
       2021-01-21 19:01:55 +08:00
    VPN
    NonClockworkChen
        9
    NonClockworkChen  
       2021-01-21 19:13:20 +08:00
    强依赖 sdk 的,直播之类的
    beginor
        10
    beginor  
       2021-01-21 21:03:35 +08:00 via Android
    黑域,存储重定向, 脸谱(Magisk), 好多了
    akira
        11
    akira  
       2021-01-21 21:25:33 +08:00
    wx 朋友圈
    imgbed
        12
    imgbed  
       2021-01-21 21:53:50 +08:00 via Android
    视频实时美颜?
    nieyujiang
        13
    nieyujiang  
       2021-01-21 22:10:55 +08:00 via iPhone
    Vpn,音视频编码解码,深度耦合系统功能,调用各种奇怪的底层接口
    lihongming
        14
    lihongming  
       2021-01-22 00:38:03 +08:00 via iPhone   ❤️ 2
    如果你需要考虑广大农村地区、老人、以及低收入人群用的那种 512M 内存的破手机,那就所有场景都不适合,必须上原生。

    程序员们用的设备都太好了,包括开发用的电脑,配置太高了,不知道贫下中农的痛苦。
    zpxshl
        15
    zpxshl  
       2021-01-22 01:05:30 +08:00 via Android
    赞同 14 楼。
    Bijiabo
        16
    Bijiabo  
       2021-01-22 01:31:56 +08:00
    @lihongming 赞同。另外补充一下我的观点:
    1. Weex 啥场景都 hold 不住,这玩意儿就是个垃圾
    2. 对于 RN
    2.1 涉及到高频复杂数据交互的不太适合(比如特定物联网领域),会存在队列阻塞问题,JNI 版本还没正式发布,需要原生做一些支持才能扛得住
    2.2 需要非 HTTP 、WebSocket 通讯的场景,比如 MQTT 、TCP 、UDP 或其他加密通讯方式,普遍需要原生提供接口封装支持
    2.3 需要用到一些仅提供 Native SDK 的服务时,需要上原生,有的服务原生代码要写的挺多的
    2.4 音视频相关需求...特定界面还是必须原生
    3. 具体业务场景来说,我个人觉得 RN 对于大部分场景都是能 hold 住的,只是成本高低和团队构成问题。如果遇到一个死活不愿意用 RN 的团队... ... 比如上原生
    pkupyx
        17
    pkupyx  
       2021-01-22 08:06:19 +08:00
    以 0.63 来说的话:
    1.音视频直播
    2.相机、录音
    3.和本地文件(音视频 office 全家桶等等)的读写编辑
    4.性能要求比较高的动画特效
    5.无法接受 FlatList 滚动过快白屏
    6.过多的原生三方依赖,少的话还能自己做 bridge 。

    如果今年 JSI 能正式替换完整,性能大概能有个显著提升。
    Beats0
        18
    Beats0  
       2021-01-22 08:17:30 +08:00 via Android
    就一个 Flatlist,几万条数据渲染再复杂一点,渲染会变得非常慢导致白屏
    lagoon
        19
    lagoon  
       2021-01-22 09:20:14 +08:00
    注意,说的是“等”,但回答是“某个”。

    不过这些框架,底层实现方式完全不同,所以差别其实挺大的。

    从目前感觉来说,没办法的情况有几种:
    1 、大量的强硬件相关。楼上几位说相机,这取决于要用相机干嘛。至少我这简单用相机拍照是不用写任何原生代码的(权限配置应该不算吧?)。
    2 、必须要用的 sdk 是否有对应版本。说音视频、直播的,有些音视频第三方是有提供某些跨平台框架的版本的。
    3 、手机性能,不能是太低配的手机。这个不同方案,对手机性能要求不同。如果底下是“基于 web”,那要求就会高一些。楼上说 512M 内存的手机例子太极端....512M 内存多数的原生 App 也卡的要死吧。
    lagoon
        20
    lagoon  
       2021-01-22 09:29:04 +08:00
    补充下吧,其实能不能 hold 住,归为以下几类:

    1 、是否有现成封装好的组件。
    sdk 也好,音视频也好,就是这个道理。没有,就得自己搞。
    有的人可能会把这当作是跨平台 hold 不住的例子,但如果这是 hold 不住的话,Java 和 swift 都 hold 不住了。因为你看那一众 C 语言打包的产物。

    2 、是否有高要求。
    优化到底层,以 Android 为例,有些公司 TextView 这么低性能的东西是要优化的。
    这种层级的优化,那显然是要原生的。

    3 、Android Framework 之类开发。

    4 、针对极低性能客户。比如针对某些老人机、儿童机。
    MonkeyBro
        21
    MonkeyBro  
       2021-01-22 09:49:22 +08:00
    没有,什么性能音视频巴拉巴拉,只要你足够牛逼,就一定能 hold 住,卷起来!
    jones2000
        22
    jones2000  
       2021-01-22 13:52:34 +08:00
    股票 App,交易策略回测计算( 虽然可以放再后台计算, 但很多用户都不愿意把自己的核心策略提交给你的后台,所以只能是本地计算)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   962 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 21:24 · PVG 05:24 · LAX 13:24 · JFK 16:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.