Konfabulous

神秘而且大肆宣传Konfabulator来自Arlo Rose和Perry Clarke的项目终于出货了它的价格是25美元,它是Mac OS X的JavaScript运行时引擎它运行“小部件”,它是包含XML,JavaScript和位图图像的小包(文件夹)Widgets are like programs; but unlike full-blown Mac OS X applications, widgets don’t have menu bars or Dock icons当您运行窗口小部件时,它只是一个窗口。

鉴于Arlo Rose对Kaleidoscope负有重大责任,因此Konfabulator小部件在视觉吸引力方面毫不奇怪(稍后会详细介绍。)

“运行时引擎”只是意味着当Konfabulator本身运行时,它为小部件运行提供上下文当您创建自己的小部件时,您不必担心Carbon或Cocoa或任何传统的Mac编程API您只需为Konfabulator编写JavaScript,这样就可以非常简单地启动并运行一个简单的小部件。

Konfabulator本身只是一个应用程序Albeit an application which itself does not have a menu bar or Dock icon运行时,Konfabulator会在菜单栏中放置一个全局图标菜单菜单列出了所有正在运行的小部件,并允许您退出Konfabulator(如果这样,将关闭所有正在运行的小部件 - 除非Konfabulator本身正在运行,否则小部件无法运行)If you want to quit an individual widget, you can either control-click in the widget’s window, and use a contextual menu, or you can hold down the Control key while selecting the widget’s name from the Konfabulator menu (which I never would have guessed without having read the documentation; it strikes me as a very unintuitive shortcut).

与Konfabulator一起提供的小部件与Mac OS X 10.0早期人们制作“docklet”的任务类似电池表,AirPort信号强度计,简单的日历,当然还有几个时钟已经有几个第三方小部件可用,肯定会有更多。

这是一个很好的想法,很容易理解为什么人们对它感到兴奋首先,JavaScript是一种非常棒的脚本语言当然,它最着名的是客户端Web浏览器脚本,但它确实是一种通用的脚本语言它具有良好的可读语法,面向对象,并支持内置正则表达式等酷炫的东西根据Konfabulator网站,Rose最初的想法是使用Perl作为脚本语言JavaScript是一个更好的选择首先,对于初学程序员来说,它是一种更好的语言,而且Konfabulator的很大一部分吸引力在于,即使您不是一位经验丰富的程序员,它也可以相对容易地开始使用。

Pixel Pushing

通过观察小部件的实际情况可以看出,Konfabulator的吸引力很大一部分是纯粹的视觉效果考虑到罗斯与万花筒的背景,这并不奇怪但是,我不喜欢,而不是一点点,“剥皮”不是一种选择 - 它是强制性的小部件的界面由图像(PNG,JPEG,GIF,TIF和其他格式)组成无法使用本机Aqua UI元素构建窗口小部件。

从窗口背景到每个按钮,一切都必须是图像文件Given that buttons might need to come in several states (active, pressed, inactive), and that if you’re trying to look Aqua-y you’ll need to support both the Blue and Graphite color themes, that’s an awful lot of pixel-pushing暂且不谈皮肤图形用户界面是否是一个好主意这个更大的问题,如果不容易创建一个非皮肤的默认UI,这似乎很愚蠢。

但也许我正在咆哮错误的树Konfabulator显然是为了吸引万花筒人群:那些喜欢花时间在Photoshop中破解像素而不是黑客实际源代码的推特。

没有IDE

对我来说最令人困惑的是Konfabulator不包括的内容:IDE没有可视窗口小部件编辑器或源代码编辑器它们确实包含了关于窗口小部件XML结构和支持的JavaScript语法的相当全面的文档,但是当涉及到创建自己的窗口小部件时,您就是自己的。Arlo Rose,在Konfabulator支持论坛上写作,写道:

Photoshop和BBEdit是你的朋友:-)

我们正在开发一个可视化编辑器,但我们是网络[SIC]但确定何时会被释放。

所以他们显然意识到需要一个IDE但我不禁想到,如果他们在开始销售Konfabulator之前等待IDE会更好就目前而言,只需运行一个小部件就需要Konfabulator假设我知道一个非常酷的小部件类型的应用程序我不会为Konfabulator编写它,因为我不想将观众限制为那些为Konfabulator支付25美元的用户。

让我更有意义的是放弃运行时引擎,让每个人都免费运行小部件然后为IDE收费(收费超过25美元)这使得小部件编写更具吸引力 - 您可以与整个广泛的Mac世界分享您的工作,而不仅仅是像素调整的Konfabulator Klub。

此外,从程序员的角度来看,IDE正在严重缺失Konfabulator小部件格式是开放的并且有文档记录,但这并不意味着它是一种乐趣主要源文件是带有嵌入式JavaScript的XML文件您可以包含外部JavaScript文件,但这不会使项目管理变得更加容易更糟糕的是,您需要使用XML中指定的像素偏移量将每个图像放置在窗口中没有什么比这更令人兴奋的GUI了。

我们需要的是REALbasic风格的代码编辑器和界面布局工具一次向源代码提供一个处理程序的东西“.kon”XML项目文件语法非常易读,这很好,但这并不意味着它不应该由IDE自动生成Creating Konfabulator widgets isn’t hard in the way that differential equations are hard; it just looks like a pain in the ass.

Maybe it’s old age (I turn 30 next month), but I would have been happier if their work for version 1.0 had gone toward automating the construction of Konfabulator widgets, at expense of visual effects我宁愿拥有更容易创建的看似简单的小部件但是,我想,我不在Konfabulator目标市场。

[注意:我在本文的初稿中得到了Konfabulator的价格错误(价格25美元,而不是20美元)它已被纠正。]

以前: 歌剧的
下一个: 鲜花是为了笨蛋