簡體   English   中英

做服務器端編程時需要多少客戶端編程?

[英]How much client-side programming is needed when doing server-side programming?

我才剛剛開始學習Web開發,但是對於投資方面卻感到困惑。我聽說服務器端代碼會轉換為客戶端代碼。 因此,如果您有一個.aspx文件,它將被轉換為HTML / CSS / JavaScript。 我對將后三種技術放入相當乏味的文本文件並由Web瀏覽器呈現的經驗。 我的問題是在服務器端編程時我需要做多少HTML / CSS / Javascript編碼? 換句話說,有人可以純粹在服務器端使用ASP.NET程序,而不必為客戶端寫代碼嗎? 當然,我不在乎將服務器端轉換為客戶端,但我想知道是否需要顯式完成客戶端編程,以及編程的程度。

您將必須進行一些客戶端編程。 各種框架可以為您生成的東西太多了,在某些情況下,您無論如何都要覆蓋它們產生的內容。

在不確切知道您要做什么的情況下,我無法說出您需要進行多少編碼。

您說過,您聽說服務器端代碼轉換為客戶端代碼。 這有點誤導; 服務器端代碼可以生成由客戶端解釋的內容,但是它本身並未進行翻譯 為了編寫服務器端代碼,您仍然需要了解HTML和CSS。 通常不需要JavaScript。

例如,如果您正在做一個待辦事項清單應用程序,則在所有服務器端,您可能都具有類似於以下的代碼:(請注意,這是PHP;我不知道如何使用ASP.NET)

<h1>To-do list</h1>
<ul>
<?php foreach($items as $item) { ?>
    <li><?php echo htmlentities($item); ?></li>
<?php } ?>
</ul>

如果$items是“牛奶”和“面包”的數組,那么它可能會被處理為:

<h1>To-do list</h1>
<ul>
    <li>milk</li>
    <li>bread</li>
</ul>

...但是通常不會考慮翻譯它。 因此,要回答您的問題,是的,您需要了解一些客戶端方面的內容才能執行服務器端代碼。

您將需要學習做自己的客戶端編程,這是值得的投資。 為您“為您”進行客戶端編程的框架可能做得不好,但是在某些時候,您將不得不對其進行調試,弄清楚為什么它在做它在做的事情,以及這是錯誤還是錯誤。不要誤入歧途,而要花一些時間來學習客戶端技術和技巧,這樣您就可以了解框架為您生成的內容,從而可以通過准確地執行預期的操作來產生更好的結果。客戶端,服務器上以及它們之間的接口中。

例如:我之前回答了一個問題 ,即當用戶單擊該按鈕時,客戶端上的按鈕如何使瀏覽器打開“文件另存為”對話框,而相關文件是自定義生成的,而無需拆除按鈕所在的頁面。這不一定是一個大問題,可以允許用戶下載自定義生成的PDF(例如),這一點也不罕見,為此,增強用戶體驗非常有用。 。 在不需要Flash或類似產品的情況下,您將很難獲得優雅的效果 ,高質量的用戶體驗,而又不知道客戶端上發生了什么,服務器上發生了什么以及如何使這兩部分交換相關信息以創建您想要創建的體驗。

客戶端編程的數量將根據您的特定項目而有所不同。 但是,以我的個人經驗,無需大量JavaScript就可以擺脫困境。 您仍然有很大的機會希望自己編寫CSS,並且了解HTML將非常有幫助(.aspx頁包含HTML和特殊ASP標記的組合)。

舉例來說,我在工作中維護了一個(相當簡單,幾千個LOC)ASP網站,其中唯一的自定義JavaScript是確認對話框(甚至可能沒有必要)。 我們使用自己的樣式表,但這並不是特別復雜。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM