`
deer
  • 浏览: 85379 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论
阅读更多
听一个同事说的,他们项目正在开发,于是就找了篇文章:

http://hi.baidu.com/comdeng/blog/item/15b06af06ede6aaba50f52e0.html

基于UWA(Universal Widget API)的Sohu Open Widget开发经验总结

这几天忙活一个Sohu Open Widget。搜狐博客开放模块(Sohu Open Widget,简称SOW)是一个由搜狐公司推出、基于UWA(Universal Widget API)规范、应用于多个平台的Widget标准。经过最初的不解,到中间的迷惑,到最后的释然,感觉SOW的确是一个不错的东东。

下面来讲述一下我的开发模式:

一、一个widget由3个页面构成:
1.widget.xhtml 这个页面负责模块的使用导航。因为模板是要做成通用的,因此需要在页面最初显示的时候给予一些信息提示,这对于用户初次使用将起到很好的导航作用。这是其一。最重要的当然还是其控制作用了。控制作用即它要完成页面的配置,并将配置信息发送给相应接口,在接收到返回的信息之后,将对模块的页面实行更新。

2.interface.php 这个页面负责对配置信息进行预处理,并将处理好的信息发送给相应的业务逻辑。并将业务逻辑返回的数据回送到widget.xhtml页面。

3.implement.php 这个页面负责具体业务逻辑的实现,并返回数据给interface.php。

这也可以算是一个简单的三层系统了。



最后,对于要实现和某网站的某一用户绑定的widget,需要注意如下事项:

一、必须仔细阅读相关的开发文档,看清哪些描述信息是必须的,哪些参数是必须要添加的。比如:
1、js和css都不能是外联的,<head>里边title信息是必须的等等,否则很有可能引起xhtml加载失败。如果出现加载失败的情况,一时半会又找不到症结所在,可以通过http://validator.w3.org提供的验证功能对错误位置进行查找。一般最有可能的错误就是标签没有闭合符号/。比如<hr size="1">就会引起错误,正确的应该是<hr size="1"/>。
2、代码的位置错误。比如将<widget:preferences>放到body中间,正确的应该是在head标签中。

二、提供给sohu的widget,应该是一个xhtml页面,这个页面不管业务逻辑,只负责widget的导航和模块参数的配置以及模块参数的发送。应该另外提供一个隐蔽的接口来实现对模块参数的处理和数据的返回。

三、在widget没有通过sohu审核之前,模块参数设置都将通过cookie的形式保存;当通过审核后,参数设置则会无条件的发送给sohu保存到其数据库中。也就是说,这些模块参数都将会保存到sohu的数据库中,因此,必须考虑到用户信息的安全。因为通过某些技术手段,这些配置信息能被截取到。

四、sohu的API接口不提供对模块参数的验证,因此验证逻辑都需要通过js来完成,这对于widget的正常运转起着很重要的作用。因此,不要忽视对数据的验证。

五、尽量不要设置css样式,直接使用sohu提供的css样式将能给模块最大的兼容性。



Widget开发最佳实践:
http://blog.sina.com.cn/s/blog_4696030f0100dey0.html
  • 大小: 10.9 KB
分享到:
评论

相关推荐

    widget 介绍:比较全面介绍widget由来的资料

    比较全面介绍widget由来的资料 Widget是一种小插件,通常以小窗或小框的形式出现在网页、系统桌面、手机等地方。Widget通常使用的是HTML、Javascript、Flash或者iframe方式嵌入。一个界面可以有多个widget,通过不同...

    比较全面介绍widget由来的资料

    Widget是一种小插件,通常以小窗或小框的形式出现在网页、系统桌面、手机等地方。Widget通常使用的是HTML、Javascript、Flash或者iframe方式嵌入。一个界面可以有多个widget,通过不同的widget可以在一个界面上分别...

    Android之AppWidget(桌面小部件)开发浅析

    什么是AppWidget AppWidget 即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序,先看图:   图中我用黄色箭头指示的即为AppWidget,一些用户使用比较频繁的程序,可以做成AppWidget,这样能...

    Flutter中获取屏幕及Widget的宽高示例代码

    我们平时在开发中的过程中通常都会获取屏幕或者 widget 的宽高用来做一些事情,在 Flutter 中,我们有两种方法来获取 widget 的宽高。 MediaQuery 一般情况下,我们会使用如下方式去获取 widget 的宽高: final ...

    andriod的一个桌面Widget 一个MP3播放器

    这是一个MP3程序,这个程序不仅仅带Activity,还有一个桌面Widget,同时是可以运行的源代码。可以通过桌面Widget控制后台音乐的播放,也可以点击Widget上面的LOGO进入应用程序。 涉及到了,一个基本的widget程序的大...

    基于Android的Widget开发

    本文主要介绍了桌面动态图库APP Widget设计过程。在设计之前,首先根据UI设计的原则,给出了合理的需求分析,确定了软件要实现的功能要求。然后根据功能要求,阐述了Widget的框架设计,包括桌面布局设计、实现Widget...

    SP Widget 软件使用手册

    SP Widget 软件使用手册 SP Widget 将提供 SILICON POWER 存储装置更多实用的软件功能,帮助您随时 能轻易地执行个人数据的备份加密。 有了 SP Widget,您将可使用 SILICON POWER 移动存储装置执行如下工作: 「我...

    Widget介绍.rar

    Widget由来、发展、用途、示例、开发 Widget是一种小插件,通常以小窗或小框的形式出现在网页、系统桌面、手机等地方。Widget通常使用的是HTML、Javascript、Flash或者iframe方式嵌入。一个界面可以有多个widget,...

    appWidget启动Activity

    使用appWidget启动一个Activity

    WordPress对侧栏widget进行缓存的插件

    众所周知WP-Cache和WP Super Cache这两款页面缓存插件可以加速网页的显示,今天介绍一款插件,可以缓存WP边栏(SideBar),同样起到加速页面显示的作用,wp widget cache这款插件就是对侧栏的widget进行缓存,提高侧栏...

    Picture Frame Widget 实例源码

    1,这个例子演示了怎么创建一个widget(有config的情况)。 2,主要功能有: 1)能从SDCard中找到图片或视频(media)。 2)能选择一张图片并截取其中一部分,截取的这部分将最终显示到widget上面。 3)点击widget能...

    做一个自己的Widget引擎-移动互联网hot

    微技,基于Web的小应用,可以脱离通常的web浏览器页面,... 由于Mobile Widget兼具C/S与B/S优点的特性,一经引起了第三方厂商和运营商的关注,即:打造一个跨手机平台的Widget Engine,把握又一个移动互联网应用入口。

    Android天气预报widget的设计与实现毕业论文

    第4章 天气预报WIDGET的设计 19 4.1 网络功能实现 19 4.1.1 标准Java接口 19 4.1.2 Apache接口 20 4.1.3 使用Java接口连接网络 23 4.2 XML解析的实现 23 4.3 制作WIDGET应用程序 27 4.3.1 源文件组织 29 4.3.2 类...

    Qt界面 获取widget位置大小并与其他widget切换位置大小

    点击按钮实现不同widget间切换位置大小

    android axure widget包

    自己从网上下载的PS做的axure的 widget ,发上来跟大家分享一下

    Qt StackWidget切换动画

    QStackedWidget切换widget时的动画

    webwidget_scroller_tab

    webwidget_scroller_tab,tab选项卡代码

    Qt5以上动态添加子widget

    qt5 动态添加子widget

    widget现状分析报告(移动widget)

    widget现状分析报告,分析当前widget的现状,并对运营商的widget提出建议

Global site tag (gtag.js) - Google Analytics