Web開發正被顛覆 開發者需認清五大新現實
受移動、雲端計算影響,Web應用開發已發生了巨大改變,近日Joe Stangarone在mrc's Cup of Joe Blog釋出了一篇文章 《5 new realities that developers must learn to accept》,其中分析了Web應用開發所發生的變化,及開發者需要接受的新現實。下面為該文的譯文。
Web應用開發方式已經改變。很大程度上受到移動大潮興起、基於雲端計算的應用和服務增加的驅動,現代Web應用開發與5年前有了很大不同。
發生了哪些改變?我將這些改變分為兩類:趨勢與現實。現實與趨勢之間有什麼不同?趨勢是可以選擇的,而現實不可以。比如,扁平化設計是趨勢,你可不使用它,但會有很多人使用它。移動使用者正迅速增長,這是現實,無論怎樣,你都不能忽略智慧手機、平板存在的現實。
現在,我們應該專注現實。那現在Web應用開發者應該接受的新現實有哪些?下文將一一例舉。
1.你的應用將遭受攻擊
伴隨著越來越多有價值的資料移至雲端,我們發現現在的黑客入侵Web應用只有一個原因:金錢存入在Web應用中。一個不安全的簡單網站,會導致黑客輕易入侵併獲取個人(金融)資訊——銀行帳號被洗劫一空,信用卡和賬單還款暴漲,公司利益受損等。
據最近的一份研究顯示,49%的Web應用都存在較高的安全隱患。當我們把更多資料放置網上後,安全性是至關重要的,Web開發者為此也正付出最大的努力。
安全對於開發者來說是新的現實。很慶幸的是,大部分現代程式語言具有強大、經過安全測試的框架,可用來快速開發安全的應用。Web開發者可通過以下途徑提高應用的安全性:高度熟悉開放全球資訊網應用安全專案(OWASP)TOP 10等,及如何利用內建的第三方安全框架在設計階段識別存在安全隱患。
2.已不存在“典型的”Web使用者
正如上文提到的那樣,我們不能忽略移動裝置存在這一事實。這對Web應用開發意味著什麼呢?我們無法知道使用者將如何訪問Web應用。可能用智慧手機,可能用平板電腦,也可能用PC。我們無從知道,也無法控制。換句話說,“典型”使用者的概念已經消失。
夏威夷大學的技術經理 Sid Savara表示,以前使用者基本使用鍵盤、滑鼠瀏覽Web,假如800*600是網站的解析度,那你只需要專注測試該解析度即可。如今,現實是解析度從某些手機的320px跨越至桌面的2500px。針對多種不同的瀏覽器、硬體進行響應式設計、測試已很普遍。
現在,開發者在開發過程中需要進行多方面考慮。該應用在小型、觸控式螢幕上的效果怎麼樣?是否適合大型、高清晰度的螢幕。當平板使用者從橫向的風景模式轉為縱向的肖像模式時又會發生什麼?這些問題凸顯了響應式設計和自適應設計的重要性。
響應式設計利用流體網格和CSS3媒體查詢,使應用適應各種型別、大小的螢幕。在網際網路上,你可以發現大量響應式設計案例。例如, TheNextWeb就是一個優秀的響應式網站。
自適應設計根據裝置釋出不同的HTML頁面。例如,一個單頁面網站可能包含三個獨立的表現層(HTML):一個針對PC,一個針對平板,一個針對智慧手機。通過應用內的邏輯層來識別使用者的裝置,並顯示正確的表現層。例如,在不同裝置上訪問“Data Listing: Customer Lookup”,注意觀察它的頁面和行為。
3.整合已成新的常態
據 Gartner預測,如果應用程式整合沒有成為真正的專業領域,那該企業在未來幾年內將會在競爭中處於劣勢。現實是整合在應用開發中變得至關重要。過去,開發者只需開發Web應用本身的所有功能即可。現在,開發者不僅要專注於應用的功能,同時也要整合其他的應用和服務。“API整合非常火爆” SquareHook CEO Joshua Maag表示,“大部分大型應用都有某種形式的API,你可以在應用中使用。深入瞭解 Oauth 2.0協議,比允許網站與社交媒體此類的工具進行互動更重要。在我們的應用中,我們使用了很多此類API以從使用者喜愛的平臺中檢索內容。”
4.開發已轉移至客戶端
現在,使用者希望Web應用可以像桌面應用、本地移動應用一樣。對Web應用的高要求,需要開發者改變開發方法。
過去,客戶端-伺服器模式依靠伺服器來處理大量的請求,然後再將結果傳送到客戶端。現在,一切都改變了。使用者要求可以和本地移動應用、桌面軟體相媲美的更強大、響應式Web應用,更多的應用需要放在瀏覽器端。
Maag表示,過去,大部分開發者主要依靠伺服器端技術解決Web應用中的各項事務。現在,則更加註重客戶端,同時期望網站可以完成傳統桌面應用、移動應用所具有的功能。
幸運的是,很多框架可以減輕該轉變所帶來的痛苦。現在有很多優秀的框架,理解它們的功能很重要。如jQuery 和Bootstrap已對Web產生了很大的影響。整個網際網路已有1%的網站在使用Bootstrap,這個數量相當多了。還有很多其他的優秀框架,可以幫助解決JavaScript名稱空間的問題。Angular和Backbone也是相當不錯的框架。
5.沒有任何理由設計出糟糕的架構
應用架構設計是最消耗時間,最讓開發者頭疼的部分。沒有合適的資源和專業知識,開發者所開發的應用將不安全,不靈活,且無良好的擴充套件性。
現在,這種情況改變了。隨著開發平臺(PaaS、IaaS)的興起,開發者可繞開令人頭疼的架構問題,設計出具有良好架構的專案。換句話說,開發者沒有任何理由為應用設計出糟糕的架構。
Maag表示,隨著PaaS和SaaS平臺活躍度的增強及新商業專案的增加,建立一個具有良好擴充套件性的應用已不再需要大型昂貴裝置。開發者需要理解他們應用的架構,及如何設計它才能保證持續的成長即可。現在比以前更容易構建真正具有擴充套件性的應用,開發者只需花點時間學習一種或幾種此類平臺即可,這是Web開發的新方式。
相關文章
- 想邀讀書推薦《JavaEE開發的顛覆者:Spring Boot實戰》JavaSpringboot
- 用Spring Boot顛覆Java應用開發Spring BootJava
- web前端怎麼獲取cookie?新手前端開發者需瞭解Web前端Cookie
- 遊戲開發者聯盟:調查發現59%開發者認為遊戲行業現狀糟糕遊戲開發行業
- 外媒:生成式AI還沒能顛覆遊戲開發AI遊戲開發
- HarmonyOS開發者日杭州站舉辦,多維賦能開發者實現高效開發
- 基於gin的golang web開發:實現使用者登入GolangWeb
- 開發者需掌握的超實用VS Code for Windows快捷鍵Windows
- 《戰地》系列的開發者,正在製作一款顛覆傳統的RPG遊戲遊戲
- Oculus Quest遊戲開發者需在開發程式前提交概念檔案遊戲開發
- React開發者必備的技能清單React
- CocosCreator遊戲開發(五)實現技能按鈕遊戲開發
- 讀完這篇文章,顛覆你之前對硬碟開盤的認知!硬碟
- 解放開發者!3款工具實現快速K8S開發K8S
- 開發者問第五期
- 《Flask Web開發 基於Python的Web應用開發實戰》簡評FlaskWebPython
- Flask web開發第五章資料庫FlaskWeb資料庫
- Spring Boot第五彈,WEB開發初瞭解~Spring BootWeb
- 實時標籤開發——從零開始搭建實時使用者畫像(五)
- 微信開發者工具實現程式碼加固
- 埃森哲:推進者就是顛覆者
- SpringBoot Web開發Spring BootWeb
- Python Web開發PythonWeb
- Solon Web 開發Web
- ?Web開發者需要知道的CSS TricksWebCSS
- 直播| Python Web開發者的破局之道PythonWeb
- 基於gin的golang web開發:認證利器jwtGolangWebJWT
- Web前端開發怎樣學?你需瞭解這些問題Web前端
- 華為首次釋出HarmonyOS職業認證,助力開發者實現職業進階
- GitOps:Weaveworks通過開發者工具實現CI/CDGit
- SpringBoot實現Java高併發秒殺系統之Web層開發(三)Spring BootJavaWeb
- 開發者如何走的彎路:Into the Breach設計覆盤
- 騰訊劉熾平:以生態方式進行開放,不做“顛覆者”
- 開發者應該瞭解的API技術清單!API
- GO 語言 Web 開發實戰一GoWeb
- 《Flask Web開發:基於Python的Web應用開發實戰》學習筆記(二)FlaskWebPython筆記
- 2020英特爾研究院開放日:五大顛覆性技術“炸場”
- 後端開發者的Vue學習之路(五)後端Vue
- Beta攻略首發|HarmonyOS NEXT 1000問:開發者必看"清單"就在這裡!