CC-lib无线跨平台web页面自动化生成技术的设计实现

简介:

摘要:前端开发通常需要开发多套web页面代码,从而为不同的移动终端浏览器开发不同的web页面,例如低端手机需使用wml,高端手机则支持html和javascript等。本文介绍了一种跨平台web页面自动化生成技术,该技术利用php设计了一个中间层(CC-lib),可以屏蔽底层的web展示语言的差异,程序运行时动态生成各个UI组件的wml/xhtml/html代码,从而可以有效降低前端开发人员的页面开发维护成本。

关键词:浏览器兼容,跨平台,无线,web前端,自动化生成,CC-lib

技术领域:无线,web前端

 

一、背景

在无线领域,通常要为不同的机型,使用不同的编程语言(wml/xhtml/html)编写网页,往往存在下面几个问题:

(1)维护3份代码,开发效率低、维护成本高。

(2)应用开发人员需要关注不同平台的语言差异,调试、自测繁琐。

(3)业务展现逻辑代码和wml/xhtml/html的标签容易混杂在php模板页面里,使代码编写不便,可读性差。

二、技术实现原理

本文介绍一种名为CC-lib的web页面自动化生成工具(实际是一个php实现的组件库),它通过设计实现一个php中间层,来屏蔽底层平台的编程语言差异。

CC-lib形成一套php下的组件库:如panel,form等可视组件或控件;模板开发人员基于这个库来编写PHP程序;

实现编写一套php代码,可分别生成3套(wml/xhtml/html)模板(运行时生成不同的语法标签)。

解决了html标签与程序代码逻辑混杂在一起的问题。

三、CC-lib的设计

1,CC-lib支持的平台

(1)低端手机:wml,古老的手机、低端山寨机

(2)普通手机:xhtml,各种大中小屏的手机

(3)高端手机:html,如iphone/android

2,CC-lib的特点

(1)在组件库的底层内部,在程序运行时自动生成对应的wml或xhtml或html标签来输出,最终形成网页。

(2)组件库底层来决定使用特定平台的哪些特定标签来绘制组件,上层应用开发人员可以不关心底层实现细节。

(3)一些xhtml支持,但是wml不支持的特性,例如左右布局、颜色、锚点等,可以通过底层来进行模糊容错处理。

(4)可支持全局的样式、风格的统一,换肤方便。

(5)是独立的php库,可以单独使用。

(6)新的需求,可以通过增加新的UI组件来扩展。例如iphone手机上的一些动画特效。

(7)采用类似jquery的链式的代码风格:$cc->class_name(‘head_title’)->html(‘hello’)->render();

3,CC-lib的整体设计

CC-lib设计一套公共的接口,不同平台(wml/xhtml/html)下分别使用不同的子类去实现这些接口。例如:CCForm接口,分别由3个平台下的CCFormWML类、CCFormXHTML类、CCFormHTML类实现。

CCIPanel面板接口是CC-lib的核心API接口。CCIPanel是最基础的元素,它代表一个网页区域,xhtml版中采用div或span实现,其它的元素都继承自这个类。

可以往面板中添加各种网页元素,如图片、链接、文本、子面板、表单等。

 

四,CC-lib需处理的一些兼容性问题

不同平台间的细小差异是很多的,下面列出常见的几点:

1,块状元素与行内元素在不同平台下的不同展现。例如:xhtml下可以使用div/span来分别模拟块状元素和行内元素,然而wml平台下没有div和span元素,只能使用br来模拟。

2,左右布局的支持。xhtml下可以支持使用table来做左右两列布局,而wml下则无法支持,只能进行退化处理。

3,form表单的差异。 wml的表单是用anchor+go标签来做的,一个提交按钮一个anchor+go;而xhtml里,表单是用form实现的,一个form里可以直接有多个提交按钮,且多个按钮间是可以共用一批hidden等input表单参数的。

五、CC-lib使用实例

下面是基于CC-lib编写的一个简单页面代码,运行之后将生成使用wml标签来编写的web页面。

 

六、小结
CC-lib可以用于实现wml/xhtml/html等平台的兼容性处理,当不同平台版本之间的产品功能差异不大时,可以实现一套代码同时为多个平台浏览器进行web页面展示。

by yangzuncheng

 











本文转自百度技术51CTO博客,原文链接:http://blog.51cto.com/baidutech/742976 ,如需转载请自行联系原作者
相关文章
|
2天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
15 6
|
22天前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
41 1
|
26天前
|
负载均衡 监控 算法
论负载均衡技术在Web系统中的应用
【11月更文挑战第4天】在当今高并发的互联网环境中,负载均衡技术已经成为提升Web系统性能不可或缺的一环。通过有效地将请求分发到多个服务器上,负载均衡不仅能够提高系统的响应速度和处理能力,还能增强系统的可扩展性和稳定性。本文将结合我参与的一个实际软件项目,从项目概述、负载均衡算法原理以及实际应用三个方面,深入探讨负载均衡技术在Web系统中的应用。
50 2
|
2月前
|
人工智能 前端开发
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
|
2月前
|
存储 安全 数据库
后端技术在现代Web开发中的实践与创新
【10月更文挑战第13天】 本文将深入探讨后端技术在现代Web开发中的重要性,通过实际案例分析展示如何利用先进的后端技术提升用户体验和系统性能。我们将从基础架构设计、数据库优化、安全性保障等方面展开讨论,为读者提供清晰的指导和实用的技巧。无论是新手开发者还是经验丰富的技术人员,都能从中获得启发和帮助。
38 2
|
2月前
|
机器学习/深度学习 移动开发 JavaScript
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
173 0
|
19天前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。
|
22天前
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
23 0
|
26天前
|
监控 前端开发 JavaScript
前端技术探索:构建高效、可维护的Web应用
【10月更文挑战第23天】前端技术探索:构建高效、可维护的Web应用
41 0
|
2月前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
44 0
下一篇
无影云桌面