懂商业的技术合伙人(12):新闻博客等内容型APP,快速开发解决方案
友情提示:APP等很多类型的项目开发,自己并没有深入去实践,仅供参考。
在之前的文章中,我们一再强调,如果没有必要,尽可能不开发APP,优先使用微信公众号等轻量级、用户留存高的平台。
但实际上,身边还是有创业的伙伴,想要做iOS和Android双平台的APP。
既然如此,我们还是给出一点思路供参考。
一、3种解决方案
1、内容型APP
概念范围:新闻、博客等侧重内容和展示,比如网易新闻、****博客。
解决方案:纯HTML5开发,比如之前推荐的HBuilder+MUI。
部分伙伴有反馈,MUI存在局限性。由于没有深入实践,不予评价。
不过,根据我自己的调研和Demo开发,做内容型的APP是没有问题的。
2、平台型APP
概念范围:微信和支付宝,最早是一个单一的APP。
但由于金融和社交是刚需高频的,因此它们成为了一个入口级别的产品,最后在上面添加了“Mobike单车”、“美团外卖”、“火车票”等第三方入口。
解决方案:原生+HTML5。
核心功能和自有功能,使用Android和iOS原生开发,第三方嵌入的内容使用纯HTML5开发。
渲染展示HTML5内容的,是一个底层容器,Android原生平台有相应组件。
微信使用的是自己的渲染引擎,wkwebbiew、blink等。
3、业务复杂或用户量大或偏底层APP
业务范围:
用户量大:京东商城,2亿用户。假设50%用户使用APP,就是1亿。为1亿人,专门组建一个APP开发团队,就值得了,成本基本可控。
业务复杂:微信,从功能上看得出,交互、业务处理等逻辑较多。
偏底层APP:使用Android底层功能,和硬件交互多的APP,比如拍照摄影、GPS位置定位。
解决方案:完全原生开发,可以找点通用的开发框架和工具组件,提高开发效率。
补充说明:我们之前一直不推荐普通公司,一上来就开发自己的APP,主要是很多APP,推广成本高、用户留不住。
以自己这个用户为例子吧,有个叫“企查查”的APP,可以提供企业工商信息查询功能。下载了,用了几次,就卸载了。偶尔才用一下,最多也只能放在手机屏幕的一个角落里或者文件夹。这种低频又不关键的APP,放在微信公众号就行了。投资人等经常使用的人群,才会一直保留这个APP。
二、服务端
APP,本质就是一个客户端,在网络、互联网、云服务深入普及的情况下,它更多承担的是“界面”、“交互”、“用户渠道”的职责。
HTTP/HTTPS交互时,制定好接口标准,再做好每一个接口的参数定义。
一个接口尽可能做好一件事,清晰、简洁。
三、万一不靠谱
在开发一段时间之后,可能会发现最初的技术方案,并不能很好地解决业务问题。
这个时候,搞不好需要“推倒重来”。
我们在最初做APP、网站等任何类型项目开发的时候,都应该这样:
1、分层、分职责
界面:做好展示就行了,Web、WAP、APP、Windows客户端都一样的。
事件:点了按钮、关闭了界面,差不太多,事件驱动、观察者模式。
交互:界面怎么交互,和技术无关,完全是产品的事。
接口数据:服务端就做好接口,提供数据,处理好业务逻辑。
2、单一职责
一个接口、一个界面,就干好一件事,或者同时干好紧密相关的功能。
3、复用
这是很关键的,非常影响开发效率。
降低不靠谱的负面影响:软件是抽象的,所谓的“推倒重来”,并不是又从零开始。
有经验的开发者,都会及时做好复用。
比如说,从HTML5完全切换到原生开发:
a、“界面长得还是差不多的”,不需要重新设计。
b、服务端的接口,基本不变。
c、交互方式,基本不变。
(后续会给出更多具体的例子)