找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

用友UAP张建新:企业移动平台跨平台技术分析

2013-11-29 11:07| 发布者: stonys| 查看: 917| 评论: 0|来自: 用友软件

摘要: 为了获得更多商业机会,在竞争中占得一席之,传统企业纷纷向互联网转型。那么如何让传统企业在移动互联网中找到落脚点?诸多的平台厂商,推出各类移动平台、移动中间件产品,企图从技术层面来打碎传统企业信息移动化 ...

为了获得更多商业机会,在竞争中占得一席之,传统企业纷纷向互联网转型。那么如何让传统企业在移动互联网中找到落脚点?诸多的平台厂商,推出各类移动平台、移动中间件产品,企图从技术层面来打碎传统企业信息移动化进程中的种种阻碍。

如何去实现跨平台、跨设备、跨屏幕、跨技术、跨网络?如何去实现设计驱动、模型驱动的开发?平台将致力于解决这些技术层面的问题,去降低研发技术门槛、降低研发成本。好的架构设计与设计模式将能更好的为业务实现服务,打下坚实的技术基础。

在众多平台类产品中,按跨平台核心技术可分为两个阵营:一,基于浏览器技术;二,基于交叉编译技术。统一的跨平台技术架构,一次开发,多处运行,一直是架构师们的梦想,也是减少研发成本、屏蔽技术差异的有效手段。从Java、C++、HTML5到微软的.Net,跨平台,一直是他们的一贯诉求。

基于浏览器技术

在诸多的移动平台类产品中,大多数的跨平台解决方案,是基于浏览器技术的。

基于浏览器技术,主要是依托移动操作系统中的WebView组件,使用HTML5、Javascript、CSS3等WEB技术来进行移动开发。依托移动浏览器来实跨平台的目标。

近几年来,在开发者的热情以及各个厂商的大力推动下,HTML5技术迅猛发展,W3C HTML5规范日益成熟。越来越多的人开始追随HTML5,就在人们以为它真的能成为未来移动世界的主角的时候,伴随着Facebook HTML5 App的失败,HTML5作为移动跨平台的主流技术,被蒙上了一层挥之不去的阴影。

依托WebView的HTML5展现,虽然理论上解决了跨平台的问题,但是不可忽视的是由此而带来的性能问题、与Native应用而比的表现力不足问题、以及本地存储、安全、稳定性等各个层面的问题。我们寄希望于移动操作系统厂商对于HTML5 的支持将会在新的版本中得以改善,也许这要一个漫长的等待过程。HTML5,对于游戏、流媒体等领域具备了更好的支持,但对于移动领域,它也许还没有完全准备好,Mozilla等很多厂商一直为此而努力,我们期待它们有更令人振奋不已的表现。

基于交叉编译技术

那么,另外一条跨平台之路,即为:交叉编译。

平台设计自己的UI描述语言--领域特定语言DSL(domain specific language ),抛掉WebView,书写平台自己的DSL编译器,交叉编译为不同操作系统的App。

对于DSL技术,自从计算机诞生以来,人们就开始讨论并使用它了,它的核心在于:求专而不求全,致力于描述某个特定领域的事物,有人曾把它等同于非程序员的编程语言。

那么在移动领域,把符合W3C规范的HTML5语法,作为移动UI开发的DSL,这是一个很有趣的事情,一个不错的跨平台解决方案:使用Web技术开发Native应用。

交叉编译

另一方面,如何选择统一的逻辑编程语言,对于平台来讲,也是一个巨大的挑战。

Android使用Java,IOS使用Objective-C,WP8使用C#......,各个操作系统使用自己的语言,Java通过虚拟机跨越了一个又一个的系统平台,但它最终是没有跨过苹果的IOS。那么有没有一种语言,可以跨越所有的移动操作系统呢?渐渐的,Javascript进入了人们的视线。

依托移动浏览器,它基本实现了Write once,run anywhere的伟大梦想,遗憾的是,却被浏览器的特性与能力所局限。

Javascript似乎应该发挥更强大的作用,事实上,从某种角度来讲,Javascript早已从Web技术领域中脱离而出,它不再仅仅是单纯的一项Web技术。比如Nodejs,比如众多的游戏引擎,它们不再依赖于WebView,而是透过javascript引擎,更加高效的做你想做的任何事情。

Javascript成功的跨越了大多数的主流移动平台。用友UAP Mobile移动应用平台正是利用Javascript做跨平台业务语言,和Native对象模型通讯绑定技术。

基于浏览器技术的移动平台实现,具备天然的跨平台能力,降低了平台产品的开发难度,具备着可以快速部署、动态更新的优势。基于交叉编译的平台实现,带来的是接近Native的性能与表现能力。如何去合理的选择技术实现,去平衡其中的优势与弱势,是企业级移动平台需要慎重考虑的一个问题。

用友UAP Mobile移动应用平台既支持Native开发方式,也支持HHC(Hybird Html5 Container)开发方式,还支持WebAPP开发方式。用友UAP Mobile与普通意义上的混合应用平台的不同之处是,我们使用Web技术开发Native应用,提供所见即所得的开发工具,使用统一的开发语言如HTML5、css3、javascript等,而不必掌握Java、C/C++、C#等Native移动开发技术来开发Native App、Hybird App、Web App。

用友UAP Mobile移动应用平台的开发语言采用DSL技术,并遵循W3C HTML5标准自定义了一套DSL体系,基于模型驱动、组件化UI、Web开发环境、动态交叉编译等,这些技术除了很好的实现了跨平台开发外,还大幅度降低了开发成本,希望能够为大家带来一定的参考价值。

相关分类

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-4-27 13:56 , Processed in 0.029874 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部