最近在公司里面遇到一个尴尬的事情,一开始手机是用Native开发的,进度赶不上产品的需求,有人反馈用H5可以大大加快速度,老板有点意思,但是又有人反馈用H5坑多,这下团队不知道如何是好,怎么选择了。为了解决这个问题,我结合一下自己的开发经验,尝试说明一下大前端如何进行技术选型。欢迎看官给我更多建议,大家一起讨论。
名词解释
手机端
现在移动端的使用人数大于桌面端,所以先讨论一下移动端,列举一下我知道的现有的技术方案,只讨论android和iOS系统
注意点:
混合开发不是只开发一个h5webapp就好了,h5是需要调用本地接口的,所以需要部署在本地,如果把h5放在远程,就只能显示一些静态资源,如果远程调用本地接口,则是非常危险的事情。
其他Native方案不一定是Javascript写的,比如Xamarin就是用C#,所以挑选自己团队喜欢的方案很重要,需要有个人能罩得住,有一些和原生平台相关的问题,需要技术专家去解决。
其他Native方案实际上是牛逼团队提出的方案,他们有原生平台非常精通的人,也有其他领域精通的人(比如Xamarin就需要C#精通,Mono虚拟机有所了解和原生也懂的人。RN需要对React,JS,原生系统都很了解),所以人家能提出牛逼方案,如果你的团队没有能罩得住的人,则会在不断挖坑填坑。
业务非常着急的小团队,还是比较适合技术栈不复杂,有很多成熟方案技术路线,所以原生开发比较合适,也好招人。
业务非常着急,但是有钱,可以招牛人或者已经有几位牛人的团队,适合用“其他Native方案”。
小白比较多的团队,也适合使用原生开发。
特别小的创业团队,验证商业逻辑的,可以使用混合开发,因为性能不是最重要的。
如果使用了原生的开发方式,其实也还可以混合其他开发方式,当团队发展壮大的时候,可以适当的切换。
上面并没有开发游戏的方案,因为我还没做过游戏,游戏和APP开发的原理也差别很多,游戏里面比较火的引擎,unity3d.