最近想做web application,使用javascript. 但是苦于其语言设计概念和我们常见的OOP模型不太一样,采用原型的方式,重用性和封装性都比较差。自己开发类库简直是痛苦,虽然有很多基础框架(infrastructure framework)可以简化开发的一些难处,但是毕竟它语言设计成这个样子,要实现常见的OOP模型就完全不是语言级别上的事情,可以说完全是耍一些tricks,即通过一些精巧的技术手段来达到模拟高级语言的原生特性,如语言级别上的类封装、继承、多态、访问控制支持等。

另一个方面是缺乏好用的编辑调试环境,用了很多个都觉得不能满足自己的要求。

于是思考几个问题:

1. 由于客户端脚本方面,一般浏览器都会内置javascript的脚本引擎(脚本解释器),windows环境下的浏览器可能会内置vbscript的脚本引擎。倘若如此,我们自己设计一种优秀的客户端脚本语言,比如suprascipt, 要想让它在IE或firefox中能够解释,我想需要做的第一件事就是得到这些浏览器的支持,即内置脚本引擎,但是Microsoft会同意吗?

2. 既然走重新制造轮子的打算不可行,那么还有其他的办法吗?我google到一种将c#编译成Javascipt的编译其Script#,这样可以用C#的语言和开发环境去作Javascipt项目,想法很好。我研究了一下,发现它有很多库,除核心类库以外,还包含了一个UI库,我想只使用它的核心库提供的功能,即对Javascipt的语法进行扩展,我使用C#的类开发方式来开发自己的UI库,然后编译成Javascipt,这样的确可以省去很多事。另外一个可以关注的项目JSVM2框架

3. 这里我想起了一个C++库wtWidget,它的目标是使用C++写整个WEB应用,思想是这样的:服务器端用写windows应用程序一样布局整个窗口,然后映射到客户端,同时支持客户端事件和服务器事件(浏览器不支持javascipt时)。这的确可以让C++开发者高兴,终于什么都用C++写了,但是它的缺点是没有好用的界面设计工具(RAD),很难布局整个应用界面。具体的实现思路和架构我可能还需要仔细研究,至少可以学到很多深层的东西。

4.既然是工程化产品,就不得不牺牲一些个性化,比如选定某个皮肤,你就得让所有相同的控件去拥有相同的外观。即我们需要在展现层多做一些事

 

我工作的单位编程语言使用的是java,这是做服务器端的东东。不过我个人更喜欢Microsoft的东东,毕竟有大公司的支持,不像开放系统总感觉规范乱糟糟的,毕竟不是一家公司的产品。可能我个人比较找贱,就喜欢规定死了,规范比较严的东东

 

我想我工作的几个月内可以:

1.开发自己的JS框架产品,发布统一的API,框架代号: SupraFx

2.开发新一代的客户端脚本语言,脚本代号:SupraScript(SS) - double S

3.开发国产的浏览器内核,内嵌suprascirpt脚本解释引擎, 内核代号:Kyloe

Posted on 2008-03-05 22:40  Chio  阅读(244)  评论(0编辑  收藏  举报
©2008 Suprasoft Component Intelligence Inc., All right reserved.