嵌入式 linux 智能设备应用中 web 支持的实现(一)

本文探讨了嵌入式Linux智能设备中Web支持的实现,重点关注UI系统、浏览器选择和服务器技术。文章指出,由于嵌入式平台的多样性和性能限制,开发带UI应用具有挑战性。此外,厂商支持和浏览器的不一致性增加了开发难度。作者介绍了Qt和WebKit,作为解决嵌入式Linux上Web应用开发问题的解决方案,通过QWebView和QWebPage等类实现网页加载和显示。文章还讨论了使用Web取代本地UI和从C/S模式转向B/S模式的可能性,以简化开发和维护工作。
摘要由CSDN通过智能技术生成
由两篇文章组成的系列文章主要阐述如何在嵌入式 Linux 智能设备的应用程序中增加 Web 支持。第 1 部分,我们将会介绍嵌入式 Linux 智能设备开发的现状、Qt 和 WebKit 的概念。并以广告机和手持点菜机等应用为例,叙述在嵌入式 Linux 平台以及 Qt,WebKit 等技术的帮助下,如何在终端应用程序中添加网页浏览的功能,如何用 Web 技术取代传统 UI 技术,以及如何在智能设备上实现从 C/S 到 B/S 的开发模式的转换。

嵌入式 Linux 智能设备开发的现状

近几年,嵌入式 Linux 在智能设备中的应用发展的非常迅速。可以预见,嵌入式智能设备和我们的生活将会越来越密不可分。

Linux 在嵌入式系统中的应用可以分为两大类:面向服务类和面向应用类。典型的面向服务类系统有交换机、路由器、监控设备等;典型的面向应用类的系统有手机、PDA、机顶盒等。本文主要讨论面向应用类,特别是指带有网络和 UI 的应用系统。

在嵌入式 Linux 上进行带 UI 的应用程序开发是一件非常复杂的事情,主要涉及以下几个方面:

UI 系统

Linux 本身的 UI 系统并不统一,嵌入式版本上的 UI 系统更是五花八门,而且与其 PC 版本相比也有一些适应性的改变。而有些产品的开发甚至不使用 UI 系统,通过直接往 framebuffer 贴图的方式来实现 UI。而且与 PC 相比,嵌入式系统的性能问题,也让嵌入式的 UI 系统在表现上做出很多妥协。这些都使得开发难度增加,带来更多的不兼容问题。这些都使嵌入式 Linux 上的应用开发和移植变得更加困难,另外也使培养一名合格的嵌入式工程师的成本变的比较高。

厂商支持

对于一个嵌入式平台,其主芯片的生产商对这个平台影响巨大。一般来说,生产商会提供对某个或者某些 UI 系统的支持,但是他们不可能支持所有的系统。所以,选定一个嵌入式平台就意味着开发团队需要切换到这个平台所能支持的 UI 平台上。这个团队之前做的应用就需要移植到新的 UI 平台,而这个移植是非常麻烦的。

浏览器

嵌入式 Linux 的网络接口一般都支持 posix 的标准,但是嵌入式设备的浏览器则与 UI 系统一样是五花八门的。在应用的推动下,嵌入式 Linux 平台上的浏览器在近年发展也非常迅速。他们基于不同的 UI 平台进行开发(也有一些直接操作 framebuffer),对 Web 标准的支持和兼容性各不相同。比较简单的浏览器只能支持 HTML 标签,优秀的产品则能在兼容性上做到与 PC 平台上的浏览器几乎同样的水平。

服务器技术

很多嵌入式应用需要与服务器进行连接,点菜机就是一个典型的应用。手持智能设备端需要将用户的操作写入远程的服务器,然后远程的信息管理系统进行进一步的处理。这种类型的应用对于 PC 平台来说就是一个非常简单的数据库应用系统,数据库、远程调用、并发、中间件等技术已经应用了多年,而且还有众多成熟的企业应用的框架,可以灵活而快速的搭建出一个系统。但是这些在嵌入式平台都是不存在的,这意味着开发人员还需要用相当于 PC 平台十几年前的水平来进行开发,为了让嵌入式系统和服务器的数据库进行对接,开发人员还需要在服务器端编写一个专门的程序来充当桥梁的作用。笔者见过在不少项目里还需要直接控制 socket 来和服务器进行数据交换,这些对于 PC 平台都是不可想象的。另外开发一个支持多个客户端并发的稳定服务器程序并不是一件容易的事情,这些问题都会影响整个嵌入式开发过程的成本和质量。

如果一个公司希望在某个嵌入式 Linux 平台上开发一个包含了 Web 浏览的应用,而他自己之前并不拥有一个完善的平台的话,其开发团队首先需要选定一个 UI 系统,然后寻找一家做浏览器的公司,与其合作,再想办法将浏览器移植到自己的平台上。如果是需要在自己的应用程序中嵌入一个浏览网页的窗体,那么问题就会更加复杂,因为还涉及到与选定的浏览器进行代码或者模块级别集成的问题。

Qt 和 WebKit 简介

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值