2013-08-18 15 views
2

我想知道是否有可能在不使用任何形式的客戶端編程或腳本的情況下開發動態異步表單和網頁。所以基本上我試圖在不使用Javascript的情況下獲得AJAX和DOM操作的好處。如果可能的話,我想用Python或類似的語言在服務器端完成所有的編程。我很努力地規避在Web開發中使用Javascript。我只是不想進入它或用棍子遠程觸摸它。動態異步表單和網頁不使用客戶端Javascript可能嗎?

我碰到AHAH(異步HTML和HTTP)來了,它似乎有趣。但是我讀到的是(X)檢索到的HTML「不能在本地文件系統上」。顯然,「你必須將你的HTML文檔FTP到一個網站上,並且你所提取的HTML文檔也必須存在於一個網站上。」 (來源:http://www.xfront.com/microformats/AHAH.html)任何人試過這個,可以證實這一點?我覺得這不太實際。將所有東西託管在同一臺服務器上的同一個文件系統上會更有意義。

而且AHAH的缺點是,它似乎無法操作DOM,這意味着它在一定程度上受限於它能做什麼。您的佔位符必須已經存在於您的網頁中,然後您可以檢索(X)HTML片段來填充這些佔位符。

有誰知道的一些方法有動態的異步的網頁,並操縱DOM而不使用Javascript?因爲我幾乎可以使用任何我想要的語言,所以我對服務器端任何東西都沒問題。最糟糕的情況我想我可以有一個很好的交互式網站,而不必操縱DOM,但我認爲現代網站必須是異步的。這對我來說是一種破壞,不得不爲每一個細微的變化重新加載頁面。

+0

你究竟喜歡什麼JS? – Basic

回答

2

這不是你想聽到的,但只是學習JavaScript的東西。無論您使用哪種服務器端語言,對於任何Web開發人員來說,這都是一項非常棒的技能。我從來沒有聽說過任何其他形式的客戶端腳本,除了VBScript,但我不認爲它已經被使用了,只在IE中被支持。請參閱VBScript Wikipedia article for more details

我還將Flash添加到此列表中。如果您使用Flash或Flex構建網站,或者使用Adobe的Flash平臺構建網站,則可以使用ActionScript代替JavaScript,但這不是我個人認爲的現代網站,而且它帶有一系列問題,例如要求所有網站訪問者安裝一個插件。

現在,即使有處理客戶端腳本的瀏覽器沒有JavaScript,認爲它不會有相同的社會後盾一些模糊的方式。關於JavaScript的一個很酷的事情是,有這麼多的Web開發人員精通它。無論您的服務器端語言是C#,PHP,Python,Perl,Ruby,Java甚至是服務器端JavaScript,您都必須瞭解一些JavaScript,才能稱自己爲Web開發人員。

想想看,現在所有這些人都寫了強大的工具來幫助其他人更容易開發,所以我們都不會一遍又一遍地重複編寫和重寫相同的代碼。例如,jQuery,AngularJS和Bootstrap都是當大量開發人員使用相同工具時,每個人都受益的例子。去用一些沒有人聽說過的語言,你會發現自己是孤獨的,除了蟋蟀打破沉默,沒有人會讓你的想法退出,如果你卡住了。希望這可以幫助!

+0

我聽說你的觀點相信我。我同意它被廣泛使用,並且有很多支持。我唯一用Javascript的牛肉是我不喜歡這種語言本身。即使它是一種非常年輕的語言,但與Cobra(http://cobra-language.com/)這樣的語言相比,我覺得它很醜並且「老式」。 – Maxim

+0

通過「使用」Javascript,我爲它「投票」,我自己成爲問題的一部分。通過使用JavaScript,我可以幫助更多地傳播它,並使其成爲絕對的標準,而沒有其他選擇。瀏覽器不會嘗試支持未被廣泛使用的語言,新開發人員(如我)不能選擇使用更新/更好的語言,因爲瀏覽器不支持它們。這是一個惡性循環。 – Maxim

+0

客戶端腳本沒有更新,更好的語言。 JavaScript是這裏的權威標準。如果NodeJS在Google App Engine上工作,我也會在那裏使用JavaScript。對不起,你有這種感覺。 JavaScript是一種非常強大的語言,我認爲它有這麼糟糕的說唱的原因是因爲有人濫用它給你的權力,並留下了我們一團糟清理。如果你正確使用它並堅持良好的做法,它不會讓你失望。希望這可以幫助! :) – jmort253

1

通過「本地的文件系統」,他們很可能意味着HTML無法從客戶端文件系統,這當然是真的牽強。剩下的部分是有道理的,所有的內容都必須從服務器下載。

它可能聽起來很誘人能夠創建動態的客戶端應用程序,只需編碼服務器端並通過電線發送更新的網頁片段。

實際上,有太多的限制,你可以用一些客戶端腳本來完成,但是你不能因爲你的範例,所有的東西都必須在服務器端創建。

事實是,Javascript並不像它看起來那麼糟糕。有了好的手冊和已建立的庫(至少jQuery),你會發現它只是你工具箱中的一個新工具。

+0

的確,如果它的意思是「客戶端文件系統」,它會更有意義。 此外,我明白,只有服務器端編程和沒有客戶端腳本會讓事情變得更加複雜,那麼如果我只是使用Javascript。但是,我不能讓自己宣傳一種我想看到的語言消失,或者至少有一種可行的選擇。 我看了一下Coffeescript,因爲有一些合成糖和生產力的提高,但是誰用「 - >」來聲明一個函數。它非常醜陋,不直觀且不切實際。我寧願輸入「功能」,然後「Alt +」。得到「>」。 – Maxim

+0

6個月前,「消失的語言」的部分就像我一樣。但後來我讀過「JavaScript權威指南」,學習了很少的框架,而且我不像以前那樣肯定會消失。 –

0

唯一的其他選擇是:

靜態XML文件必須進行處理三種不同的方式:

如果XML文件包含<?xml-stylesheet ?>指令,則它可以直接發送到支持XSLT的瀏覽器。

如果必須將所需的XSLT樣式表插入到XML數據中,則該文件必須由服務器端腳本讀取和處理,並作爲XML數據流發送到支持XSLT的瀏覽器。

對於所有其他客戶端(包括搜索引擎),XSLT轉換在服務器上執行。

由於客戶端要求不同,靜態XML文件不能直接提供,而必須由接受文件名和XSLT樣式表作爲輸入參數的服務器端腳本處理。因此,下載一個靜態的XML文件的URL將類似於此:

sendXML.asp?file=filename&xsl=stylesheet 

包括XSLT樣式表中的標籤時觸發對服務器的請求。如果cookie不存在

利用此解決方案,服務器端XML到所述第二請求的響應將設置一個XML餅乾

輸出XML文檔如果cookie被設置,或轉化的HTML標記對於不支持XSLT的瀏覽器以及搜索引擎蜘蛛的訪問者,將執行-HTML轉換。在本文介紹的框架中使用了一個帶有自動瀏覽器檢查的cookie,以識別支持XSLT的瀏覽器;其他所有的遊客都會收到服務器上生成傳統的HTML標記

參考