受移動、云計算影響,Web應(yīng)用開發(fā)已發(fā)生了巨大改變,近日Joe Stangarone在mrc's Cup of Joe Blog發(fā)布了一篇文章 《5 new realities that developers must learn to accept》,其中分析了Web應(yīng)用開發(fā)所發(fā)生的變化,及開發(fā)者需要接受的新現(xiàn)實。下面為該文的譯文。

  Web應(yīng)用開發(fā)方式已經(jīng)改變。很大程度上受到移動大潮興起、基于云計算的應(yīng)用和服務(wù)增加的驅(qū)動,現(xiàn)代Web應(yīng)用開發(fā)與5年前有了很大不同。

  發(fā)生了哪些改變?我將這些改變分為兩類:趨勢與現(xiàn)實。現(xiàn)實與趨勢之間有什么不同?趨勢是可以選擇的,而現(xiàn)實不可以。比如,扁平化設(shè)計是趨勢,你可不使用它,但會有很多人使用它。移動用戶正迅速增長,這是現(xiàn)實,無論怎樣,你都不能忽略智能手機、平板存在的現(xiàn)實。

  現(xiàn)在,我們應(yīng)該專注現(xiàn)實。那現(xiàn)在Web應(yīng)用開發(fā)者應(yīng)該接受的新現(xiàn)實有哪些?下文將一一例舉。

  1.你的應(yīng)用將遭受攻擊

  伴隨著越來越多有價值的數(shù)據(jù)移至云端,我們發(fā)現(xiàn)現(xiàn)在的黑客入侵Web應(yīng)用只有一個原因:金錢存入在Web應(yīng)用中。一個不安全的簡單網(wǎng)站,會導(dǎo)致黑客輕易入侵并獲取個人(金融)信息——銀行帳號被洗劫一空,信用卡和賬單還款暴漲,公司利益受損等。

  據(jù)最近的一份研究顯示,49%的Web應(yīng)用都存在較高的安全隱患。當(dāng)我們把更多數(shù)據(jù)放置網(wǎng)上后,安全性是至關(guān)重要的,Web開發(fā)者為此也正付出最大的努力。

  安全對于開發(fā)者來說是新的現(xiàn)實。很慶幸的是,大部分現(xiàn)代編程語言具有強大、經(jīng)過安全測試的框架,可用來快速開發(fā)安全的應(yīng)用。Web開發(fā)者可通過以下途徑提高應(yīng)用的安全性:高度熟悉開放萬維網(wǎng)應(yīng)用安全項目(OWASP)TOP 10等,及如何利用內(nèi)建的第三方安全框架在設(shè)計階段識別存在安全隱患。

  2.已不存在“典型的”Web用戶

  正如上文提到的那樣,我們不能忽略移動設(shè)備存在這一事實。這對Web應(yīng)用開發(fā)意味著什么呢?我們無法知道用戶將如何訪問Web應(yīng)用。可能用智能手機,可能用平板電腦,也可能用PC。我們無從知道,也無法控制。換句話說,“典型”用戶的概念已經(jīng)消失。

  夏威夷大學(xué)的技術(shù)經(jīng)理 Sid Savara表示,以前用戶基本使用鍵盤、鼠標(biāo)瀏覽Web,假如800*600是網(wǎng)站的分辨率,那你只需要專注測試該分辨率即可。如今,現(xiàn)實是分辨率從某些手機的320px跨越至桌面的2500px。針對多種不同的瀏覽器、硬件進行響應(yīng)式設(shè)計、測試已很普遍。

  現(xiàn)在,開發(fā)者在開發(fā)過程中需要進行多方面考慮。該應(yīng)用在小型、觸摸屏上的效果怎么樣?是否適合大型、高清晰度的顯示屏。當(dāng)平板用戶從橫向的風(fēng)景模式轉(zhuǎn)為縱向的肖像模式時又會發(fā)生什么?這些問題凸顯了響應(yīng)式設(shè)計和自適應(yīng)設(shè)計的重要性。

  響應(yīng)式設(shè)計利用流體網(wǎng)格和CSS3媒體查詢,使應(yīng)用適應(yīng)各種類型、大小的屏幕。在互聯(lián)網(wǎng)上,你可以發(fā)現(xiàn)大量響應(yīng)式設(shè)計案例。例如, TheNextWeb就是一個優(yōu)秀的響應(yīng)式網(wǎng)站。

  自適應(yīng)設(shè)計根據(jù)設(shè)備發(fā)布不同的HTML頁面。例如,一個單頁面網(wǎng)站可能包含三個獨立的表現(xiàn)層(HTML):一個針對PC,一個針對平板,一個針對智能手機。通過應(yīng)用內(nèi)的邏輯層來識別用戶的設(shè)備,并顯示正確的表現(xiàn)層。例如,在不同設(shè)備上訪問“Data Listing: Customer Lookup”,注意觀察它的頁面和行為。

  3.集成已成新的常態(tài)

  據(jù) Gartner預(yù)測,如果應(yīng)用程序集成沒有成為真正的專業(yè)領(lǐng)域,那該企業(yè)在未來幾年內(nèi)將會在競爭中處于劣勢?,F(xiàn)實是集成在應(yīng)用開發(fā)中變得至關(guān)重要。過去,開發(fā)者只需開發(fā)Web應(yīng)用本身的所有功能即可。現(xiàn)在,開發(fā)者不僅要專注于應(yīng)用的功能,同時也要集成其他的應(yīng)用和服務(wù)?!癆PI集成非常火爆” SquareHook CEO Joshua Maag表示,“大部分大型應(yīng)用都有某種形式的API,你可以在應(yīng)用中使用。深入了解 Oauth 2.0協(xié)議,比允許網(wǎng)站與社交媒體此類的工具進行交互更重要。在我們的應(yīng)用中,我們使用了很多此類API以從用戶喜愛的平臺中檢索內(nèi)容?!?

  4.開發(fā)已轉(zhuǎn)移至客戶端

  現(xiàn)在,用戶希望Web應(yīng)用可以像桌面應(yīng)用、本地移動應(yīng)用一樣。對Web應(yīng)用的高要求,需要開發(fā)者改變開發(fā)方法。

  過去,客戶端-服務(wù)器模式依靠服務(wù)器來處理大量的請求,然后再將結(jié)果發(fā)送到客戶端?,F(xiàn)在,一切都改變了。用戶要求可以和本地移動應(yīng)用、桌面軟件相媲美的更強大、響應(yīng)式Web應(yīng)用,更多的應(yīng)用需要放在瀏覽器端。

  Maag表示,過去,大部分開發(fā)者主要依靠服務(wù)器端技術(shù)解決Web應(yīng)用中的各項事務(wù)?,F(xiàn)在,則更加注重客戶端,同時期望網(wǎng)站可以完成傳統(tǒng)桌面應(yīng)用、移動應(yīng)用所具有的功能。

  幸運的是,很多框架可以減輕該轉(zhuǎn)變所帶來的痛苦?,F(xiàn)在有很多優(yōu)秀的框架,理解它們的功能很重要。如jQuery 和Bootstrap已對Web產(chǎn)生了很大的影響。整個互聯(lián)網(wǎng)已有1%的網(wǎng)站在使用Bootstrap,這個數(shù)量相當(dāng)多了。還有很多其他的優(yōu)秀框架,可以幫助解決JavaScript命名空間的問題。Angular和Backbone也是相當(dāng)不錯的框架。

  5.沒有任何理由設(shè)計出糟糕的架構(gòu)

  應(yīng)用架構(gòu)設(shè)計是最消耗時間,最讓開發(fā)者頭疼的部分。沒有合適的資源和專業(yè)知識,開發(fā)者所開發(fā)的應(yīng)用將不安全,不靈活,且無良好的擴展性。

  現(xiàn)在,這種情況改變了。隨著開發(fā)平臺(PaaS、IaaS)的興起,開發(fā)者可繞開令人頭疼的架構(gòu)問題,設(shè)計出具有良好架構(gòu)的項目。換句話說,開發(fā)者沒有任何理由為應(yīng)用設(shè)計出糟糕的架構(gòu)。

  Maag表示,隨著PaaS和SaaS平臺活躍度的增強及新商業(yè)項目的增加,創(chuàng)建一個具有良好擴展性的應(yīng)用已不再需要大型昂貴設(shè)備。開發(fā)者需要理解他們應(yīng)用的架構(gòu),及如何設(shè)計它才能保證持續(xù)的成長即可?,F(xiàn)在比以前更容易構(gòu)建真正具有擴展性的應(yīng)用,開發(fā)者只需花點時間學(xué)習(xí)一種或幾種此類平臺即可,這是Web開發(fā)的新方式。

  原文鏈接: 5 new realities that developers must learn to accept

  哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網(wǎng)站建設(shè)。