用HTML实现应用程序界面
2010-12-12 02:26
253 查看
前一阵子使用了豌豆夹手机精灵,猛然间发现其安装文件中有webkit的dll。经过查证豌豆夹的确是使用HTML5做的界面,其他语言实现的底层功能。发现这个问题我一下子觉得很兴奋,因为我一直看好这种编程模型。
大二的时候用过一点点MFC,觉得非常难用。传统的编程语言,本质上都不是为开发界面而设计的。这些语言,一般都有一些辅助的模板技术来组织界面。如果没有IDE,无论是Nokia主打的QT、Java还是微软的C#,直接使用手写界面感觉都像是在hack,开发难度很高。但是HTML不同,这是一门天生就为生成界面而发明的语言。HTML足够简单易懂,很多初学计算机的人都都先学习HTML。得益于浏览器强大的解释能力,经过良好设计的Web界面对于缩放和不同分辨率的适应要比传统语言要容易的多。这一点是毋庸置疑的。 如果能够使用HTML开发界面,实用其他语言开发底层功能,也许能够提高开发的效率,并提高程序质量。
目前使用HTML作应用程序界面最著名的例子就是鼎鼎大名的Firefox。运行于Mozilla的XULRunner之上,使用特殊的XML和CSS描述界面,用Javascript作为胶合层和底层的引擎通信,整个Firefox的都是由Gecko渲染的。
使用HTML5+CSS作为应用程序界面的好处多之又多:1、Web是趋势,这样编写的程序可以方便向Web移植。2、简化界面的编写,软件换肤等成了异常简单的技术(还记得我们公司用C#编写程序,而且使用DevExpress (.net + DevExpress应该是传统语言中制作绚丽界面最高效的方式了吧),结果还是bug一堆,客户要求很多微调,都花费了非常多功夫。最悲剧的是最后还是没有满足客户的要求。)。3、跨平台Web跨平台是天然的。
不过这样也有缺点。缺点就是速度,界面的流畅程度可能不及远程应用程序。最典型的例子,Firefox和Chrome,启动速度和操作的反应速度都是天壤之别,可能也和Gecko引擎的速度也有关。(不过,从google推出Win32版Chrome之后推出Linux版本所化的时间,也可以看出使用各平台的原生API开发应用程序还是相当花工夫的)。
豌豆夹使用Webkit作为渲染界面的引擎,使用HTML5+CSS3作为界面是一个非常诱人的技术(不过不知道豌豆夹界面上HTML5界面的占了多少比例)。像豌豆夹这样的例子,还有Android上的QQ软件。早先Android的Market上有两个QQ程序,较早出现的一个就是将 miniQQ的HTML+CSS+Javascript保存在本地,然后用Android的API包了一个壳,就成了一个原生的QQ程序。虽然这个版本的 QQ因为用户体验和流量使用的原因输给了原生的QQ程序,但是腾讯在这种编程方式上的一个尝试也给我们指出了一个方向。向我们这种单打独斗的小开发者或者实力比较薄弱的小技术公司,如果不能对新技术有敏锐的眼光从而提前下手,在将来的竞争中将处于劣势。
转载自 移动开发博客
大二的时候用过一点点MFC,觉得非常难用。传统的编程语言,本质上都不是为开发界面而设计的。这些语言,一般都有一些辅助的模板技术来组织界面。如果没有IDE,无论是Nokia主打的QT、Java还是微软的C#,直接使用手写界面感觉都像是在hack,开发难度很高。但是HTML不同,这是一门天生就为生成界面而发明的语言。HTML足够简单易懂,很多初学计算机的人都都先学习HTML。得益于浏览器强大的解释能力,经过良好设计的Web界面对于缩放和不同分辨率的适应要比传统语言要容易的多。这一点是毋庸置疑的。 如果能够使用HTML开发界面,实用其他语言开发底层功能,也许能够提高开发的效率,并提高程序质量。
目前使用HTML作应用程序界面最著名的例子就是鼎鼎大名的Firefox。运行于Mozilla的XULRunner之上,使用特殊的XML和CSS描述界面,用Javascript作为胶合层和底层的引擎通信,整个Firefox的都是由Gecko渲染的。
使用HTML5+CSS作为应用程序界面的好处多之又多:1、Web是趋势,这样编写的程序可以方便向Web移植。2、简化界面的编写,软件换肤等成了异常简单的技术(还记得我们公司用C#编写程序,而且使用DevExpress (.net + DevExpress应该是传统语言中制作绚丽界面最高效的方式了吧),结果还是bug一堆,客户要求很多微调,都花费了非常多功夫。最悲剧的是最后还是没有满足客户的要求。)。3、跨平台Web跨平台是天然的。
不过这样也有缺点。缺点就是速度,界面的流畅程度可能不及远程应用程序。最典型的例子,Firefox和Chrome,启动速度和操作的反应速度都是天壤之别,可能也和Gecko引擎的速度也有关。(不过,从google推出Win32版Chrome之后推出Linux版本所化的时间,也可以看出使用各平台的原生API开发应用程序还是相当花工夫的)。
豌豆夹使用Webkit作为渲染界面的引擎,使用HTML5+CSS3作为界面是一个非常诱人的技术(不过不知道豌豆夹界面上HTML5界面的占了多少比例)。像豌豆夹这样的例子,还有Android上的QQ软件。早先Android的Market上有两个QQ程序,较早出现的一个就是将 miniQQ的HTML+CSS+Javascript保存在本地,然后用Android的API包了一个壳,就成了一个原生的QQ程序。虽然这个版本的 QQ因为用户体验和流量使用的原因输给了原生的QQ程序,但是腾讯在这种编程方式上的一个尝试也给我们指出了一个方向。向我们这种单打独斗的小开发者或者实力比较薄弱的小技术公司,如果不能对新技术有敏锐的眼光从而提前下手,在将来的竞争中将处于劣势。
转载自 移动开发博客
相关文章推荐
- htmltest~计算器界面的实现
- Android引导界面---实现应用程序只启动一次引导界面
- html+css+js实现xp window界面及有关功能
- html嵌入applet及applet实现界面跳转的方法
- 使用html来定制编辑页面,不需要写代码就可以实现业务处理的界面
- wince实现应用程序界面中英文切换(EVC4.0)
- 如何通过动态生成Html灵活实现DataGrid分类统计的界面
- HTML实现用户注册界面
- 开源组件NanUI - 使用HTML/CSS/JS来构建.Net Winform应用程序界面
- 有了html页面,进行二次显示,通过html、JavaScript、jQuery的ajax三种技术,我可以实现任何界面效果
- 在一个MFC的对话框应用程序中,实现程序开始时就隐藏对话框界面方法(收集)
- 设计和实现 Web 应用程序界面
- C# 封装miniblink 使用HTML/CSS/JS来构建.Net 应用程序界面和简易浏览器
- 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面
- Qt系统对话框中文化及应用程序实现重启及使用QSS样式表文件及使用程序启动界面
- Delphi实现HTMLWebBrowser实现HTML界面
- 用WebBrowser实现HTML界面的应用
- html+css实现登录界面
- Qt与HTML,jQuery交互实现类似QQ聊天界面
- html&css实现阿里巴巴注册界面