互联网产品是应用软件的一种,是基于网络应用技术为用户提供服务的交互式应用。其中常用网络应用技术是基于客户-服务器方式实现不同主机中的多个应用进程之间的通信和协同工作[1],如web技术。不同应用会根据用户及其所服务的领域提供不同的功能。
互联网产品的分方法类有很多,总的来说是从应用、用户、服务三个角度出发对互联网产品进行分类。
从应用角度出发,可以将应用的运行平台、网络结构模式作为分类方式。
应用运行平台也称应用运行环境,总体上可以分为系统平台、开发平台、开放平台[2], 本文主要讨论系统平台、开放平台。
应用可以按照系统平台的组成进行分类。系统平台包括硬件环境和软件环境,其中硬件环境是由计算机及其外围设备组成,软件环境主要包括操作系统、浏览器、软件框架、运行库等[3]。本文硬件环境只讨论终端设备,软件环境只讨论操作系统和浏览器
与日常生活密切相关的终端设备主要有个人计算机、智能家居设备、车载智能终端、可穿戴设备 [3] 。个人计算机包括台式机(或称台式计算机、桌面电脑)、一体机、笔记本电脑、平板电脑、掌上计算机(PDA)、智能手机等。智能家居设备有智能电视/盒子、智能音箱等。可穿戴设备有智能手表、 智能眼镜、智能手环等。
应用依照其运行的终端设备进行分类,常用的有
运行在台式机、一体机、笔记本电脑上的应用,以及运行在wintel平板上的应用
移动终端设备广义上包括手机、平板电脑、PDA(工业级、消费品)等,但通常情况下是指手机[3]。因此移动端应用主要指运行在手机端的应用,即手机端。
Pad即平板电脑,一般将运行在平板电脑且平板的操作系统为IOS或Android的应用称为Pad端,也称为HD版
PDA包括消费级PDA和工业级PDA[3]。常见的工业级PDA有POS机、巴枪等,消费级PDA有智能手机、平板电脑等。一般将运行在工业级PDA设备上的应用称为PDA端。
运行在智能电视或电视盒子(机顶盒)设备上的应用称为TV端。
操作系统按照其应用范围分类可以分为桌面操作系统、服务器操作系统、嵌入式操作系统、移动端操作系统。其中桌面操作系统分为Windows系统和类Unix系统(包括Mac OS、Linux发行版)。常用的嵌入式操作系统有嵌入式Linux、WinCE、VxWorks、uCOS等[4]。移动操作系统包括Android、IOS、WP、WM等。
浏览器是WEB应用的软件环境,按照浏览器内核分类可以分为:单内核浏览器(IE系列(IE内核)、火狐浏览器(Firefox内核)、Safari浏览器(Webkit内核)、Chrome浏览器(Blink内核)),多内核浏览器(360浏览器、猎豹浏览器、QQ浏览器等)[4]。网页或Web应用的开发会处于对应用场景、开发成本的考量在浏览器的兼容上进行取舍,比如说政务性的网站需要兼容IE浏览器,一些以微信公众号为入口的web应用只能在微信的内置浏览器内打开。
应用可以依照其运行设备所搭载的操作系统进行分类,常用的有:
应用具有图形化用户操作界面,且所在的操作系统平台为桌面操作系统。
桌面端应用可以按具体的操作系统进行细分:Windows版、Mac版、Linux版。
B/S(Browse/Server)和C/S(Client/Server)是常见的网络架构模式。在Client/Server结构的系统中,应用程序分为客户端和服务器端两大部分;客户端部分为每个用户所专有,而服务器端部分则由多个用户共享其信息与功能;客户端部分通常负责执行前台功能,而服务器端部分执行后台服务[3]。在Browse/Server结构的系统中,客户端不需要安装专门的软件,只需要浏览器即可,浏览器通过Web Server 同数据库进行数据交互,可以方便在不同平台下工作;服务端可采用高性能计算机,服务器安装SQL Server、Oracle、MYSQL等数据库[5]。
应用可以依照B/S、C/S两种模式进行划分
即在本地有应用程序文件,能直接运行于当前操作系统,为用户提供本地服务的应用。客户端应用也称为“原生应用(Native APP(PS:APP一般指手机应用,但在本文中没有限定其范围))”。客户端应用可通过应用程序分发平台提供的也称为“StoreAPP(商店应用)”。
客户端应用可以进一步细分为:桌面客户端、移动客户端等
即通过web访问的应用程序,用户通过浏览器打开,并且可以跨平台使用。
web应用可以进一步细分为:桌面web(也称PCweb)、移动web。移动web应用俗称H5应用
即C/S模式和B/S模式相结合的,浏览器支持的语言和程序语言同时开发的应用。
混合应用(Hybrid APP)通常分为三种类型:多View混合型、单View混合型、Web主体性型。其中多View混合型为Native View和Web View独立展示,交替出现;单View混合型为在同一个View内,同时包含Native View和Web View;Web主体型为主体是WebView,主要以网页语言编写,穿插Native功能[3]。
开放平台是指软件系统通过公开其应用程序编程接口(API)或函数(function)来使外部的程序可以增加该软件系统的功能或使用该软件系统的资源[3]。开放平台的开放类型主要有应用开放、login开放和数据开放,其中应用开放是指开放自身平台的各种标准接口,与第三方应用共享用户,共同服务;login开放是指降低用户进入第三方的注册门槛,同时也能圈住自己的核心用户群[6]
;数据开放是在保护用户隐私前提下,开放用户基本数据、关系数据和行为数据,同第三方一起打造个性化、个人化、智能化、实时化的服务模式[7]。目前主流的开放平台有:百度开放平台、微信开放平台、淘宝开放平台、腾讯开放平台等。
本文主要讨论依托于开放平台的应用,即开放平台应用。目前最流行的开放平台应用是“小程序”。小程序的开发不仅仅可以调用开放平台的接口,其开发过程采用大量HTML5相关的技术,进一步降低了开发者的门槛,同时开放平台也提供了统一的开放工具。当前市场上具有代表性的小程序有:
即依托于微信作为平台运行的应用。它主要由HTML代码构成。得益于微信提供的API,它拥有比普通Web应用更多的权限,能够实现类似App的功用[8]。
即依托于手百APP作为平台运行的应用。相较于微信小程序的封闭生态,百度智能小程序是开放生态,其支持web化的解决方案,应用能够在百度系产品及所有浏览器上访问。
即九大手机厂商基于硬件平台共同推出的应用标准和平台。快应用框架深度集成进各厂商手机系统中,可以在操作系统层面实现用户需求与应用服务间的无缝连接,提升用户的使用体验和应用服务的转化效率,同时支持生成桌面图标等留存能力[3]。
用户是应用所面向的用户群体,应用为用户提供相关问题的解决方案。对于应用而言,用户有两种关键角色:使用者(应用的直接用户)、决策者(决定是否使用应用)。
应用可以按照用户群体进行分类,如下:
即面向个人消费者的应用。应用的使用者和决策者是一体的。
即面向企业或组织的应用。应用的使用者和决策者并非一体的,其中应用的使用者角色可以根据其所涉及的业务进一步细分归类。常见的B端应用有OA系统、CRM系统、人事管理系统等。
服务即是应用针对用户的使用场景提供的解决方案,满足用户需求,解决用户问题。不同用户群体的应用所提供服务也有所不同。
应用可以按照通用化服务、定制化服务进行区分:
软件描述由开发者自己完成[9],为用户提供通用化的服务。
软件描述由客户给出,开发者必须按客户要求进行开发。
目前通用应用和定制应用的界限比较模糊,很多厂商从通用应用进行定制化处理,以满足特别用户的个性化要求[9]。
通用应用可以按照服务进行细分:
综上可知应用可以通过多个维度进行划分,不同类型的应用具有的特点也不同。
以上是我对于应用分类的阐述,如有错误请指出,谢谢。
[1] 谢希仁,《计算机网络(第六版)》
[2] 软件观点 - 平台分类:系统平台、开发平台、开放平台
[3] 关键词,百度百科
[4] 五大主流浏览器及四大内核
[5] 关键词,维基百科
[6] 国内主流开放平台接口了解
[7] 51CTO调研中心,国内主流开放平台发展状况与盈利模式分析报告
[8] 《微信》小程序和APP有什么区别?小程序对于微信的意义
[9] Lan Sommerville,《软件工程(中文版)》