公司让我独自开发 app,我想用 react-native,大家有什么建议 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
yantianqi
V2EX    程序员

公司让我独自开发 app,我想用 react-native,大家有什么建议

  •  
  •   yantianqi 2018-05-25 15:38:34 +08:00 22491 次点击
    这是一个创建于 2699 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对 vue 比较熟练,react 稍微了解点

    公司让我独自开发 app,以前用过 apicloud 之类的,感觉没啥技术含量,想用 react-native

    react-native 今天刚看了看,目前还是迷迷糊糊状态。

    v 友有什么学习 react-native 的资料,或建议吗?

    第 1 条附言    2018-05-25 17:52:29 +08:00
    以前学过一段时间的 react,基本的还是会,原生开发没接触过,react-native 今天刚看了看。

    本人前端一枚,在做 app 上目前还不知道应该怎么选型,独自一人做,目前公司,没有大神。

    看大部分说 react-native 很多坑,其实我选 react-native 的原因是,网上搜了搜说的都很火,然后因为是新东西,感觉也能从中学到很多东西。
    第 2 条附言    2018-05-25 18:44:32 +08:00
    看完大家的讨论,RN 真的这么坑吗?这么火的东西这么坑。。。
    第 3 条附言    2018-05-25 19:05:17 +08:00
    我有点想放弃 RN 了

    看了大家的意见
    1. cordova
    2. flutter
    3. meteor
    4. Nativescript-vue
    5. weex 我感觉这个更坑,不用考虑吧?
    85 条回复    2019-11-19 19:12:55 +08:00
    VDimos
        1
    VDimos  
       2018-05-25 15:40:52 +08:00 via Android   1
    vue 换到 rn,步子太大容易扯到蛋
    murmur
        2
    murmur  
       2018-05-25 15:41:38 +08:00
    你对 vue 比较熟练为什么不考虑 cordova+vue
    有性能要求么
    react native 上手还是有点难的 毕竟你要先学 react 然后还要适应 react 独有的坑 还有 rn 每个组件的坑
    开发 ios 你还要有 mac 机器 毕竟 rn 的坑不是在浏览器里仿真就能踩完的
    当然如果公司给了你足够的学习时间上 rn 是最好的选择
    wxsm
        3
    wxsm  
       2018-05-25 15:44:32 +08:00
    重点是“独自”,如果你没有 native 开发经验,则不建议使用 RN。建议使用 cordova
    liuzhedash
        4
    liuzhedash  
       2018-05-25 15:49:31 +08:00
    react native 需要有原生开发的经验,如果是没搞过原生的 app 开发,那么相当于同时学原生开发+react+react native,这个难度比较大。
    建议按 2L 思路走。
    linweijian
        5
    linweijian  
       2018-05-25 15:57:02 +08:00
    如果不会原生开发,不建议使用 react-native,当然如果开发的 APP 比较简单的话还是可以用的,如果比较复杂的,就不行了,必须要写原生模块才能解决
    kkopitehong
        6
    kkopitehong  
       2018-05-25 15:59:49 +08:00
    之前的项目用的 vue+cordova+webpack 最近的新项目也准备用 react-native

    用 cordova 在某些 低配手机上是真的卡
    FreshOldMan
        7
    FreshOldMan  
       2018-05-25 15:59:54 +08:00
    这是一个深坑
    murmur
        8
    murmur  
       2018-05-25 16:03:26 +08:00
    @kkopitehong cordova 在 ios 上必须上 wkwebview android 要>4.4 低于这个简直无解
    janxin
        9
    janxin  
       2018-05-25 16:04:44 +08:00
    你要不是前端开发我不推荐你用 RN,你要不是安卓开发那就另说
    nine99
        10
    nine99  
       2018-05-25 16:05:29 +08:00
    RN 的选择应该没错的。
    jiafaner
        11
    jiafaner  
       2018-05-25 16:05:39 +08:00
    使用 vue 开发,有没有好用的前端框架推荐?需要兼容 ios 和 android。
    hhvv23911k
        12
    hhvv23911k  
       2018-05-25 16:11:04 +08:00
    表示你用 rn 开发不懂原生的话,坑应该比较多,我原生看 rn 坑也不少!如果性能要求不高,要不直接套 webview 得了
    misaka20
        13
    misaka20  
       2018-05-25 16:12:17 +08:00
    RN 坑太多
    dong3580
        14
    dong3580  
       2018-05-25 16:13:13 +08:00
    业余独自写了一年的 rn,坑太多。。。,不少 issue 都要和 github 上面的童鞋一起解决,或者压根都是官方的 bug. rn 依赖库更新速度太快了,升级经常伴随着各种红。不过,rn 的选择没错!
    Marven
        15
    Marven  
       2018-05-25 16:36:48 +08:00
    对 vue 熟练,那用 weex 呀
    maxxxxx
        16
    maxxxxx  
       2018-05-25 16:49:05 +08:00
    @Marven 怕是早就凉了。。
    bullettrain1433
        17
    bullettrain1433  
       2018-05-25 16:51:12 +08:00
    codova 吧,rn 坑大
    maichael
        18
    maichael  
       2018-05-25 16:51:36 +08:00
    没有 native 开发经验不要独自用 React-Native,找死的行为。
    n37r06u3
        19
    n37r06u3  
       2018-05-25 16:54:49 +08:00
    ionicframework 也行吧
    dodo2012
        20
    dodo2012  
       2018-05-25 16:55:01 +08:00
    @Marven 心大用 weex, 我自己写的 weex 插件,官方更新两次后直接不能用了,现在文档还是一坨 x,实在不推荐。
    marcushbs
        21
    marcushbs  
       2018-05-25 17:02:30 +08:00
    业务内容呢,媒体播放 /编辑类这种 native 交互多的就算了,坑多且深。如果就是一个 feed 列表+detail 页的倒是可以上 FlatList/SectionList 其实超过 1000 条之后性能也不太好
    tnt666666
        22
    tnt666666  
       2018-05-25 17:05:09 +08:00
    建议 flutter
    shiji
        23
    shiji  
       2018-05-25 17:11:41 +08:00 via Android
    我只是觉得 rn 的坑比较多,而且很多坑还处于有待发现的状态。
    ai277014717
        24
    ai277014717  
       2018-05-25 17:18:55 +08:00
    调研一下 api 够不够用 不然工作量加倍
    haozes
        25
    haozes  
       2018-05-25 17:21:11 +08:00
    我也感觉 RN 坑比较多,搞得好累
    tujin
        26
    tujin  
       2018-05-25 17:23:33 +08:00
    React 不熟悉,原生没搞过,不要独自搞 RN
    run2
        27
    run2  
       2018-05-25 17:27:04 +08:00
    @tnt666666 #22 flutter 现在是玩具, 你弄个支付 sdk 怎么整合?
    IamJ
        28
    IamJ  
       2018-05-25 17:27:24 +08:00 via Android
    天坑
    imwalson
        29
    imwalson  
       2018-05-25 17:40:43 +08:00 via Android
    熟悉 vue,可以试试 Nativescript-vue,虽然国内名气不大,但是国外社区挺活跃的,官方维护力度也不错,前提是查阅英文文档的能力、翻墙能力足够强
    cnbattle
        30
    cnbattle  
       2018-05-25 17:43:41 +08:00
    留名, 无 ios 和 android 经验,少量 web 前端,同有兴趣了解一种工具做 app
    whypool
        31
    whypool  
       2018-05-25 17:43:48 +08:00
    还是用 apicloud
    就套个 webview 壳子就行,别搞什么原生交互的骚操作
    其他都特么坑多,如果有硬件交互或者原生交互,用原生
    其他方案都是巨坑,天坑!!!
    circleee
        32
    circleee  
       2018-05-25 17:44:02 +08:00
    直接上,大不了 删库跑路

    开玩笑 ,感觉如果要求不是很着急额,用也没有什么问题吧。

    不敢用新的,永远也学不会的。
    yantianqi
        33
    yantianqi  
    OP
       2018-05-25 17:44:37 +08:00
    以前学过一段时间的 react,基本的还是会,原生开发没接触过,react-native 今天刚看了看。

    本人前端一枚,在做 app 上目前还不知道应该怎么选型,独自一人做,目前公司,没有大神。

    看大部分说 react-native 很多坑,其实我选 react-native 的原因是,网上搜了搜说的都很火,然后因为是新东西,感觉也能从中学到很多东西。
    winglight2016
        35
    winglight2016  
       2018-05-25 17:53:02 +08:00
    除非你有一两个月的学习时间,不然 H5+壳是最现实的选择
    defunct9
        36
    defunct9  
       2018-05-25 17:57:33 +08:00
    推荐 meteor
    weixiangzhe
        37
    weixiangzhe  
       2018-05-25 18:19:30 +08:00 via iPhone
    rn 可以试试 expo, 不然原生还是有大量东西搞的
    laven
        38
    laven  
       2018-05-25 18:22:38 +08:00
    试试 weex
    jevonszmx
        39
    jevonszmx  
       2018-05-25 18:31:34 +08:00
    rn 坑很深的,只适合在不重要的地方用用,你要是大量用,真的不如去学原生的。
    paranoiagu
        40
    paranoiagu  
       2018-05-25 18:49:15 +08:00 via Android
    正在跳坑
    rrfeng
        41
    rrfeng  
       2018-05-25 18:57:26 +08:00 via Android
    flutter 试试
    PhpBestRubbish
        42
    PhpBestRubbish  
       2018-05-25 18:57:34 +08:00
    weex
    jjianwen68
        43
    jjianwen68  
       2018-05-25 18:59:18 +08:00 via Android
    flutter?
    xiaojie668329
        44
    xiaojie668329  
       2018-05-25 20:00:16 +08:00 via iPhone   1
    看到大家说这么多坑,不知道学 rn 和直接现学 swift 哪个更快…
    uilvn
        45
    uilvn  
       2018-05-25 20:06:38 +08:00
    quasar 了解一下
    lsyAndroid
        46
    lsyAndroid  
       2018-05-25 20:48:27 +08:00 via Android
    能吃透就用,否则先想想
    WooYou
        47
    WooYou  
       2018-05-25 20:53:55 +08:00 via iPhone
    好奇 RN 有啥坑呢,现在用 RN 写的还挺舒服还没遇到啥坑
    kingcos
        48
    kingcos  
       2018-05-25 20:58:15 +08:00 via iPhone
    @xiaojie668329 别入坑不就行了…
    zv2
        49
    zv2  
       2018-05-25 21:19:02 +08:00
    swift 每年学一次,2333
    caola
        50
    caola  
       2018-05-25 21:22:27 +08:00
    光想有什么用,不试试怎么知道自己行不行
    MASAILA
        51
    MASAILA  
       2018-05-25 21:24:31 +08:00
    这个还要看项目需求吧,其实学原生挺容易的。。
    koalli
        52
    koalli  
       2018-05-25 21:30:45 +08:00
    ionic 了解一下
    newbieo0O
        53
    newbieo0O  
       2018-05-25 21:32:24 +08:00 via iPhone
    要么 webview,要么原生语言
    hugebug
        54
    hugebug  
       2018-05-25 21:51:16 +08:00 via iPhone
    FLutter 现在不是很成熟,用 RN 就挺好的,不过要对原生了解一些,已经开发两个应用了,支付地图推送都可以搞定
    momocraft
        55
    momocraft  
       2018-05-25 21:57:22 +08:00
    你列的几个选项坑未必少, rn 这么多年了坑多少踩平了点.
    Rorysky
        56
    Rorysky  
       2018-05-25 22:23:02 +08:00
    独自开发的话,技术栈并不是很重要。

    选个自己喜欢的
    SilentDepth
        57
    SilentDepth  
       2018-05-25 22:27:44 +08:00
    如果项目比较着急,Cordova Hybrid App 可能是最稳妥的方案。当然性能是否符合要求看你做的是什么。

    NativeScript 还不错,但 nativescript-vue 说实话是另一回事。很多功能用原生 NS 没什么问题,用 NS-Vue 就不一定好搞了。我目前的理解,NS-Vue 差在开发成熟度上,NS 官方说它还没有 bullet-proof 是真的。当然,如果业务不复杂,NS-Vue 没什么太大的问题。

    Weex 就有点尴尬了,理念很好,但成熟度上可能还不及 NS-Vue。

    移动端 Meteor 没试过,但不觉得跟 Cordova 比有什么明显的优势(对于移动端 App 开发体验而言)。

    Flutter 很有意思,但不适合着急的项目,一来这需要上手全新的技术栈,二来 Vue 的经验基本用不上。楼上有人说的社区整合(比如支付)方面也差一些( Flutter 目前似乎还谈不上社区)。

    总之,不论选择哪个方案,原生开发经验的有无会带来明显的差异。
    visonme
        58
    visonme  
       2018-05-25 22:35:00 +08:00
    app 主要处理什么业务呢?
    作为前端,在对 RN 不是很了解的情况下,不推荐,能用 vue+cordova 解决的就不要考虑其他了
    encro
        59
    encro  
       2018-05-25 22:58:43 +08:00
    网上看到 rn 坑多,是因为用的人多,没有看到 cordova,weex 等的坑是因为用得人少。
    作为一个在一年前同事用过 weex 和 rn 的人来说,
    rn 插件已经形成一定生态,
    而 weex 还是空白,
    现在我就不清楚了,
    因为那个项目已经死了。
    死之前还用小程序重构了一次。
    你为什么不用小程序?

    总结是:rn 的坑,rn 的插件的坑都有许多,但是 weex 和其他基本还没有插件生态,所以没有坑?
    gaodeng
        60
    gaodeng  
       2018-05-25 23:04:36 +08:00
    RN 坑是不少,不过好在基本可以绕过去。刚刚用 RN 完成了一个 App,现在在测试。帖子在这儿 t/457738 感兴趣可以试试看效果。
    murmur
        61
    murmur  
       2018-05-25 23:05:01 +08:00
    @encro cordova 的坑是少,就算坑也是坑在性能问题上,一个 uiwebview 一个 wkwebview 都是大家逃不过的东西,你会遇到其他 wap 开发也会遇到,也就是厨子埋下的坑还没等上 rn 呢,直接做移动端兼容性的人就会发现
    所以你碰到的问题绝大多数也是垃圾 safari 留下的问题
    前提是不要放太多的第三方 native 接口
    如果你放了好几十个 native 接口 可能 2 个都不适合 你应该自己开发一个壳子然后往上适配 webview
    bigggge
        62
    bigggge  
       2018-05-25 23:05:16 +08:00
    你们光说 rn 有坑,那么到底有哪些坑?
    NonClockworkChen
        63
    NonClockworkChen  
       2018-05-25 23:06:31 +08:00
    对我来说,RN,是在用命写。。。
    murmur
        64
    murmur  
       2018-05-25 23:10:48 +08:00
    @bigggge
    首先 rn 那一套就是 react 差不多的生态链,比起 vue 的三段式写法理解起来就有点高度,vue 的起点已经低到会 jquery 会 template 就可以上手了
    其次 rn 虽然看上去是 js+css 总归是一层适配到 native,你在用起 css 是有忌惮的,第一次上手总要习惯哪些可以用哪些不能用 哪些有限制 对于 js 库也是一样的
    还有以前玩的时候很喜欢的 navigator 说放弃就放弃了
    sharkrice
        65
    sharkrice  
       2018-05-25 23:14:39 +08:00
    React native 团队作战很舒服,独自开发就要面临各种挑战
    gaodeng
        66
    gaodeng  
       2018-05-25 23:21:04 +08:00
    @bigggge 看看 RN 在 github 上的 issue 的数量,以及他们是如何处理 issue 的就清楚了。被 RN 虐了一段时间后 现在基本上开发 RN 项目过程中一出现灵异事件,就马上反应是到 RN issue 里面搜索一下。
    alian
        67
    alian  
       2018-05-25 23:25:37 +08:00
    其实我觉得坑是避免不了的,有这个机会拿来锻炼不错。不然坑一直在那。
    murmur
        68
    murmur  
       2018-05-25 23:26:43 +08:00
    @alian 这个其实没必要,如果业务不是特别和腾讯打架我其实还推荐去做微信小程序,毕竟微信的用户群太恐怖了
    tyrealgray
        69
    tyrealgray  
       2018-05-25 23:30:47 +08:00 via Android
    非原生方案写 app,除了 rn,没有其他选择。rn 遇到坑可以填,其他框架你遇到坑你填都没法填。
    murmur
        70
    murmur  
       2018-05-25 23:32:45 +08:00
    @tyrealgray 除了,没有,你这吹的有点过了,其实有的业务真的不配当 app,也就一个微信公众号就搞定的事。。
    tyrealgray
        71
    tyrealgray  
       2018-05-25 23:54:58 +08:00 via Android
    @murmur 别给我说,给楼主说让他不写 app 呗。

    吹啥了,现在除了 rn 坑少点,还有其他哪个框架能够经得住维护摧残的?
    james2013
        72
    james2013  
       2018-05-25 23:56:04 +08:00
    简单的 app 可以用 RN,复杂的界面和效果就不建议 RN,因为有的坑太难填
    callmexiaoliu
        73
    callmexiaoliu  
       2018-05-26 00:02:46 +08:00
    rn,不是很吃性能的应用,基本上 RN 都够用了
    Manweill
        74
    Manweill  
       2018-05-26 00:18:28 +08:00
    1.先说下你可能涉及的业务
    2.你可能需要了解或者掌握的技能
    数据流 redux、mobx (推荐)
    路由 react-navigation
    es6、es7...
    flex 布局
    UI antd-mobile、native-base
    本地数据存储 AsyncStorage、realm
    然后大多数的情况下,跟原生交互的库,在 github 上都有第三方的实现,如果没有,也可以自己基于 sdk 去封装,毕竟只是调用 sdk,自己模仿 SDK 的官方例子写还是勉强写。
    非常同意 #69 楼说的,RN 遇到坑了还可以填,社区也够强大,其他的遇到坑,你想填还填不了。
    v2dxt
        75
    v2dxt  
       2018-05-26 10:30:01 +08:00
    手动 mark
    Anshi
        76
    Anshi  
       2018-05-26 11:22:13 +08:00
    展示变多的可以 rn 交互很多就不要 rn 了。。纯建议哈。。
    其实最好用 webview 套一层
    纯学习可以来挖挖 rn 哈
    byztl
        77
    byztl  
       2018-05-26 13:23:23 +08:00 via iPhone
    写原声的,公司让用 mui ,性能真的辣鸡
    Panway
        78
    Panway  
       2018-05-26 14:10:27 +08:00
    对于你这种有 VUE 基础的,weex 上手真的很快,复杂的 UI 组件和 Module 啥的还是得原生程序员来简单支持下,我们公司的 iOS 安卓 App 界面,大部分都是一套 weex
    kouryu
        79
    kouryu  
       2018-05-26 15:00:09 +08:00
    @sobigfish dart 解决不了的部分,用原生语言写就行。
    vamxmen
        80
    vamxmen  
       2018-05-26 15:41:44 +08:00
    mui 啊~为什么木人推荐
    melonrice
        81
    melonrice  
       2018-05-26 17:49:17 +08:00
    居然给单人撸的商用级的 app 推荐 Flutter...作为最早吃瓜的群众之一,你这是推楼主入火坑啊
    shouhuori
        82
    shouhuori  
       2019-01-25 13:41:06 +08:00
    现在楼主怎么样了。还在用 react native 么。我觉得 react native + expo 开发体验还蛮好啊
    yantianqi
        83
    yantianqi  
    OP
       2019-01-31 16:45:47 +08:00
    @shouhuori 没有用 rn,没有机会用到。
    misch
        84
    misch  
       2019-02-25 15:25:49 +08:00
    不推荐 Nativescript,生态还不够健全,很多功能轮子都没有,都需要自己来写。
    djdaishu
        85
    djdaishu  
       2019-11-19 19:12:55 +08:00
    Nativescript 目前已很成熟 推荐入 Nativescript-vue 真的很不错 尤其性能
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3882 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 10:19 PVG 18:19 LAX 03:19 JFK 06:19
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86