我们现在的编程工具就处在一个关口。
在这关口之前的二十年里,竖立着一个成功的编程工具:Microsoft Visual Studio(以及它的最初原型 – Visual Basic)。这个可视的集成化的编程工具把一代的程序员吸引到这个平台上面并且帮助微软确立了PC机世界的霸主地位。
而在今天的这个关口出现的时候,眼花缭乱的新工具冒泡一样的出现,但就剩最后一步,仅仅一步,就到了这个关口了。
比方说,我们看到了YUI (Yahoo! User Interface),它提供一些简单的控件 – 比如按钮, DataTable,菜单。。。。
如果大家还有印象的话,当年的Visual Basic就是拉着程序员们的小手,从画第一个窗体,第一个按钮开始,一步步引领他们进入Windows的世界的。Java Applet最初不也就是这么几个控件吗?这个基础已经在那里了。Yahoo! 下一步需要的,就是一套更加简单的,图像界面的编程工具。
在这个关口前,我们也看到了Google Web Toolkit。看看这个Hello World,看看这个完整的,再看看这个复杂些的,你会发现,基于Web的一个新的平台已经呈现,Google下一步需要的,就是一套更加简单的,图像界面的编程工具。
再看看百花齐放的各种各样的Framework,比如这个script.aculo.us还有这些AJAX的,这些所有的创新,基本上已经把一个新的世界的样子描画出来了,他们作为一个整体需要的,就是一套更加简单的,图形界面的编程工具。
如果还要我举出更多的征兆,就是Facebook的F8开发平台,Amazon的AWS开发平台,以及几乎所有Portal都有的Widget开发平台(微软的,Google的…)就明白无误的告诉我们,一个新的以互联网为平台的已经逐步形成,给应用程序铺设的舞台已经开场,但是缺的,还是一个更加简单,图形界面的编程工具。
所以,在这个关口,我相信在不久的将来(应该就在3个月以内),各大厂商一定会推出自己的类似Visual Studio的开发平台,或者成为集成开发环境(IDE),这个IDE会有以下特征:
- 运行于互联网之上(就像它生成的其他任何程序一样)
- 基于拖拽的控件(你可以把一个Button拖到网页正中间,并且双击它就可以编代码)
- 所有的互联网服务都以控件的形式出现在IDE里面(比如搜索或者Fackebook, Flickr)
- 最终生成的应用程序可以直接保存,运行在IDE厂商的平台上。(或者就是由IDE的厂商提供hosting 平台,大家可以通过URL来运行这个应用程序)
- IDE市场的争夺战会异常激烈
谁赢得了这场IDE的争夺战,谁就有了下一代互联网霸主之争的入场券。
其实我很为微软扼腕痛惜。群雄纷起,都虎视眈眈的盯着微软最牢固的平台还有开发工具生意的时候,微软还没有做出像样的动作来。ASP.NET和C#真的是早出来7年,出来的太早了。当最近这些基于AJAX的控件把客户端和服务器端彻底连接成了一个密不可分的整体的时候,微软的开发工具就显得风韵犹存,又老态初现。风韵犹存的意思是,在7年前就已经把一个控件(比如button, Textbox, DataGrid)既当作客户端控件,又当作服务器端控件,在所有的编程思想中明显的处于有前瞻性,即便在今天也是了不起的思想,但我又说它老态初现的原因是,毕竟每一次客户端的操作,都需要HTTP的Post-Back一次,与异步的JavaScript+XML的架构相比,就显得如此的笨拙和不合时宜了。一个刚刚出现7年,还没有普及的产品就这样过时了,真的让人惋惜。
好久没有正儿八经的写程序了(最近都是sample code级别的)。最近也没有太多时间(想象一个刚刚当爸爸的我会有多么忙碌),但是我打算这个周末,花上两个小时,写一个这样的雏形出来,尝试一下这个互联网的IDE的想法。仅仅因为我相信,这样的产品,在三个月以内一定会隆重推出,至于是微软,还是Google,或是刚刚换了CEO的Yahoo!就不得而知了。