标签:
最早也是最基础的应用开发方式是元编程(Meta Programming):也就是从元语言到目标语言的编译器,将元数据编译为目标程序代码的开发过程。元编程的模式要求我们要面向具体设备进行编程,每种设备在操作系统基础上会提供给开发者大量的api服务,最终的应用的源代码经过编译和链接两个过程生成可以直接运行的应用程序。虽然开发过程的复杂度较高,但元编程生成应用的执行效率确实非常高。采用元编程方式的开发工具包括:汇编语言、c语言、PowerBuilder、VC、Objective-C等。
元驱动编程(Meta Driven Programming) :它是直接在目标语言中实现元语言的解释器,这是支撑中间件技术的基础方式。元驱动编程带来的最大的好处就是我们不必再面向具体的设备进行编程,元语言需要先预编译成中间代码,中间代码对于不同类型设备的适配工作完全可以交给“运行时引擎”去完成,从而达到了“write once and run anyway”的能力。 采用元驱动编程方式的开发工具包括:Java、Flex、.Net等。
元解释编程(Meta Interpretive Programming):它可以让元语言直接运行在不同的目标环境中,这也就是我们所说的脚本语言编程。由于省去了编译和预编译的过程,代码的语法检查的过程只能在运行期间完成,理论上讲这会降低应用的执行的效率。但随着计算机硬件性能不断的提升,性能问题已经被越来越弱化,同时元解释编程简洁强大的语法也大大提高了应用的开发速度,也降低了程序的复杂度。采用元解释编程方式的开发工具包括:Javascript、Python、Lua等。
第一代移动中间件的编程(HTML5 Based App Programming)是基于HTML5技术的跨平台app开发模型。在这个模型中一般都通过内嵌的webkit内核来实现原生扩展代码的桥接,用HTML5构建网页UI,用网页中的Javascript编写业务代码。在这个模型下HTML5技术天生就具备跨平台的能力,而且很多传统的网站开发程序员在技术上也可以很自然的过度。采用第一代移动中间件模型的产品包括:PhoneGap平台、数字天堂中间件产品、烽火中间件产品等。
在改进模型中的变化主要体现在两个方面:首先是对原生扩展能力进行了进一步增强。除了对文件、照相机、通讯录等本地能力的扩展外,还增强了对原生UI框架的扩展能力以及对第三方服务的扩展能力;另外改进模型中还增加了扩展模块的概念对外提供开放平台,允许开发者扩展自己开发原生组件。虽然改进的模型在很大程度上了增强了HTML5和原生的原生交互能力,但最大的技术瓶颈仍然能解决,即对于基础UI的构建还是只能通过网页方式实现。开发者仍然需要通过网页渲染来模拟原生交互,所不同的只是可以通过网页内的javascript再去调用一些原生扩展功能而已。目前采用第一代移动中间件改进模型的产品包括:Appcan、APICloud、HBuilder等。
第二代移动中间件的编程(Meta Extended App Programming):React Native产品虽然在实用性还有很大的不足,但它最大的价值则是为移动中间件技术提供了全新的发展思路。或许很多人还没有关注到,2015年中旬的时候一款DeviceOne的移动中间件产品正式对外发布,它对React Native产品架构进行全面的继承和改进,不仅实现了跨平台移动开发的“Write once, run anywhere”能力(同时支持IOS、Android、Windows10),还实现了原生开发扩展平台的完全开放。
标签:
原文地址:http://www.cnblogs.com/sweetyu/p/4958599.html