受移動、云計算影響,Web應用開發(fā)已發(fā)生了巨大改變,近日Joe Stangarone在mrc's Cup of Joe Blog發(fā)布了一篇文章 《5 new realities that developers must learn to accept》,其中分析了Web應用開發(fā)所發(fā)生的變化,及開發(fā)者需要接受的新現實。下面為該文的譯文。
Web應用開發(fā)方式已經改變。很大程度上受到移動大潮興起、基于云計算的應用和服務增加的驅動,現代Web應用開發(fā)與5年前有了很大不同。
發(fā)生了哪些改變?我將這些改變分為兩類:趨勢與現實?,F實與趨勢之間有什么不同?趨勢是可以選擇的,而現實不可以。比如,扁平化設計是趨勢,你可不使用它,但會有很多人使用它。移動用戶正迅速增長,這是現實,無論怎樣,你都不能忽略智能手機、平板存在的現實。
現在,我們應該專注現實。那現在Web應用開發(fā)者應該接受的新現實有哪些?下文將一一例舉。
1.你的應用將遭受攻擊
伴隨著越來越多有價值的數據移至云端,我們發(fā)現現在的黑客入侵Web應用只有一個原因:金錢存入在Web應用中。一個不安全的簡單網站,會導致黑客輕易入侵并獲取個人(金融)信息——銀行帳號被洗劫一空,信用卡和賬單還款暴漲,公司利益受損等。
據最近的一份研究顯示,49%的Web應用都存在較高的安全隱患。當我們把更多數據放置網上后,安全性是至關重要的,Web開發(fā)者為此也正付出最大的努力。
安全對于開發(fā)者來說是新的現實。很慶幸的是,大部分現代編程語言具有強大、經過安全測試的框架,可用來快速開發(fā)安全的應用。Web開發(fā)者可通過以下途徑提高應用的安全性:高度熟悉開放萬維網應用安全項目(OWASP)TOP 10等,及如何利用內建的第三方安全框架在設計階段識別存在安全隱患。
2.已不存在“典型的”Web用戶
正如上文提到的那樣,我們不能忽略移動設備存在這一事實。這對Web應用開發(fā)意味著什么呢?我們無法知道用戶將如何訪問Web應用??赡苡弥悄苁謾C,可能用平板電腦,也可能用PC。我們無從知道,也無法控制。換句話說,“典型”用戶的概念已經消失。
夏威夷大學的技術經理 Sid Savara表示,以前用戶基本使用鍵盤、鼠標瀏覽Web,假如800*600是網站的分辨率,那你只需要專注測試該分辨率即可。如今,現實是分辨率從某些手機的320px跨越至桌面的2500px。針對多種不同的瀏覽器、硬件進行響應式設計、測試已很普遍。
現在,開發(fā)者在開發(fā)過程中需要進行多方面考慮。該應用在小型、觸摸屏上的效果怎么樣?是否適合大型、高清晰度的顯示屏。當平板用戶從橫向的風景模式轉為縱向的肖像模式時又會發(fā)生什么?這些問題凸顯了響應式設計和自適應設計的重要性。
響應式設計利用流體網格和CSS3媒體查詢,使應用適應各種類型、大小的屏幕。在互聯(lián)網上,你可以發(fā)現大量響應式設計案例。例如, TheNextWeb就是一個優(yōu)秀的響應式網站。
自適應設計根據設備發(fā)布不同的HTML頁面。例如,一個單頁面網站可能包含三個獨立的表現層(HTML):一個針對PC,一個針對平板,一個針對智能手機。通過應用內的邏輯層來識別用戶的設備,并顯示正確的表現層。例如,在不同設備上訪問“Data Listing: Customer Lookup”,注意觀察它的頁面和行為。
3.集成已成新的常態(tài)
據 Gartner預測,如果應用程序集成沒有成為真正的專業(yè)領域,那該企業(yè)在未來幾年內將會在競爭中處于劣勢?,F實是集成在應用開發(fā)中變得至關重要。過去,開發(fā)者只需開發(fā)Web應用本身的所有功能即可?,F在,開發(fā)者不僅要專注于應用的功能,同時也要集成其他的應用和服務。“API集成非?;鸨?SquareHook CEO Joshua Maag表示,“大部分大型應用都有某種形式的API,你可以在應用中使用。深入了解 Oauth 2.0協(xié)議,比允許網站與社交媒體此類的工具進行交互更重要。在我們的應用中,我們使用了很多此類API以從用戶喜愛的平臺中檢索內容?!?
4.開發(fā)已轉移至客戶端
現在,用戶希望Web應用可以像桌面應用、本地移動應用一樣。對Web應用的高要求,需要開發(fā)者改變開發(fā)方法。
過去,客戶端-服務器模式依靠服務器來處理大量的請求,然后再將結果發(fā)送到客戶端。現在,一切都改變了。用戶要求可以和本地移動應用、桌面軟件相媲美的更強大、響應式Web應用,更多的應用需要放在瀏覽器端。
Maag表示,過去,大部分開發(fā)者主要依靠服務器端技術解決Web應用中的各項事務。現在,則更加注重客戶端,同時期望網站可以完成傳統(tǒng)桌面應用、移動應用所具有的功能。
幸運的是,很多框架可以減輕該轉變所帶來的痛苦?,F在有很多優(yōu)秀的框架,理解它們的功能很重要。如jQuery 和Bootstrap已對Web產生了很大的影響。整個互聯(lián)網已有1%的網站在使用Bootstrap,這個數量相當多了。還有很多其他的優(yōu)秀框架,可以幫助解決JavaScript命名空間的問題。Angular和Backbone也是相當不錯的框架。
5.沒有任何理由設計出糟糕的架構
應用架構設計是最消耗時間,最讓開發(fā)者頭疼的部分。沒有合適的資源和專業(yè)知識,開發(fā)者所開發(fā)的應用將不安全,不靈活,且無良好的擴展性。
現在,這種情況改變了。隨著開發(fā)平臺(PaaS、IaaS)的興起,開發(fā)者可繞開令人頭疼的架構問題,設計出具有良好架構的項目。換句話說,開發(fā)者沒有任何理由為應用設計出糟糕的架構。
Maag表示,隨著PaaS和SaaS平臺活躍度的增強及新商業(yè)項目的增加,創(chuàng)建一個具有良好擴展性的應用已不再需要大型昂貴設備。開發(fā)者需要理解他們應用的架構,及如何設計它才能保證持續(xù)的成長即可?,F在比以前更容易構建真正具有擴展性的應用,開發(fā)者只需花點時間學習一種或幾種此類平臺即可,這是Web開發(fā)的新方式。
原文鏈接: 5 new realities that developers must learn to accept
哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網站,并且能夠搭建符合百度排名規(guī)范的網站基底,使您的網站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網站建設。
