互联网+医疗快速融合开发—引擎实现多端多产品矩阵开发互联网

2016-04-26    来源:51CTO    编辑:王雪燕
在大互联网的背景下,催生了互联网和医疗的融合。但传统的医药公司想要通过现有的技术过渡到移动互联网和移动领域,将面临着很多的困难。困难的主要根源在于医药行业的历史问

在大互联网的背景下,催生了互联网和医疗的融合。但传统的医药公司想要通过现有的技术过渡到移动互联网和移动领域,将面临着很多的困难。困难的主要根源在于医药行业的历史问题和独有特性导致。那么传统的医药公司,要如何才能快速的进行互联网和移动互联网化?如何在短时间拥有B2C官网,医药电商APP,新模式APP?如何能快速多端,多平台批量开发?今天我们就跟随七乐康高级技术总监曲毅来探讨这些问题。

HTML5引擎Crow5开发多端多模块的产品——大白云诊

如何在有限时间和有限资源内开发医生端,患者端,医生助理端,医药代表端呢?曲毅表示,可以采用统一的方法论进行多端,多模式的统一编程,HTML5的引擎Crow5将为此方法保驾护航。 Crow5经历了五版,曾在乐蜂网被商用。现在这个引擎被用到医疗行业,会给医疗行业带来怎样的改变?怎样的便捷呢?

医生客户端

医药代表微信端

上图是大白云诊的医生客户端和医药代表微信端,这样的产品不是用代码编写的,而是由引擎Crow5自动生成的。有了这样的APP,患者就可以和医生进行随时互动。医疗领域里常常会说“三长一短”,就是指看病时间长、排队长、约号长,最后看病却很短,几分钟而已。还有二次问诊,如是一些偏远山区的人去大医院看病就需要再次舟车劳顿,其实可能也就是想知道药的疗效。这样的情况下,对于医生来说是资源浪费,对于患者来讲也会有很多困难。但如通过APP、互联网的方式就跟医生进行时时的互动,如二次问诊,开一些药,简单的问诊情况,都可以通过APP来解决。

系统结构

一个健全的移动互联网的产品光有一个APP是不够的,还要有微信端、安卓版、IOS版、PC版等。那么问题就来了,这么多版面至少需要好几种语言,也需要几个团队去做。那么如何能在最短的时间内用最少的人把这些一次性搞定呢?这就要借助引擎Crow5,可以少写代码,让其自动生成。曲毅表示,入职七乐康五个月以来,一共做了商务代表端、PC端、医生APP、患者微信端,CMS,还有IM通信,全部都基于引擎技术。最后的介入的是它原有电商平台。

这样一系列的产品有什么用途呢?曲毅表示,为医生提供一个属于自己的虚拟门诊,轻松实现患者管理、在线咨询、用药助手和积分收益。让医生成为患者的私人医生,通过患者健康档案的建立,医生为患者提供终身医疗服务。

这样一系列的开发需要多长时间?多少人员投入?曲毅表示,从6月8日号项目开始启动,在6月14日完成产品原型的设计、用八天开发、用八天测试、最后推出共用16天。之后几天,向内部种子医生推送,整个项目下来,一共用时不到20天。此次一共投入了26个人,平均工作的时间有11.5个小时,工作强度非常大。之所以有这样惊人的速度,是因为这里面全部是由引擎Crow5去做的,那么引擎为什么能承载这么多呢?

Crow5引擎相关功能的介绍

强劲的Crow5引擎

H5引擎支持结构图

如上两图所示:按需加载、加速器、拦截器、还有缓存脱离,JS管理等是引擎最基本的元素,还有要包含很多的模块。 以下是关于HTML5引擎Crow5介绍 :

  •   主体购物逻辑抽取
  •   完善的基于约定的模块式开发
  •   高效的性能
  •   数十种设计模式的实现
  •   完美实现与原生的内嵌
  •   插件式拼装,灵活,自主
  •   智能自动的实现响应式布局
  •   前端安全过滤器
  •   离线脱机,小伙伴再也不用担心购物没有网络了   模版引擎漂移
  •   日至远程调试
  •   心跳保持
  •   还有很多很多,没有不可能只有想不到

Crow5 模板引擎漂移

