自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Gestalt借Ruby,Python和XAML編寫網(wǎng)頁腳本

開發(fā) 后端
最近微軟在Mix在線實驗室上發(fā)布了一個名為Gestalt的項目,希望借助高級語言與編譯器的強大功能,在保留前端開發(fā)人員原有工作方式與習(xí)慣(編寫 => 保存 => 刷新)的同時,提高構(gòu)建復(fù)雜AJAX或RIA應(yīng)用程序的生產(chǎn)力。

在Gestalt網(wǎng)站中寫到:

我們創(chuàng)建Getalt項目是因為它符合MIX Online的精神。我們會在Web領(lǐng)域中挑選有趣的場景或問題,然后設(shè)法為它創(chuàng)建一些應(yīng)用程序、服務(wù),或提出一些解決方案的建議——Gestalt也是這么一回事兒。我們發(fā)現(xiàn),Web開發(fā)人員經(jīng)常會在基于標(biāo)準(zhǔn)的前端Web開發(fā)以及RIA(如Flash/Silverlight)兩種開發(fā)模型之間搖擺不定,Gsstalt的目標(biāo)便是解決這個問題。值得一提的是,選擇Ruby和Python作為腳本語言,也是未來瀏覽器中有趣的話題之一。

Gestalt主要有以下幾個特點:

使用Ruby和Python作為前端腳本語言:有了Gestalt,開發(fā)人員便可以在頁面中添加<script language="ruby">或<script language="python">標(biāo)簽,并使用Ruby或Python語言編程。與原有的JavaScript語言相比,Ruby和Python所帶來的強大生產(chǎn)力有助于開發(fā)人員編寫和管理復(fù)雜的邏輯。Ruby和Python代碼同樣可以與頁面中的DOM元素,甚至是HTML 5的canvas元素進行交互。例如在Gestalt的入門示例中便包含這樣的代碼:

  1. <input id="say_hello" type="button" value="Say, Hello!" /> 
  2. <script language="ruby"> 
  3.     document.say_hello.onclick do |s,e|  
  4.         window.alert "Hello, World!"  
  5.     end  
  6. </script> 

透明編譯,高速運行:借助Silverlight中DLR的強大動態(tài)編譯功能,gestalt.js可以在頁面加載完成后動態(tài)獲取其中的Ruby或Python代碼,并使用IronRuby或IronPython加以編譯執(zhí)行。與JavaScript相比,Ruby和Python代碼在加載時會有毫秒級別的延遲,但是頁面的整體性能(尤其對長時間運行的頁面而言)則會有顯著的提高。

使用XAML應(yīng)對復(fù)雜樣式需求:面對如今愈發(fā)復(fù)雜的應(yīng)用程序,HTML和CSS已經(jīng)略顯疲態(tài)。在Gestalt中,開發(fā)人員可以為頁面從外部引入XMAL文件,或使用內(nèi)嵌XAML的方式來開發(fā)復(fù)雜的交互式應(yīng)用程序。Gestalt網(wǎng)站建議使用Expression Blend編輯XAML程序,并提供了Adobe Illustrator的XAML生成插件和TextMate Bundles來輔助其他工具或平臺上的XAML開發(fā)。

天然SEO支持:與傳統(tǒng)HTML頁面相同,所有的代碼和文字都顯示在頁面上。因此,開發(fā)人員無須任何額外的工作,便可以將所有的頁面信息暴露給搜索引擎。

自由的開發(fā)和運行環(huán)境:只要一個文本編輯器(如記事本或TextMate),開發(fā)人員便可以在任意的平臺上編寫Gestalt網(wǎng)頁,而Gestalt網(wǎng)頁其實也只是一個最為普通的(X)HTML頁面而已。Gestalt借助Silverlight插件中的DLR來執(zhí)行Python或Ruby代碼,這意味著Gestalt頁面也可以在多種平臺上運行。

Gestalt也有一些問題需要解決,例如:

Gestalt基于傳統(tǒng)的前端開發(fā)模型,頁面會像執(zhí)行JavaScript那樣執(zhí)行Python和Ruby腳本,但目前還不支持import和require的功能。如果您想從外部引入Python和Ruby類庫,可能就要通過內(nèi)嵌XAP的Silverlight模型來實現(xiàn)了。我們對于您理想中的require或import的方式非常感興趣,請給我們反饋。

至于Gestalt是否最終會成為一個成熟的產(chǎn)品,MIX Online團隊認(rèn)為:

(產(chǎn)品化)并不是我們的目標(biāo),但是你永遠無法知道它是否會融入某個應(yīng)用或概念之中。目前我們感興趣的是推廣Gestalt,并希望從社區(qū)中獲取靈感。這也是我們公開Gestalt源代碼的原因。我們希望您可以下載Gestalt類庫并把玩一番,再把您的看法告訴我們。

【編輯推薦】

  1. Python和Jython的區(qū)別簡述
  2. 淺談使用Aptana構(gòu)建Python開發(fā)環(huán)境
  3. Python 3.1 RC1發(fā)布 加入多項新內(nèi)容
  4. Python框架Django 1.0版將于9月2日發(fā)布
  5. 淺談Python和C#中的Run As代碼實現(xiàn)方式
責(zé)任編輯:彭凡 來源: Infoq
相關(guān)推薦

2009-04-03 09:16:22

PHPRubyPython

2020-04-29 13:30:38

腳本Chrome黑科技

2009-12-17 16:50:54

Ruby簡單編寫

2009-08-17 10:08:24

2009-12-17 17:46:26

Ruby編寫問題

2009-08-14 13:45:03

Ruby和Python

2010-03-04 11:22:59

Python抓取網(wǎng)頁圖

2023-06-28 00:05:44

人工智能聊天機器人ChatGPT

2014-06-19 10:48:18

RubyPython

2011-07-21 13:21:32

PHP

2012-04-26 14:02:58

ibmdw

2022-06-21 09:26:21

Shell腳本JavaScript

2010-03-26 15:28:05

Python編寫

2012-06-11 09:44:10

微軟AzurePython

2021-09-08 14:47:53

UbuntuLinux服務(wù)

2024-11-11 16:55:54

2013-09-03 11:06:05

Windows

2009-10-26 12:17:03

linux腳本編寫

2011-03-01 09:30:27

LinuxScreenletPython

2010-03-11 11:10:14

Python函數(shù)式
點贊
收藏

51CTO技術(shù)棧公眾號