python中用于web应用程序的pyjamas小部件api

Pyjamas的Python项目详细描述


当前版本:0.8.1~+alpha1
----


这是睡衣的0.8.1~+alpha1版本。pyjamas包含几个
项目,其中一个是独立的python-to-javascript编译器;其他
项目包括一个图形小部件工具包,这样,pyjamas应用程序既可以作为纯javascript在web浏览器中运行(不需要插件)
,也可以在桌面上独立运行(作为pygtk2和pyqt4的竞争对手)。

包括:

*更多接近python的行为,感谢daniel kluev

*对标准模块的改进和添加,包括将jsonparser重命名为json并将其接口更改为与标准python相匹配,
和一个新的符合python的日志模块。

这些功能和
增强功能包括:

*一个新的平台覆盖系统,它将
浏览器和桌面睡衣应用程序的源文件与被覆盖的模块放在同一个目录中*解决了focus.py中长期存在的问题

*根据需要添加使用HTML5或Windows Media的视频和音频小部件
(也可以在PyJD下正确操作,包括MSHTML)。

包括Cherrypy、CGI-bin和Mongrel2。一个完整的jsonrpc
服务和每种类型的web服务系统都可以添加到
通常需要5行代码。

这可能使开发人员在GNU/Linux开发基础上测试应用程序在更广泛的浏览器和桌面上的部署变得更容易。因此,可以在python中开发富媒体ajax应用程序,而不需要特殊的浏览器插件。pyjamas包含一个独立的
python-to-javascript编译器,以及一个小部件集api,它看起来非常类似于桌面小部件集api(例如pyqt4或pygtk2)。


pyjamas还包含一个桌面小部件集版本,作为纯python运行,有四个可用的桌面端口。使用web浏览器
技术惊人地提供了传统
小部件集(如pyqt4和pygtk2)的替代品,其优点是
完全支持html、css、插件和其他与web相关的功能
。对于windows端口,这可以节省用户和开发人员大约30MB的下载量,因为mshtml是作为ie的一部分预先安装在windows操作系统上的。请参阅:

http://pyjs.org
http://pyjs.org/faq.html
http://pyjs.org/features.html


已知错误:http://code.google.com/p/pyjamas/issues

pyjamas desktop
--

pyjamas在Web浏览器中运行您的Python应用程序(如javascript)。
pyjamas desktop在
桌面上运行完全相同的python应用程序(与纯python一样)。


http://pyjd.org

要使用Pyjamas桌面,有三种选择,
有更多计划的[macosx pyobjc;kde的Pykhtml]。


Pyjamas桌面的所有端口都需要安装一个JSON库:因为已经有很多了,编写另一个库会适得其反。如果
python的版本为2.5或更低,建议使用simplejson。python 2.6及更高版本默认安装了json库。/>
1)-xulrunner

安装hulahop和python xpcom。来自olpc sugarlabs的hulahop,
与debian和ubuntu一起发布;python xpcom是xulrunner的一部分,同时也与debian和ubuntu一起发布。
其他用户应该在适当的网站上为他们选择的操作系统研究python xpcom和hulahop的安装说明。


Mozilla团队对XulRunner API的关注和支持不足,因此没有传播到Python xpcom。必须使用较旧版本的xulrunner
:已知版本1.9.0或1.9.1适合,版本
9.0也适用。版本10及以上是已知的segfault。mozilla
基金会没有注意到xulrunner在嵌入式应用中的稳定性:许多应用程序(不仅仅是睡衣桌面)现在都不工作了,稳定的代码。

2)-pywebkitgtk


pywebkitgtk有两个版本:请不要使用webkit团队"接管"的较旧版本:webkit团队已决定完全支持并直接等同于与完整w3c html的互操作性。规范并不重要。


pywebkitgtk的版本http://www.gnu.org/software/pythonwebkit
为所有提供了通过javascript访问的函数提供了完全和直接的python等效互操作性:因此,睡衣
桌面将正常工作。

pywebkitgtk必须显式启用。创建一个$home/.pyjd/pyjdrc文件
,包含以下两行:

[gui]
engine=pywebkitgtk


3)-pywebkitdfb

构建依赖项也大大小于任何其他web浏览器引擎(这间接导致了快速启动时间)。


html5是完全支持的,除了视频和画布;目前还缺少对帧的支持。尽管存在目前的局限性,
pywebkitdfb非常适合于嵌入式系统,并且可以作为一个优秀且超快速的通用web浏览器引擎使用。

pywebkitdfb必须显式启用。创建一个$home/.pyjd/pyjdrc文件
,包含以下两行:

[gui]
engine=pywebkitdfb


4)-mshtml


"comtypes"可以在这里下载:
*http://sourceforge.net/projects/comtypes/


与其他端口不同,其他端口可以包含一个巨大的捆绑包,大小不超过30MB,mshtml端口实际上只需要comtypes,多亏了mshtml三叉戟引擎的长远设计和它广泛的com接口。


5)-pyqt4


类似dom的api,用于
webkit)。

pyqt4引擎是高度实验性的,需要配置文件
才能显式启用它。创建一个$home/.pyjd/pyjdrc文件,其中包含
以下两行:

[gui]
engine=pyqt4


遗憾的是,pyqt4端口更多地演示了如何从不从python(ever)访问web浏览器dom功能。原因很简单:
要访问除了1%的可用dom功能之外的所有功能,必须动态创建并执行javascript
所有传入和传出的数据都必须在python和javascript之间动态转换
(作为qt4对象)。


指导咨询,
取决于你的弹性和体质。所有这些都不会丢失:如果提供了
资金,pythonwebkit项目可以移植到qt4,而实际需要的
代码很少,因为gnu pythonwebkit项目已经被
设计为提供python对dom功能的访问,而不依赖于使用。

6)-pykde


pykde引擎是作为对kde团队的"感谢"完成的,没有了webkit将不存在的。遗憾的是,由于技术上的原因,PykDE
引擎要求整个KHTML部分用C++"RTTI"编译,
,并且大多数GNU/Linux发行版明确禁用RTTI,因为
它对性能有影响。然后,出于纯粹的怀旧和血腥的思想,
pykde引擎将得到持续的支持,即使khtml引擎仅符合dom tr2(目前)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
地址簿在地址簿中添加和检查Java中的条目   java在请求范围中存储和检索值   java Android:您能否使用AlertDialog清除数据,以便在启动电子邮件活动后数据不会损坏?   用户和角色的javajpa设计   java为什么mybatis更新和删除不起作用?   在使用swingx jxtreetable进行测试时,java Fest的速度会减慢   如何使用ApachePOI4.0XDDFChartData、XDDFBarChartData生成堆叠条形图;在使用java的excel工作表中,我不想使用jfree   oauth Java执行oAuth1。0具有给定consumerKey、ConsumerCret、accessToken、accessTokenSecret和realm的已验证请求   java TTS OuttanceProgressListener无法正常工作   java if条件在不同的环境中返回不同的值   java Spring Boot应用程序的嵌入式HTTP服务器在哪里?   基于SSL的java SOAP客户端:sun。安全供应商。certpath。SunCertPathBuilderException:找不到请求目标的有效证书路径   java StringBuilder()与StringBuilder(空)与StringBuilder(“”)