Crow5模板引擎漂移,就是把所有服务器上所需要的资源全部都打成一个引擎包,放在APP里,当APP在一运行时它所有页面所构成的元素,全部都会在本地,如需要的模板、样式文件、JS等。当没有网时,APP依然可以点击,但不能交互。

Crow5心跳控制

Crow5心跳控制,这个功能可以应用到秒杀和实时数据关注。当我们秒杀到临界点时,引擎会通过起搏器促使页面的刷新速度加快,系统自动保证信息的真实和变化,心跳起搏器负责和服务器去比对数据。秒杀点过后,心跳可以自动停止,服务器减轻压力。当需要拉取时时数据信息时,心跳控制就可以控制每隔多少秒去拉。没有网时,第一次去请求服务器,发现没有数据,心脏起搏器就会发出通知。服务器的联络不太稳定,有网但数据回的慢,按照以前的做法就是请求一次,用户就只能等。心跳控制可以在用户发送过去以后,一旦请求超时,没有数据后,就会立刻让心跳继续请求,请求多次。如没有网时,会让心跳慢慢的减速,尝试三次或者五次,心跳一旦停止,程序会自动休眠。一旦有网就通知起搏器启动程序,程序会被自动唤醒。

如何来编写引擎?你对引擎技术的研究后续会是什么样子?

如何来编写引擎?曲毅表示,引擎并没有那么神秘,它其实也可以理解成一种框架技术。前端同学熟知的jquery、zepto、sea、kissy各自拥有其自身特性,例如jquery丰富的动画特效以及优秀的浏览器兼容性,再有zepto轻量化最适合移动设备,还有sea.js的javascript模块加载框架更是将javascript开发语言上升到了一个新的高度。每一种框架都是一种设计理念,力求用尽量少的代码去解决更多针对痛点所对应的实际问题,并且给出方便使用的API,这虽然是轻量化框架的优点,但试想他是否能满足开发者日益丰富的功能需求呢?例如模块开发、动态加载、模板技术、动画 处理、缓存处理、地理位置、重力感应这些细碎的功能是能通过一个框架帮我们全部搞定的。在开源的世界里没有什么是不可能的,想要实现我们的需求就少不了合适的工具。例如YUI、EXT、Anglar.js、Bootstrap这些重量级框架拥有大一统,车同轨,书同文,统一度量衡,而且丰富的插件用于实现丰富多样的功能。但是这却失去了技术的灵活性,当我们习惯了拼凑和照搬代码放到项目里的时候,我们的创造力也被扼杀了。另外一套重量级框架的学习成本不亚于学习一门新的编程语言,这样也增加了使用门槛。由于重量级框架往往过于臃肿,导致一个项目出现太多冗余的代码,因此被开发者们摒弃,这也是包括YUI这样的重量级框架不再更新的主要原因之一。

你对引擎技术的研究后续会是什么样子?曲毅表示,对于未来继续研究的是语义方面的抽取,所有引擎的代码部分是可以通过云平台自动实现按需分配, 生成项目的引擎核心。根据平台的配置自动实现配置文件的自动生成。这样在做APP或者demo的时 候,可以实现自动生成。 探索无止境,需要很多灵感,很多设计灵感就是从动物身上得到的,例如在设计心跳保持技术的时候, 就是观察青蛙冬眠这个事情上,抽取总结心跳加速,减速,停止,苏醒等。希望能把引擎技术继续往语义方向上突破,可能那个时候的编程就变成了问答。

最后,曲毅表示,希望能够在医疗领域里面看到更多技术的身影。通过技术可以能够把很多传统的IT方式,最快速的信息化。 HTML5的引擎Crow5,他坚持写了好很多年,希望未来这个技术在医疗领域里面有个结果,也希望能给千千万万的老百姓带来福利,能够给老百姓看病难解决一些问题。

本文整理自【WOT2015”互联网+”时代大数据技术峰会】期间, 七乐康高级技术总监曲毅主题为《互联网+医疗快速融合开发—引擎实现多端多产品矩阵开发》的演讲。

讲师简介

曲毅,从事互联网研发工作11年。曾在高阳,空中网,乐蜂网等互联网公司担任构架师,高级技术经理,技术总监等职位。近4年专注移动互联网。多次受邀在中关村在线,iweb峰会和GITC全球互联网大会上担任嘉宾和专家。

1
3