Mad*_*d0g 9 javascript c# python tidesdk
我想开发一个跨系统使用的桌面应用程序(win,mac,linux),是否有一个GUI框架,允许我为所有3个平台编写一次代码并拥有一个完全可脚本化的嵌入式Web组件?
我需要它有一个API来在应用程序和网页javascript之间进行通信.
我知道C#,JavaScript和一点python.
And*_*ock 24
TideSDK也正式名为Titanium.这提供了一个WebKit HTML/JavaScript小部件,可以完成您想要的所有操作,包括运行Chrome开发人员工具.
编辑如下.通过TideSDK开发人员的反馈整合我的更新:
TideSDK,以前称为Titanium Desktop,是一个开源软件开发工具包,用于使用HTML5,CSS3,JavaScript和其他常用脚本语言创建多平台桌面应用程序.该项目由Github托管.主网站拥有全面的文档,并拥有一个活跃的开发人员社区.成千上万的开发人员使用以前的Titanium Desktop开发桌面应用程序.也许最受认可的应用是Wunderlist
TideSDK允许您使用Web开发技能创建桌面应用程序并提供各种特权API.您可以使用python,php或ruby中的成熟库轻松扩展应用程序的功能.
TideSDK的核心是编译到WebKit组件中的对象桥.该桥允许其他脚本语言 - python,php或ruby - 使用DOM中的脚本标记在HTML页面上运行,就像JavaScript一样.您还可以直接从应用程序中调用.py,.rb或.php文件.
TideSDK只能使用基本的文本编辑器 - 它不需要任何特殊工具或IDE,尽管许多开发人员更喜欢更丰富的工具.TideSDK包括用于在本地运行应用程序(用于开发和调试)的命令行工具,还可以将其打包到您正在开发的操作系统的安装程序中(支持Windows,Mac OSX和Linux).为了获得所有需要的安装程序,典型的TideSDK开发环境将包括每个操作系统的物理或虚拟机.TideSDK团队正在寻求尽快实施一种不同的更好的方法.
TideSDK团队目前正在开发TideSDK Builder应用程序.它将提供用于创建,运行和打包TideSDK应用程序的GUI.为了让开发人员更快地开始,TideSDK Builder引入了一项新功能 - Scaffolds.Scaffolds生成所有锅炉板以实例化具有特定开发模式的项目,例如Backbone MVC.开发人员可以使用TideSDK Builder来创建,导入和共享脚手架.
TideSDK的路线图包括CommonJS for 1.4的实现,旨在为开发人员提供使用JavaScript的更加模块化的开发体验.
TideSDK项目由一些样板代码和一个包含核心项目文件的Resources文件夹组成.以下说明了将在所有支持的平台上运行的简单hello world应用程序的结构:
??? CHANGELOG.txt
??? LICENSE.txt
??? README.md
??? Resources
? ??? app.js
? ??? default_app_logo.png
? ??? index.html
??? manifest
??? tiapp.xml
Run Code Online (Sandbox Code Playgroud)
清单包含有关项目使用的运行时模块的信息.tiapp.xml提供配置,default_app_logo.png是默认显示在Dock,系统托盘或应用程序窗口中的图像.
以下是hello world示例的app.js文件的内容(因为它将出现在TideSDK 1.3.0中).以前的版本将使用已停产的Titanium命名空间.
// create and set menu
var menu = Ti.UI.createMenu(),
fileItem = Ti.UI.createMenuItem('File'),
exitItem = fileItem.addItem('Exit', function() {
if (confirm('Are you sure you want to quit?')) {
Ti.App.exit();
}
});
menu.appendItem(fileItem);
Ti.UI.setMenu(menu);
Run Code Online (Sandbox Code Playgroud)
这是同一个应用程序的HTML.它调用上面的脚本.
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
<style type="text/css">
body {background: #fff;}
</style>
</head>
<body>
<h1>Hello World</h1>
<script type="text/javascript" src="app.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在少于10行的JavaScript代码中,我们创建一个菜单,添加"文件"和"退出"菜单项,并将其设置为主窗口.一个简单的回调方法用于弹出一个退出确认对话框.如果用户确认,则应用将退出.
Titanium由Appcelerator开发,并在Apache 2许可下提供.最初Appcelerator提供了开源Titanium Developer来创建项目.后来,Appcelerator推出了封闭源码Titanium Studio,这是一款位于Aptana之上的IDE.虽然目前仍有可能在Titanium Studio中开发TideSDK,但未来可能还需要一个插件.[安德鲁:对不起,我不清楚这一点.Titanium Studio的插件?还是Aptana?还是TideSDK?]
Appcelerator提供了一个TiStudio SDK供我们使用,可以帮助我们创建一个TiStudio插件,允许通过TiStudio使用TideSDK
小智 8
如上所述,TideSDK(http://www.tidesdk.org/)是一个选项(对我来说现在更好)你也可以采用相同的想法XUL Runner(https://developer.mozilla.org/en) -US/docs/XULRunner),Adobe AIR(http://www.adobe.com/devnet/air/air-sdk-download.html)(此处:http://www.adobe.com/devnet/air.除了flash和Dreamweaver,AppJS(http://appjs.org/)或Node Qt(https://github.com/arturadib/node-qt)之外,html是以"如何"方式提供更多工作的教程有cef(http://code.google.com/p/chromiumembedded/),berkelium(http://berkelium.org/),awesomium(http://awesomium.com)或如何将firefox嵌入到GUI应用程序?它说明了如何在应用程序中嵌入gecko(firefox的引擎).
好的,现在我对所有人的看法:第一个选项将为您提供更好的方式,因为它们基本上是一个跨平台工作的"浏览器",您将部署一个html + js + css应用程序(带有空气可以部署闪存) /动作脚本应用程序); 您需要构建应用程序然后将"浏览器"放入其中的其他选项,它提供了更大的灵活性,但可能适得其反.
我对所有人的体验是:tidesdk - 很好但稳定但仍在增长,所以一些高级功能可能会丢失,但是你可以编译它并且开发团队非常活跃
xulrunner - 稳定,不可能做复杂的事情,你需要一个良好的C知识来制作自己的组件,因为它只为你提供基本的东西.它在你能做的事情上非常灵活,但内容结构严格,你的应用程序不会运行,除非它以这种方式组织,并且在我看来有一个丑陋的语法(笑),它是java和javascript样式的混合编程
adobe air - 易于使用和部署,但闪光灯给我带来了未经优化的东西的奇怪的瘙痒感觉
appjs - 是nodejs,示例有效,我无法运行我的自定义应用程序,我认为它还没有精制,对我来说,它以一种奇特的方式运行
nodeqt - 是qt + nodejs,你需要编译自己的qt版本,我还没有测试但看起来很简单
其他嵌入方式 - 没有测试,看起来很好,但我不知道,可能是无所事事