百略君注:如今怎样来开发一个App,可以即高效又最节省开发成本呢?技术团队如何组建,还需要后端工程师么?看完这篇文章,也许你会脑洞大开,相信真的能够通过互联网,通过技术来改变生活。
开发方式决定效率
关于开发方式,前两年最火爆的词语莫过于云计算。科技的迭代速度是指数级不断增长的,云计算正是这种指数级迭代的引爆点之一。软件开发的方向一定是会变得越来越简单,成本也会不断降低。
云服务 1.0
如果你做一个App,请至少选择一款好用的云服务,尤其对于初创公司来说。这样的例子最有名就是Instagram,在2012年4月Instagram被Facebook 10亿美金收购时,用户规模接近5000万,然而整个团队仅13人,而且其中的5名技术人员中,仅有两个半后端工程师。另外的半个偶尔要负责前端的部分开发工作,Instagram的所有服务就是部署在AWS上面。Instagram联合创始人Mike Krieger在「如何成为十亿美金公司」的演讲中,将使用Amazon的云服务归结为用户规模暴涨,但工程团队并未出现明显增长的重要原因。类似的公司还有Dropbox。
在云服务1.0这个时期,开发虽然没有比之前变得简单容易太多,但是如果你想让别人使用你的服务,只需部署程序到对应的云主机或者App Engine上,节省大量运维成本。类似AWS(亚马逊的云服务)、SAE(新浪的云服务)、微软Azure和阿里云,让本来需要花很多钱购买的服务器和运维成本都不再需要,取而代之的是选择一个好的云服务商。你的服务器端程序可以完全部署在云服务器上,使用初期由于访问量较小,用户不需要支付费用。按需付费,当使用量真正达到了收费额度,云服务商才会收一部分钱。当然,如果能够达到这个付费标准,理论上这个项目已经运转的不错了。
云服务 2.0
如今越来越多的BaaS (Backend as a Service后端即服务)已在硅谷兴起,被称为云服务2.0版本。不知道大家是否记得,过年期间有个应用特别火爆,App Store的下载排行榜一直位居榜首,这个应用叫做「逗拍」,来看下逗拍的发展速度。逗拍2014年12月22日正式上线,上线仅10天,用户突破10万;上线42天,进入 App Store 总排行榜第一;上线 52 天 ,突破 1000 万用户;上线不到三个月,目前已经突破1600万下载。(数据来源于逗拍在拉勾网发布的招聘信息)
目前国内也已经有很多使用BaaS服务成功的案例,许多科技公司都会遇到用户快速增长,这种情况下如果自建服务的技术成本是多大呢?打个比方,假如你打算做一款抢红包应用,或者你的电商网站举办双十一秒杀活动,技术团队自己维护就需要相当大的资源投入。但是现在很多科技团队可以在不投入一个后端工程师的情况下,使用BaaS服务轻松搞定这些。支付的成本远远低于自建团队的资源投入,而更关键的是,他们节省了太多时间成本,也是机会成本,将更多的时间花在产品和运营上。
无后端开发
我们设想一下,每次想要做一款App时,总是会有很多重复的模块要开发。比如数据存储、文件存储、账号体系、短信验证、统计需求和实时通信等模块,这些模块工程师们也力求做到通用,为了以后开发的时候更加容易复用。这些模块为什么一定要反反复复的写,不可以做成一个通用的服务么?用户想使用哪个模块就用哪个模块,不需要服务器运维,也不用再重复开发,只需要按需付费,这就是BaaS要实现的目标。
但是很多人也会有疑问,那如果一定有服务端逻辑怎么办?一般BaaS服务的提供商同时还会提供各种服务器端的Hook(一种程序接口),比如,你想要在保存数据之前服务器端校验一下数据的正确性,BaaS的提供商会在服务端预留一个beforeSave之类的方法,那你就可以在这个函数内部,写自己的逻辑。不再像以前要操心服务端架构和性能,这些事情云服务商都帮你做了,你只需要写好对应的逻辑。
结语:
人类科技的发展就是通过一个一个的创新,硅谷之所以走在创新的前列,一部分原因就是他们不断降低创新的成本,同时使团队变得更加高效。曾经一个互联网产品的问世可能需要很多成本,人力成本、推广成本、研发成本,当然还有大量的时间成本。但是现在因为 BaaS等服务的出现,至少研发成本在不断降低,使创新的成本也不断降低,使更多的资源用在更重要的事情上。当然BaaS也不会是终点,越来越多的服务创新也会不断进行下去。
【王潇,LeanCloud前端资深工程师,专注于App研发的思考与创新】
来源:百略网