說(shuō)到開(kāi)發(fā)一個(gè)運行在現代網(wǎng)絡(luò )中的網(wǎng)站:Web開(kāi)發(fā)人員需要選擇虛擬主機平臺和底層數據存儲,準備編寫(xiě)HTML、CSS和JavaScript用的工具,要有設計執行方式,以及一些可用的JavaScript庫/框架。在將任務(wù)分解為這幾步之后,接下來(lái)要做的就簡(jiǎn)單多了,可以去網(wǎng)上找文章,瀏覽論壇,看看那些能提供更好的Web體驗提示的示例。
然而不管是走哪條路,犯錯卻是每一個(gè)開(kāi)發(fā)人員都不可避免的。雖然有些錯誤與某一個(gè)具體的行為相關(guān),但有些錯誤卻是所有Web開(kāi)發(fā)人員都需要面對的挑戰。因此,通過(guò)研究,體驗和觀(guān)察,南通東方標準總結了Web開(kāi)發(fā)人員常犯的10個(gè)錯誤——以及如何避免這些錯誤。
寫(xiě)一些過(guò)時(shí)的HTML
錯誤:早期的互聯(lián)網(wǎng)比起我們現在,標記的選擇要少得多。然而,舊習難改,現在很多開(kāi)發(fā)人員寫(xiě)的HTML就好像還身處20世紀一樣。舉例來(lái)說(shuō),我們使用
元素用于布局,當其他特定語(yǔ)義標簽更適合的時(shí)候使用或元素,在當前HTML標準不受支持的時(shí)候使用
或標簽,在頁(yè)面上間隔項目,如果有大量 字符實(shí)體的話(huà)。
影響:遵從這種過(guò)時(shí)的HTML規則可能會(huì )導致標記過(guò)于復雜,結果是在不同的瀏覽器中發(fā)生不同的行為。而且沒(méi)有了改進(jìn)瀏覽器的動(dòng)力,因為沒(méi)有必要更新到*的瀏覽器,如Microsoft Edge,哪怕是Internet Explorer版本(11、10、9)也變得沒(méi)有必要。
如何避免:停止使用元素用于內容布局,限制使用元素來(lái)顯示表格數據。例如可以去了解當前可用的標記選項。使用HTML去描述內容是什么,而不是說(shuō)明內容如何展現。對于如何顯示內容,請使用CSS。南通東方標準全程面授,已成功培養5000名學(xué)生,主要課程:【南通Java培訓】、【南通IT培訓】、【南通軟件開(kāi)發(fā)培訓】、【南通JavaSE培訓】、【南通JavaEE培訓】、【南通前端培訓】、 【南通IT培訓】、【南通軟件開(kāi)發(fā)培訓】、【南通WEB前端開(kāi)發(fā)培訓】、【南通.NET培訓】、【南通Android培訓】等
“明明在我的瀏覽器中是可行的……”
錯誤:開(kāi)發(fā)人員往往會(huì )偏愛(ài)某一個(gè)特定的瀏覽器,或者特別討厭某一個(gè),可能主要是因為對測試網(wǎng)頁(yè)視圖有所偏見(jiàn)。也有可能是因為從網(wǎng)上找到的代碼示例不能保證會(huì )如何呈現在其他瀏覽器中。此外,一些瀏覽器對風(fēng)格有不同的默認值。
影響:以某一個(gè)瀏覽器為中心寫(xiě)的網(wǎng)站,在其他瀏覽器中顯示時(shí),其質(zhì)量將會(huì )很差。
如何避免:在開(kāi)發(fā)過(guò)程中,在所有瀏覽器和版本中測試網(wǎng)頁(yè)是不切實(shí)際的。不過(guò),每隔一段時(shí)間,在多個(gè)瀏覽器中檢查網(wǎng)站的樣子不失為一個(gè)好方法?,F在,不管你偏好的是什么平臺,總有免費的工具可用:免費的虛擬機、網(wǎng)站掃描儀。Visual Studio等工具還可以調用多個(gè)瀏覽器,來(lái)顯示你正在工作的單一頁(yè)面。當涉及到CSS設計時(shí),可以參考在中所示的那樣“重置”所有的默認值。
如果你的網(wǎng)站正在使用的CSS特性是專(zhuān)為某一瀏覽器特制的,那么注意它的引擎前綴,如-webkit-,-moz-和-ms-。對于行業(yè)在這方面的發(fā)展趨勢指導,那么可以閱讀以下參考:
上面這些參考資料解說(shuō)了引擎前綴的革新,以及你還可以點(diǎn)擊這里——這個(gè)網(wǎng)站提供了一些如何摒棄引擎前綴的實(shí)用建議。
不好的格式
錯誤:提示用戶(hù)提供信息(特別是在輸入文本字段的時(shí)候),并假設數據會(huì )如預期接收。
影響:很多事情會(huì )(或者很有可能將會(huì ))出錯,當我們信任用戶(hù)輸入的時(shí)候。如果無(wú)法提供所需的數據,或接收到的數據不能與下面的數據模式兼容,頁(yè)面可能會(huì )失敗。更為嚴重的是,有的用戶(hù)可能會(huì )故意違背網(wǎng)站的數據庫,例如可以通過(guò)注入式攻擊(見(jiàn) 10 2013-A1-Injections)。
如何避免:你首先要做的事是確保用戶(hù)清楚你需要什么類(lèi)型的數據。比如說(shuō),如果你只說(shuō)要地址,那用戶(hù)不知道指的是單位,家庭還是電子郵件的地址!除了要具體,還要充分利用現在的HTML提供的數據驗證技術(shù)。不管數據在瀏覽器端是如何驗證的,確保它始終也在服務(wù)器端驗證。不要讓一個(gè)串接的T-SL語(yǔ)句使用來(lái)自于用戶(hù)輸入的,各個(gè)字段的類(lèi)型沒(méi)有經(jīng)過(guò)確認的數據。
臃腫的響應結果
錯誤:頁(yè)面充滿(mǎn)了許多高品質(zhì)的圖形和/或圖片,這些圖形和/或圖片借助img元素的高度和寬度屬性按比例縮小。來(lái)自于頁(yè)面鏈接的文件,如CSS和JavaScript,很大。源HTML標記也可能是不必要的復雜和全面。
影響:完全渲染頁(yè)面的時(shí)間是如此之久,以致于一些用戶(hù)放棄了,或者甚至于直接不耐煩地重新請求整個(gè)頁(yè)面。在某些情況下,如果頁(yè)面處理等待太久,會(huì )出現錯誤。
如何避免:不要抱有現在互聯(lián)網(wǎng)接入越來(lái)越快的僥幸心態(tài)——從而允許臃腫的場(chǎng)景。相反,要將從瀏覽器到你的網(wǎng)站的來(lái)回當為一種成本。圖像是網(wǎng)頁(yè)臃腫的主要罪犯。為了*限度地減少圖像成本,減輕頁(yè)面加載的壓力,可以試試以下三個(gè)技巧:
問(wèn)問(wèn)你自己:“這些圖形真的有必要嗎?”刪除不需要的圖片。
使用例如Shrink O’Matic或RIOT的工具來(lái)減少圖像文件大小。
預加載圖像。這不會(huì )提高初始下載的成本,但可以讓網(wǎng)站其他頁(yè)面圖像加載速度更快。
另一種減少成本的方式是壓縮CSS和JavaScript鏈接文件。有很多的工具,如Minify CSS和Minify JS都能幫你做到。
創(chuàng )建所謂“應該能行”的代碼
錯誤:無(wú)論是JavaScript,還是在服務(wù)器上運行的代碼,開(kāi)發(fā)人員都需要測試并確認它是否可以正常工作,而不是在部署了之后,就認為它應該就能從一而終地運行。
影響:不經(jīng)過(guò)適當錯誤檢查的網(wǎng)站就是對最終用戶(hù)耍流氓。不僅會(huì )極大地影響用戶(hù)體驗,而且其錯誤消息內容的類(lèi)型可能會(huì )給黑客線(xiàn)索來(lái)滲透這個(gè)站點(diǎn)。
如何避免:是人都會(huì )犯錯,這個(gè)哲理同樣適用于編碼。使用JavaScript,一定要實(shí)施好的技術(shù)來(lái)防止并抓住錯誤。雖然這篇文章描繪了用JavaScript編碼Windows應用程序,但是大部分的內容也適用于web開(kāi)發(fā),許多提示都很不錯!另一種能讓代碼變得可靠又能在未來(lái)變化中存活下來(lái)的方法是單元測試。
如果我們夠仔細,那么就能捕捉到服務(wù)器端的代碼失敗,而不被用戶(hù)發(fā)現。只顯示必要的信息,并且一定要確保設置友好的錯誤頁(yè)面,如HTTP 404s。
寫(xiě)分叉代碼
錯誤:本著(zhù)支持所有瀏覽器和版本的崇高理念,開(kāi)發(fā)人員立志創(chuàng )建可對任意可能情況作出回應的代碼。代碼中if語(yǔ)句成堆,所有方向都有分叉。
影響:隨著(zhù)瀏覽器新版本的更新,代碼文件會(huì )變得越來(lái)越笨拙和難以管理。
如何避免:實(shí)現代碼的功能檢測和瀏覽器/版本檢測。功能檢測技術(shù)不僅可以顯著(zhù)減少代碼量,還更易于閱讀和管理。不妨考慮使用如Modernizr這樣的庫,不僅有助于功能檢測,還能自動(dòng)幫助提供不能跟上HTML5和CSS3速度的舊版瀏覽器的反饋支持。
非響應式設計
錯誤:假設開(kāi)發(fā)/設計人員在相同尺寸的顯示器上開(kāi)發(fā)網(wǎng)站。
影響:當在移動(dòng)設備或在非常大的屏幕查看網(wǎng)站時(shí),用戶(hù)體驗要么很難看到頁(yè)面的重要方面,要么甚至要時(shí)刻注意著(zhù)不導航至其他網(wǎng)頁(yè)。
如何避免:響應式的思維方式。在網(wǎng)站中使用響應式設計。這里有一些關(guān)于這方面的實(shí)用教程,包括響應式圖片,還有一個(gè)非常受歡迎的庫,那就是Bootstrap。
制作無(wú)意義的頁(yè)面
錯誤:制作面向公眾內容的網(wǎng)頁(yè)才是有用的,絕不能不提供關(guān)于搜索引擎的任何線(xiàn)索。沒(méi)有實(shí)現可訪(fǎng)問(wèn)性功能。
影響:如果不能讓搜索引擎發(fā)現網(wǎng)頁(yè),那么,可能會(huì )只有少量或根本沒(méi)有訪(fǎng)問(wèn)。
如何避免:使用SEO(搜索引擎優(yōu)化)和HTML的支持可訪(fǎng)問(wèn)性。關(guān)于SEO,一定要添加標簽以提供有意義的網(wǎng)頁(yè)關(guān)鍵字和描述。 About Tech就寫(xiě)得很好,可以借鑒。為了能有更好的可訪(fǎng)問(wèn)性功能體驗,請對每一個(gè)img和area標簽提供一個(gè)alt=your image description
網(wǎng)站過(guò)多刷新
錯誤:創(chuàng )建的網(wǎng)站需要為每一個(gè)互動(dòng)而全面刷新頁(yè)面。
影響:類(lèi)似于頁(yè)面臃腫(參見(jiàn)#4),頁(yè)面加載時(shí)間的性能會(huì )受到影響。用戶(hù)體驗缺乏流暢性,并且每次互動(dòng)都可能導致網(wǎng)頁(yè)短暫(或長(cháng)時(shí)間)的復位。
如何避免:快速避免這種情況的一個(gè)方法就是,通過(guò)測定回發(fā)到服務(wù)器的內容是否是真正需要的。例如,當不依賴(lài)服務(wù)器端資源的時(shí)候,客戶(hù)端腳本可用于提供直接結果。你也可以應用AJAX技術(shù)或進(jìn)一步使用單頁(yè)的應用程序“SPA”方法。流行的JavaScript庫/框架,如Juery、KnockoutJS和AngularJS,能讓這些方法的采用變得容易得多。
做了太多的無(wú)用功
錯誤:開(kāi)發(fā)人員花了很長(cháng)的時(shí)間來(lái)創(chuàng )建web內容。大量的時(shí)間花在了重復的任務(wù)上,或者自己敲代碼寫(xiě)了很多。
影響:初始網(wǎng)站的發(fā)布和后續的更新時(shí)間過(guò)于冗長(cháng)。如果其他開(kāi)發(fā)人員也在在做同樣的工作,卻用了更少的時(shí)間和精力,那么你的開(kāi)發(fā)價(jià)值顯然就低了。手動(dòng)勞動(dòng)很容易出現錯誤,而排除故障錯誤需要更多的時(shí)間。
如何避免:探索你的選擇。在開(kāi)發(fā)的每一個(gè)階段考慮使用新的工具和新的流程技術(shù)。例如,你目前使用的代碼編輯器相比Sublime Text和Visual Studio,如何?不管你使用的是什么樣的代碼編輯器,你最近有好好鉆研它的功能嗎?也許只投入稍稍一點(diǎn)時(shí)間去仔細閱讀文檔,就可以發(fā)現做事的新方法,為今后節省一個(gè)又一個(gè)小時(shí)的時(shí)間。例如,在這篇文章中,擴展Visual Studio可以為web開(kāi)發(fā)人員提高生產(chǎn)效率。
不要錯過(guò)網(wǎng)上可用的幫助工具!例如,檢查在上的工具以簡(jiǎn)化測試(跨多個(gè)平臺和設備)以及排除故障。
你也可以通過(guò)實(shí)現流程自動(dòng)化以減少時(shí)間和錯誤。這方面的例子是使用Grunt工具,例如它的自動(dòng)化功能可以減小文件(見(jiàn)第4點(diǎn))。另一個(gè)例子是Bower,可以協(xié)助管理庫/框架(參見(jiàn)第9點(diǎn))。至于web服務(wù)器本身?在例如Microsoft Azure Web Apps的幫助下,你可以快速創(chuàng )建一個(gè)網(wǎng)站,幾乎所有的開(kāi)發(fā)場(chǎng)景都可以很輕輕松松地規?;侥愕臉I(yè)務(wù)中!
總結
通過(guò)識別這些常見(jiàn)的錯誤,web開(kāi)發(fā)人員可以避免很多讓其他人飽受煎熬的挫折。我們不僅需要承認錯誤,還應該清楚錯誤的影響,并采取措施避免錯誤,這樣才能有更好的開(kāi)發(fā)表現——并有信心完成任務(wù)!
以上就是今天為各位總結的學(xué)習要點(diǎn),而你想做web卻自覺(jué)學(xué)識不夠,關(guān)注“南通東方標準”微信公眾平臺,每日推送你想要的的web前端技能干貨,滿(mǎn)足你的需要,提升你的web前端技能。
更多培訓課程,學(xué)習資訊,課程優(yōu)惠,課程開(kāi)班,學(xué)校地址等學(xué)校信息,請進(jìn)入 南通東方標準網(wǎng)站詳細了解
咨詢(xún)電話(huà):400-850-8622
奇米在线7777在线精品|国产成人精品免费视|精品无码不卡一区二区三区|国内综合精品午夜久久资源|亚洲视频在线观看..