Aptana Jaxer
24
一
2008

今天用Aptana 有了新的更新,软件版本更新到了1.1同时推出一个重要的功能就是Aptana自创的Jaxer,号称是世界上第一个Ajax服务端,虽然是1.0版本,但是发现网站上的资料库已经相当健全,而且还有不少的视频演示。
引用一段官方的对Jaxer的说明翻译:
Jaxer改变了这一切,它是世界上第一个真正的Ajax服务器。在Jaxer里面, HMTL, CSS,Javascript都是它的其中一个对象,就象XMLHttpRequests, JSON, DOM一样。并且作为服务器,它提供了进入数据库、档案和网站建设,以及服务器日志、进程管理、安全性、可扩展性和整合了API。
其实javascript本身是具有服务端运行的属性的,譬如下面这段代码:
客户端运行
- <script type="text/javascript">
- document.write("hello word");
- </script>
服务端运行
- <script type="text/javascript" runat="server">
- document.write("hello word");
- </script>
只要 script声明的时候是runat=”server”,就表示在服务端运行,这样的写法其实稍微喝.net类似。而且javascript本身也是可以调用数据库做一些稍微复杂的操作的。但是代码十分繁琐,Jaxer通过再次封装同时加入一些新的功能在里面,就是javascript语言在服务端的功能大大增强。
看下面一段示例代码:
- Enter and number between 5 and 50:<input id="number" size="10" type="text" />
- <input type="button" value="submit" onclick="SubmitNumber()" />
-
- <script type="text/javascript" runat="server">
- var count =Jaxer.File.read("count.txt");
- document.getElementById("number").value=count;
-
- function saveNumber(number){
- if (validateNumber(parseInt(number))) {
- Jaxer.File.write("count.txt",number);
- }
- }
- saveNumber.proxy=true;
-
- </script>
-
- <script type="text/javascript">
- function SubmitNumber(){
- var currentValue=document.getElementById("number").value;
- if(validateNumber(parseInt(currentValue))){
- saveNumber(currentValue);
- alert("Your number is save")
- }
- else{
- alert("Your number is out of range")
- }
- }
-
- </script>
-
- <script runat="both">
- function validateNumber(number){
- if(number<5||number>50){
- return false;
- }
- else{
- return true;
- }
- }
- </script>
从代码中可以看出,客户端和服务端的数据通信无阻隔,想必是最大的优势。用一门语言可以写服务端也写客户端,可以随意设定语句是在服务端运行还是客户端运行,还是服务和客户端都运行。虽然现在Jaxer刚刚发布,功能还不是很强大,不过确实试验一下还是蛮有意思的东西。

- Write entire applications or presentation layers in Ajax
- Full DOM and JavaScript on the server
- Seamless communications between browser and server
- Access existing pages written in other languages like PHP, Java, or Ruby on Rails
- Share validation code on the browser and server
- Database, file, and socket access from JavaScript
- Open-source, standards-based, and uses the APIs you already know
相关资料:
Jaxer 官方网站