时间:2024-05-24
陈 旭,张向飞,叶有灿,戴 俊,王意生,邵 芳
(上海市农业农村委员会信息中心,上海 200335)
上海作为农产品流通的大市场,拥有着2 400多万常住人口,农产品价格行情监测与价格信息服务工作尤为重要。上海市农业农村委员会从2009年开始监测农产品价格信息,着力建设上海农产品价格监测与预警分析系统。该系统整合了全市主要批发市场及农产品生产者价格等多源数据资源,形成涵盖蔬菜、水产品、畜产品、水果、粮油等五大类农产品价格监测数据库,建立了农产品价格信息采集、统计、分析、趋势预测、信息发布体系,为政府主管部门分析决策提供宏观数据,为农业生产主体、交易主体及市民提供价格信息服务[1]。
基于B/S架构的上海农产品价格监测与预警分析系统,在多源农产品价格信息采集与整合方面做了大量工作,但在农产品价格信息服务方面仍然存在瓶颈和不足。一是便捷性不足。随着智能手机日益普及,人们更易接受微信、移动App等新媒体随时随地获取信息的方式。目前仅能通过电脑浏览器来查阅价格,无法满足用户需求,用户反馈“不方便”。二是个性化服务不足。现有系统在信息服务方面主要采用订阅价格短信方式,根据订阅的价格品种每日发送免费价格短信,短信中包括订阅品种的平均价格。农产品为季节性产品,每次调整订阅品种、退订短信都需要登录系统操作。这种信息服务方式,局限了系统的推广应用,用户体验“不友好”。三是精准性不够。农产品市场存在地域性特征,用户往往更需要“我”附近的价格信息,用户反映价格信息“不解渴”。因此,需要构建兼容主流移动终端的农产品价格信息查询服务App软件,进一步拓展提升原有系统的信息服务能力,更好地满足用户对便捷化、精准化和个性化方面的信息服务需求。
目前主流的智能终端设备多采用安卓(Android)和苹果(iOS)操作系统,因此上海农产品价格查询App需要同时兼容主流的智能终端操作系统。移动App软件开发主要采用原生(Native)App、Mobile Web App、HTML5+ App等方式,不同技术路线的特点如下。
(1)原生(Native)App方式:这种方法针对不同操作系统采用不同的开发工具和语言,如开发安卓的应用软件,需要在Android Studio平台上进行,而开发苹果手机软件需要在Xcode平台上开发。采用这种开发方式,优点是开发出的App软件操作流畅,用户体验最好。缺点是相同的软件功能需要在不同开发工具上编写两遍程序,后期更新维护需要维护两套代码。开发者付出精力、开发周期以及维护成本都是双倍的。
(2)Mobile Web App方式:这种方式实际上是采用“HTML5网页+App应用客户端”方式,程序运行时客户端App通过内嵌的浏览器访问Web页面,从而实现信息浏览与交互。这种方式开发周期短,成本低,能够支持多种操作系统,易于更新与维护。但是,这种方式的缺点也很突出,在用户实际操作体验感上不如原生(Native)App方式,不连接网络时无法访问App,App无法调取手机终端的硬件设备(如:摄像头、话筒、GPS、重力感应传感器等)进行交互。
(3)HTML5+(HTML5 PLUS)方式:HTML5+是一种增强型HTML5标准,隶属于HTML5中国产业联盟(为开发者服务的行业组织)。2013年万维网联盟(W3C)发布了HTML5.1 working draft版本,但通过HTML5开发移动App时,会发现HTML5很多能力不具备,不能满足开发者需求,为弥补HTML5能力的不足,在W3C指导下,HTML5中国产业联盟组织推出了HTML5+规范,旨在尽可能统一浏览器自定义扩展,给开发者提供更强大的支持。HTML5+扩展了JavaScript对象,可以调用各种浏览器无法实现或实现不佳的系统能力、设备能力和业务能力,如摄像头、陀螺仪、文件系统、二维码、地图、支付、语音输入、消息推送等[2]。此外,HTML5+很重要的特点是提供了原生的渲染能力,开发跨平台App的同时,也可获得接近原生的功能和性能。因此,采用HTML5+App方式能够实现一次编写代码,同时生成安卓和苹果操作系统的原生程序,达到接近原生开发程序的使用效果。
(4)其他跨平台方案:除了HTML5+ App跨平台方案外,目前流行的跨平台方案还有谷歌移动UI框架Flutter、Facebook开源的跨平台移动应用开发框架React Native、阿里巴巴跨平台开发框架Weex等等[3]。这些框架目前存在文档资料不完善、学习成本高、开发调试工具不完善等问题。
上海农产品价格查询App主要涉及数据查询、统计分析、图表显示等功能,经技术选型分析,采用基于HTML5+ App跨平台方案来构建上海农产品价格查询App。既能通过编写一套程序兼容主流移动端的应用,又能获得接近原生的使用体验,且具有易用的软件开发调试打包工具,能够提高开发效率、降低后期维护成本。
上海农产品价格查询App按照分层架构方法来构建,总体分为数据层、服务层、网络层和应用层四个层次结构(图1)。
(1)数据层:上海农产品价格查询App数据来源于原有上海农产品价格监测与预警分析系统数据库,主要包括上海主要批发市场及农产品生产者价格等多源数据资源,涵盖蔬菜、水产品、畜产品、水果、粮油等五类农产品价格数据库。
(2)服务层:一是农产品价格数据服务。通过将五类农产品价格数据库相关数据封装成WebService服务,开发数据接口,为App查询统计价格提供数据支撑。接口采用XML(可扩展标记语言)作为数据传输交换格式。二是用户认证、版本更新检测等后台功能服务。通过开发相应等后台接口服务来与前台实现数据交互。
(3)网络层:通过移动网络或是Wi-Fi网络实现客户端与服务器端数据交互。
(4)应用层:主要包括智能终端操作系统、HTML5+ Runtime运行时、App客户端部分。App部分利用HBuilder工具云打包或本地打包方式,发布到安卓应用市场及苹果商店,提供在线下载。
为满足上海农产品价格信息及时、准确、快捷查询的实际需求,上海农产品价格查询App分为用户管理、批发市场价格查询、田头交易价格查询、语音检索、系统设置等五个主要功能模块。
(1)用户管理模块:为确保农产品价格监测点数据安全性,设置了用户注册与登录模块,与原上海农产品价格监测与预警分析系统采用同一套用户体系。新用户在App中申请注册后,管理员可在原有系统中为其分配权限。用户凭账号和密码登陆后,即可查看、检索当日及历史价格数据。
(2)批发市场价格查询模块:用户可以查询上海农产品中心批发市场、上海江杨农产品批发市场、上海江桥批发市场、上海西郊国际农产品交易中心等6个农产品批发市场每日价格数据,以及全市蔬菜、水果、粮油、畜产品、水产品五类100多品种的每日均价、最高价、最低价数据。
(3)田头交易价格查询模块:用户可查询上海市9个涉农区田头交易价格采集点的价格数据,目前主要是蔬菜类当季10多种品种价格数据,包括平均价、最高价、最低价等信息。
(4)语音检索模块:为便于用户查询品种及采集点信息,设置了语音查询模块,用户通过说出要查询的品种或市场名称,即可自动检索出符合条件的价格信息,提高检索效率。
(5)系统设置模块:用户可以自定义关注的品种,系统会根据用户定义内容进行相关分析报告的推送服务。用户还可设置软件更新方式、字体大小、颜色主题等内容。
(1)HTML5+ App跨平台开发技术:在App开发方面,采用了HTML5+ App跨平台方案,采用DCloud公司提供的HBuilderX开发工具,其内置HTML5+ App开发环境和HTML5+ API语法提示,选用了基于HTML5+的MUI框架,它不依赖任何第三方JS库,同时拥有H5组件和原生组件,并且在每个平台上,都能调用该平台专有API达到原生体验[4]。编写一次代码即可通过云打包或本地打包方式,将HTML5+ Runtime(运行时)和程序页面打包成原生App的安装包,包括Android的apk和iOS的ipa,还可生成微信小程序、流应用等6种客户端应用[5]。
(2)中文语音识别与搜索技术:为方便用户检索,探索基于中文语音搜索技术在App中的应用。用户无需输入文字,只需说出品种名称即可实现价格信息的查询。开发中,采用科大讯飞提供的中文语音转换成文字的API接口[6-7],将用户的语音内容转换成文字,转换后文字与品种及市场名称库进行匹配,由于用户习惯说农产品品种或农产品市场的简称,为提供查询准确性,通过建立相应的简称或易错名称表,反馈给用户匹配率最高的查询结果。
(3)基于位置的信息服务(LBS)技术:在批发价和田头价数据查询时,涉及到市场和采集点排序推荐的问题,为便于用户便捷查询到离“我”最近的市场价格数据,采用基于位置的信息服务技术(LBS)[8],通过用户所在位置与价格监测点的位置进行距离分析,依据距离远近,优先排列距离较近的,从而动态生成市场和采集点的顺序,让用户有更好的体验。
从应用情况来看(图2—5),上海农产品价格查询App(简称:沪农价)的应用,弥补了原有上海农产品价格监测与预警分析系统在价格信息服务便捷性、个性化和精准性方面的不足,成为价格分析师、政府决策人员、农业经营主体及公众实用的掌上工具,利用App可随时随地就获取及时的农产品价格信息及走势情况,利用中文语音搜索价格的方式,也获得了使用者的欢迎。
同时,这种跨平台的HTML5+ App开发方法,开发效率高,一次编写程序可以生成安卓和苹果两个操作系统的应用程序,App操作体验上较为流畅,几乎达到了原生开发效果,是一种值得推广的低成本、高效率、易维护的移动App开发模式。
基于移动终端的信息服务是当前及未来信息服务的主要途径,随着移动终端应用的不断发展和进化,涌现出了App、微信公众号、小程序等多种形式,移动应用经历着从“复杂向简单”的趋势发展,特别是近年来智能语音技术的成熟和发展,如苹果公司的“Siri”,小米公司的“小爱同学”、百度公司的“小度语音助手”、华为公司的“小艺”等,基于人工智能方式等中文语义识别是未来移动应用的发展目标。目前,上海农产品价格查询App还仅实现了农产品名称及价格采集点名称等中文词语的语音查询功能,下步将进一步探索基于中文句子的语义识别研究,让价格信息查询更加智能化。同时,将进一步开展基于用户行为的分析,通过分析使用者的习惯和偏好,智能推送用户感兴趣的价格分析报告等内容,更好地为用户提供信息服务。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!