vianvio / FE-Companions

山虽高,我心已决要攀登, 路再难,绊不住我的脚跟; 因为我看到生命之路就在这里。 -- 《天路历程》
447 stars 34 forks source link

20200513 - 科技改变生活 #68

Open vianvio opened 4 years ago

vianvio commented 4 years ago

问题列表:

  1. rn与小程序如何结合的?
  2. 为什么native端选择rn而不是native直接引入开源小程序框架?
  3. 出于什么业务场景的考虑,选择小程序?小程序会投放几个端?自动化等配套设施怎么做的?
  4. taro方案的设计模式是怎样的?这个设计模式的解决了什么问题?会引入哪些新的问题?
ygs-code commented 4 years ago
  1. n与小程序如何结合的?
    • react-native-wechat 这个包可以获取到微信小程序的api
  2. 为什么native端选择rn而不是native直接引入开源小程序框架?
    • 因为开源小程序直接Native(Java/Objective-c/…)端 通信可能难以实现,通信机制需要自己写sdk。而native 已经帮我们做好这一层 所以 用小程序框架对接rn,rn在对接native
  3. 出于什么业务场景的考虑,选择小程序?小程序会投放几个端?自动化等配套设施怎么做的?
    • 小程序 这个跟用户场景有关,毕竟现在大厂社交软件都积累了大量用户和流量,通过做小程序可以把大厂的一些用户导入到自己应用中,减少市场推广成本。
    • 自动化等配套设施怎么做的?目前小程序自己有适配方案,实际上可以多端可以通过css loader 编译 转码 等对应的缩放值
  4. taro方案的设计模式是怎样的?这个设计模式的解决了什么问题?会引入哪些新的问题?
    • taro方案的设计模式 实际上就是,跟个package 配置的命令,然后用户执行命令之后,webpack会拿到参数 什么端或者环境,等执行不同的loader和plugin 编译各个平台所需的代码结构。
    • 解决了需要做多端应。,可以写一套代码即可,减少开发时间成本
    • 问题:因为多端代码写在一块,不同的端可能有些地方会有差异,然后把所有端的代码写在一块,耦合度也高,修改bug代码时候 测试也需要测试多端平台,才能保证他们不出问题。修复bug 考虑问题也比单端问题复杂。
vianvio commented 4 years ago

Q1: rn与小程序结合需要回答到选型层面,大部分情况两者选其一即可,但是简历上却有两个,所以只是回答系统上怎么做是不够的 Q2: 很难实现不是一个合理的理由,从整体性能考虑,多了一层rn会增加很多开销,体验上会有很大影响 Q3: 这个回答太过浅层,会投放哪几个端是考察业务认知,具体投哪几个,为什么投都需要答出来。如果没有外投,那么回到Q1的地方,完全没有必要用了,如果只有外投,那又为什么要自建app?这些都需要从业务角度给出判断。 其次配套设施指的是发布体系和研发体系的配合,能否做到一键多投,如果某个端出问题了,能否快速回滚这些都需要体现出来 Q4: 回答的并不是设计模式。最后提出问题之后需要给出解法。