2022-09-14 14:56:43
在移动互联网时代,每一家公司最终都会选择拥有自己的一款APP作为业务入口和私域流量运营的载体。众所周知,企业在IT板块的投入也是让很多创业者望而却步,但作为非IT出身的出身的企业主,更难知晓其实技术栈对成本的影响和对企业投入的关联性。今天,我们就简单分析一下开发一款APP到底怎么选择技术栈
1、技术栈类型
在目前常见技术选型中,从程序员技术栈能力上分为三种类型,分别是Web App、Native App和Hybrid App,从概念上也可以大致了解到具体的含义。那如果用这三种技术栈开发应用需要用到什么技术能力呢
一、Web App:iOS/Android的内置浏览器是基于webkit内核的,所以在开发webApp时,多数使用HTML或HTML5、CSS3、JavaScript技术做UI布局,使其在网站页面上实现传统的C/S架构软件功能,服务端技术用JAVA、PHP、ASP。现在也有很多一键生成webApp的平台,如百度siteApp、腾讯x5浏览器引擎等,都可以用移动页面展示时适配于微信的浏览体验,这样可以帮助webApp引流。这种模式也就是“包壳”方式,即所有的渲染展示都是通过HTTP Web返回的,本地APP只是个壳子。
二、Native App:开发Native App需要根据运行的手机系统采用不同的开发语言。开发一款Android App需要的开发语言是JAVA、iOS应用开发按照苹果开发者官方社区推荐Object-C和Swift语言。这种开发方式主要是基于操作系统公开的API、组件和服务完成APP开发。因从开发到运行都是基于设备或者操作系统自身的能力故而得名。
三、Hybrid App:混合开发中主流的是以web为主体型的开发,即以网页语言编写,穿插Native功能的hybrid App开发类型,网页语言主要有html5、CSS3、JavaScript。Web主体型的App用户体验好坏,取决于底层中间件的交互与跨平台的能力。究其原理就是采用翻译或半翻译式原理,将运行中的Web翻译成Native API,并且支持调用系统高阶API。因为开发模式的特殊性,早期参与者将介于Web App和Hybrid App之间的第三者共同定义为混合模式。
2、各自优缺点
因为不同的技术栈实现方式不同,在用户体验方面的呈现也大相径庭。对用户体验有着深度执着的企业主需要仔细阅读下
一、Web App:移动端的网站,常被称为H5应用,即运行在移动端浏览器的网站应用,一般泛指SPA模式开发的网站在手机APP“壳”中运行。可以说优点有多明显,那么缺点就有多突出。优点是:可以复用原有传统Web技术人员的能力,开发和发布成本最低;缺点是性能最差体验弱,需要等待网络把HTTP Web内容加载完毕后才可以呈现给用户;其次能调用设备的能力比较弱只能调用相册、相机、电话等基础能力对操作系统固有的体验和UI差距比较大。公众号就是最好的例子
二、Native App:也称为原生APP,即Android/iOS操作系统推荐的开发方式,使用原生语言开发的应用;不管是性能和体验都是最好,但开发和发布成本最高;因为移动互联网技术发展远远比传统Web技术发展年限低的多,所以在技术工程师的储备上尚且有一定缺口,所以水涨船高。在开发过程中,需要用Android/iOS操作系统已经开放的API接口去实现整个应用的效果如动画、页面切换、数据请求等,几乎在应用层都需要一行行代码去编写。这一类技术人员的成本比较高,被笑称“重资产”
三、Hybrid App:混合模式移动应用,介于WebApp、Native App两者之间的App开发技术;技术原理是JS写逻辑且可以通过JSBridge调用Native的API,用HTML+CSS编写界面,并由webview渲染界面;JSBridge统一封装了IOS和Android的API,因此Hybrid App具有跨平台效果;优点是开发和发布成本介于Native App 和 WebApp之间、具备热更新能力;缺点是不太适合具有较强交互要求的APP,比如直播、语聊类APP,这一类APP通常对体验和音视频处理能力要求较强,Hybrid App在这方面难以做到完美。
3、选择关键要素
从技术实现上来说这几种技术相对都比较成熟,并且逐步有更多的UI框架也在支持这种移植服务。比如Web App的UI框架中VueJS就可以移植到其他两种开发模式中。这充分体现了技术的互通能力。但是,一般情况而言技术栈的选择是基于自身团队能力或者成本能力打造自身技术路线比较可靠。在选择过程中有哪些参考因素呢
一、交互复杂度,作为普通电商APP或者社交APP交互复杂度不高且成本要素更可能合理可以充分考虑选择Hybrid App,毕竟京东、天猫等顶流电商APP都是选用Hybrid App架构。这里面不仅仅是成本因素也融合了电商特性,社交APP也一样。
二、招聘难度,现在IT人员从业者已经高达700多万,但是细分到每一种技术能力的时候还是面临着短缺甚至高价竞争的情况,尤其是在资金不够充裕的时候也要多一份思考。
三、维护及后续运营投入计划,做一个APP只是第一步,其实维护和运营成本远远大于技术开发成本,如果真的到了砸锅卖铁去养着技术人员的话那确实是令人悲痛的事情。那么在技术选型的时候怎敢掉以轻心呢
4、一些想说的话
作为IT从业者,深知在技术领域服务的复杂性和差异化。通常一个APP需求会有多个报价,甚至高低差达到2-3倍。这不是被生活欺骗了,确实是不同的技术选型所付出的人力成本是不同的。在作出决定之前还是要多交流一下,深入了解利弊,争取选择适合自己的方案。