Hybrid开发:时代的潮流?

前几天的中国软件杯软件设计大赛中,开发登录页面的时候用到了一点Android的Hybrid开发的知识,最近做小项目要涉及到Desktop端界面开发,突然想起来还有HTML5这种玩意,没想到打开了一个新世界的大门。

近些年来,前端技术飞速发展。随着HTML5和CSS3的出现,一些原来很复杂的实现用这两种描述语言变得更加简便。 网速的提高使得网页的多媒体元素越来越多,页面的表现力,交互体验都变得越来越好。各个终端性能的发展,让渲染更加迅速;性能的冗余,让人们更少地追求那几毫秒的渲染速度,更多的关注页面的美观和效果。可以说,这几年看见的网页越来越壮观。

然而,HTML5+CSS3并不是在网站前端一枝独秀,很多平台都瞄准了它的极致的流畅、美观、交互性,将它们作为展示界面。

Android 平台: 原生Hybrid开发—— WebView

 

android.jpg

Android平台的界面还是算好些的,XML语言描述,就算是直接写也毫无违和感。 但是Android事件相应需要写相应的ViewBind 代码,并设置相应的ClickListener, 而且对于HTTP网络事件的处理需要使用第三方库来简化。并且,如果使用JSON代码去绑定富文本框的界面的话,一定会写的你想吐。即使有ButterKnife 这种杀气十足的框架,也要一个个去绑定。 但是当你遇到JS + DOM的时候,你会发现一切都是如此的简单! AJAX, JQuery, AngularJS 等框架也可以用到这里,而且界面还会比原声的简单! 并且还能热更新~各种第三方空间用的飞起。   唯一的缺点就是加载渲染速度较慢, 但依旧是很多软件的解决方案。

 

Python平台: HtmlPy

python.png

最近要做一个项目,开发平台Linux,而且可能需要跨平台。 因此我们采用了Python,  采用Python后我们发现界面是个很大的问题! 虽然有内置的Tkinter,还有很多类似PyQT, wxPython的解决方案,但是界面写起来很复杂,要手动指定各种位置,蛋疼的要死。PyQT 虽然是个解决方案,但是鉴于其要重新学习各种机制,我们开发成本、学习成本,果断放弃!当看到HtmlPy的时候,眼前一亮! 这不就是我们想要的东西么!   一切界面问题由此解决。

 

混合开发的基本思想很加单, 数据由Native准备,当然HTTP数据可由浏览器加载。 当Native 数据加载完毕后,调用对应的JavaScript代码,将数据加载到对应的HTML界面。 Native 代码中暴露对应的借口给JS,在JS中一般封装成一个类, Js可以调用Native中带有标记的暴露函数以增强JavaScript的控制能力。

由于HTML5+CSS3+JavaScript的适应性较强,跨平台能力较强,而且兼容性较好,我相信,这三大组合必将在未来的时间内占据UI市场并经久不息!

发表评论