用友张建新:企业级移动平台跨平台技术分析
- +1 你赞过了
为了获得更多商业机会,在竞争中占得一席之,传统企业纷纷向互联网转型。那么如何让传统企业在移动互联网中找到落脚点?诸多的平台厂商,推出各类移动平台、移动中间件产品,企图从技术层面来打碎传统企业信息移动化进程中的种种阻碍。
如何去实现跨平台、跨设备、跨屏幕、跨技术、跨网络?如何去实现设计驱动、模型驱动的开发?平台将致力于解决这些技术层面的问题,去降低研发技术门槛、降低研发成本。好的架构设计与设计模式将能更好的为业务实现服务,打下坚实的技术基础。
在众多平台类产品中,按跨平台核心技术可分为两个阵营:一,基于浏览器技术;二,基于交叉编译技术。统一的跨平台技术架构,一次开发,多处运行,一直是架构师们的梦想,也是减少研发成本、屏蔽技术差异的有效手段。从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开发环境、动态交叉编译等,这些技术除了很好的实现了跨平台开发外,还大幅度降低了开发成本,希望能够为大家带来一定的参考价值。
最新资讯
热门视频
新品评测