歪批:XCode之外的选择?( 二 )


Future BASIC
在未来,我们还有一个BASIC……这个叫Future BASIC的东西可以看看 。这东西不跨平台,有几个亮点 。我看过没玩过,有些地方不太敢乱说 。
一个亮点是,你不用花五百美刀去获取一个苹果下的BASIC解决方案,对于预算不多而且惯用免费和OOXX软件的你,无疑要舒服的多 。还一个亮点是通吃,从System 7到Leopard,从intel mac到68k,是苹果的机器就能跑 。
还有个蛮有意思的东西,它提供了一个FB to C的程序,也就是说你写出了Future Basic的代码,拿这个程序一转换,biu~变成c代码编译了 。
那到底啥是Future Basic?开发者说得清楚,开发工具无非就是两块,一块是编辑器,给你拿去写代码;再一块是编译器,编译成机器能执行的二进制程序 。就跟揉面一样,弄点面粉弄点水,揉一揉就成面团了 。
Objective-Basic
再来个Basic,也是苹果平台的 。号称是能够使用所有Cocoa库,面向对象的Basic 。而所有这些有一个前提,你得熟悉Cocoa 。
说白了Objective-Basic就是一个转换器,把你写的半Objective-C,半BASIC的代码,转换成真?Objective-C,再用苹果的编译器编译成可执行程序 。这种方式你可以说它烂,也可以说它强,但是存在即为合理,不是所有人都能看明白Objective-C,但是几乎所有人都能看明白Basic 。
看了Objective-Basic提供的例子你会发现,真的就是Objective-C的Basic版,所有的框架调用,声明都和Objective-C那么相像,甚至―-它的UI编辑器就是苹果的Interface Builder 。
可是麻烦就麻烦在这里,Objective-Basic没有很好的把IDE和界面编辑揉在一起,你得想办法自己搞定 。而最让人痛心疾首的是,要建立一个自己的工程,你得把它提供的例子复制一个,在它的基础上改……否则的话有你好看,因为你会立刻得到一个(或是几个)错误提示 。
而Objective-Basic超好的地方也是它的语法转换 。你如果真的非常熟悉Basic,看看例子,里面甚至带有一个俄罗斯方块,也许你还能写出基于Core Animation的动画界面 。它会自动帮你从basic文件中生成同名的.m文件,这些.m文件还算容易读,你都可以把生成好的源代码加到你的XCode项目里 。对于Objective-C新手来说,它可以当做一个从Basic到Objective-C的教学工具来用,真的 。
好或是不好,自己来衡量,而衡量标准是用了才知道 。今年中旬Objective-Basic又要发行一个新版本,如果它在易用性上多下点工夫,也许真会是一个值得一用的东西 。
Mono
史书记载:啤酒盖子说要有DOS,于是就有了DOS,他说要有Windows,于是就有了Windows,他说要有.net,于是就有了.net……
如果你爱.net更爱苹果,你也许需要一个Mono,作为一个跨平台的.net解决方案,mono提供了差强人意的苹果支持 。正如Cygwin在Windows所做的一样,很多聪明人始终通过极为复杂的手段将自己变成懒人 。Mono也一样,因为它把.net弄到了unix平台上 。
为什么聪明人聪明?因为他们喜欢偷懒 。他们不想写重复的代码,而仅仅为了在不同平台上跑,于是他们多写了很多代码去实现成为懒人的梦想 。Mono里面自带的Cocoa#就是这么一个玩意,它甚至连取名字都体现了慵懒的聪明,聪明地把Cocoa和#放在了一起 。
这套开发框架里面还懒惰地包括了一个界面看起来像windows的苹果可执行程序,是一个不那么好用的MonoDevelop 。不要指望它能帮你做太多事情,如果你希望在苹果中编写.net程序,最终结局还是要用XCode 。
在苹果中使用Mono还是有一点好处的,你在分发程序的时候,其实可以不用附带那么大的Mono安装包,而可以仅仅把自己需要的库打包一起放进执行程序的目录里 。

推荐阅读