技术方案的设计都是包括哪些方面

核心提示在移动互联网时代,每一家公司最终都会选择拥有自己的一款APP作为业务入口和私域流量运营的载体。众所周知,企业在IT板块的投入也是让很多创业者望而却步,但作为非IT出身的出身的企业主,更难知晓其实技术栈对成本的影响和对企业投入的关联性。今天,

移动互联网时代,每个公司最终都会选择拥有自己的APP作为业务入口和私有域流量运营的载体。众所周知,企业在IT领域的投资也让很多创业者望而却步。然而,作为一个非IT出身的企业主,更难知道技术栈对成本的影响以及企业投资的相关性。今天我们就简单分析一下开发一个APP应该如何选择技术栈。

1.技术堆栈类型

目前常见的技术选择根据程序员的技术栈能力可以分为三种,分别是Web App、Native App和Hybrid App,从概念上可以大致了解具体的含义。开发和应用这三种技术栈需要哪些技术能力?

1.webApp:iOS/Android的内置浏览器基于webkit内核,所以在开发Web App时,大多使用HTML或HTML5、CSS3、JAVAscript技术进行UI布局,使其能够在网站页面实现传统的C/S架构软件功能,Java、PHP、ASP作为服务器端技术。现在有很多一键生成web apps的平台,比如siteApp,腾讯x5浏览器引擎等。,可以适应微信在显示移动页面时的浏览体验,可以帮助web apps引流。这种模式也就是“包装”模式,即所有渲染显示都通过HTTP Web返回,本地app只是一个外壳。

二、Native App:开发Native App,要根据运行的手机系统,采用不同的开发语言。java是开发Android App需要的开发语言,你还需要熟悉Android的环境和机制。主要知识点如下:1。开发环境,Android Studio,eclipse。如何搭建Android开发环境?2.数据结构。App有些功能涉及到做算法,需要有一定的数学基础。3.Android SDK,可以开发API接口,包括自己开发API的能力和调用第三个API的经验。4.熟悉网络协议,如tcp,IP,socket等。5.如果涉及到服务器,还需要了解webservice以及相应的开发语言,常用的有PHP、JSP、ASP.Net.6,App开发除了这些功能基础,还涉及到UI设计、框架、性能优化、调试适配等。

3.混合App:混合开发的主流是基于web的开发,即以web语言编写,并穿插原生功能的混合App的开发类型。web语言主要包括html5、CSS3和Javascript。基于web的应用程序用户体验取决于底层中间件的交互和跨平台能力。国内外有很多优秀的开发工具,国外有PhoneGap、AppmAkr、Appmobi,国内也有一些优秀的移动开发平台。它们利用翻译或半翻译原理将运行的web翻译成原生API,并支持API的扩展。开发时,他们可以调用原生语言开发的功能模块,从而达到与原生app相当的用户体验,节省开发时间。

2.优点和缺点。

因为不同的技术栈实现不一样,用户体验的呈现也大不相同。致力于用户体验的企业主需要仔细阅读。

1.Web APP:手机网站通常被称为H5应用,即运行在手机浏览器上的网站应用。一般来说,SPA模式开发的网站都是在手机app的“壳”里运行的。可以说,优势有多明显,劣势就有多突出。优点:可以重用原有传统Web技术人员的能力,开发和发布成本最低;缺点是性能最差,体验较弱。您需要等待网络加载HTTP Web内容,然后才能将其呈现给用户。其次,调用设备的能力较弱,只有相册、相机、电话等基本能力。操作系统和UI的固有体验差距很大。微信官方账号就是最好的例子。

2.Native App:又称原生App,即Android/iOS操作系统推荐的开发方式,用原生语言开发的应用;无论性能和体验都是最好的,但开发和发布成本最高;因为移动互联网技术的发展远低于传统Web技术,技术工程师的储备还有一定的缺口,所以水涨船高。在开发过程中,需要使用Android/iOS操作系统开放的API接口来实现整个应用的效果,如动画、页面切换、数据请求等。,而且几乎所有的代码行都要求写在应用层。这类技术人员的成本比较高,被称为“重资产”。

3.混合app:一种混合模式的移动应用,一种介于WebApp和Native App之间的App开发技术;原理是JS写逻辑可以通过JSBridge调用Native API,用HTML+CSS写界面,用webview渲染界面;JSBridge封装了IOS和Android的API,所以混合App具有跨平台效果;优点是开发发布成本介于Native App和WebApp之间,具有热更新能力;缺点是不适合互动性要求强的app,比如直播、聊天类app。这类app通常需要很强的体验和音视频处理能力,混合App在这方面很难做到完美。

3.选择关键元素。

在技术实现上,这些技术已经比较成熟,逐渐有更多的UI框架在支持这种迁移服务。比如Web App的UI框架中的VueJS,可以移植到其他两种开发模式中。这充分体现了技术的互操作性。但一般来说,技术栈基于自己的团队能力或成本能力,自建技术路线更靠谱。选拔过程中的参考因素有哪些?

一、交互复杂性。作为普通的电商APP或社交APP,交互复杂度不高,成本要素更可能合理。可以充分考虑选择混合App。毕竟JD.COM、天猫等顶级电商App都选择了混合App架构。这既是成本因素也是电商的特点,社交APP也是如此。

第二,招聘难度。目前IT从业人员超过700万。但细分到各个技术能力上,还是面临短缺甚至高价竞争的局面,尤其是资金不足的时候,就要多思考了。

第三,维护和后续运营投入计划,做一个APP只是第一步。事实上,维护和运营的成本远远大于技术开发的成本。如果卖铁养技师真的是一件悲哀的事情。所以在选择技术的时候怎么敢掉以轻心?

4.一些我想说的话。

作为一名IT从业者,我深知技术领域服务的复杂性和差异化。通常一个APP需求会有多个报价,甚至高低相差2-3倍。这不是陷阱,只是不同技术选择的人工成本不同。在做决定之前,要多沟通,多了解,尽量选择适合自己的方案。这是我的第一篇文章,后续我们会分享更多内容。如有需要请注意。

 
友情链接
鄂ICP备19019357号-22