日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Web 开发在 2015 年及未来的发展趋势

發(fā)布時(shí)間:2025/3/21 编程问答 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Web 开发在 2015 年及未来的发展趋势 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


Web 開(kāi)發(fā)在 2015 年及未來(lái)的發(fā)展趨勢(shì)

首先,讓我分享一些我所觀察到的可用性和體系結(jié)構(gòu)目前的趨勢(shì)。

可用性的趨勢(shì)

如今,用戶體驗(yàn)變得比以往更重要,響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)(RWD)也成為了網(wǎng)站必備的特性。RWD 能讓最終用戶在不同尺寸的設(shè)備上訪問(wèn)網(wǎng)站,包括手機(jī)和平板瀏覽器。有了 RWD 取代移動(dòng)網(wǎng)站,我們便無(wú)需為移動(dòng)用戶單獨(dú)開(kāi)發(fā)額外的網(wǎng)站。特別是當(dāng)我們需要把焦點(diǎn)放到如何呈現(xiàn)內(nèi)容時(shí)尤為有用。但如果你是在開(kāi)發(fā) Web 應(yīng)用(包含著大量 UI 交互流程)而不是網(wǎng)站時(shí),RWD 就幫不了你了。記住 Web 應(yīng)用與網(wǎng)站是不同的。Twitter Bootstrap 與 Zurb Foundation 算是目前最流行的 RWD 框架。如果你要針對(duì)移動(dòng)用戶開(kāi)發(fā) APP 我會(huì)建議使用輕量級(jí)的框架比如?Yahoo Pure CSS?。

應(yīng)用程序架構(gòu)的趨勢(shì)

企業(yè)中的移動(dòng)優(yōu)先策略同樣影響到了 Web 開(kāi)發(fā)架構(gòu)。當(dāng)一個(gè)組織在開(kāi)發(fā) Web 應(yīng)用與 Web 服務(wù)時(shí),他們會(huì)以自身的移動(dòng)策略作為主方向調(diào)整。且如今,Web API 已成為 Web 應(yīng)用和移動(dòng)應(yīng)用的中心,開(kāi)發(fā)者會(huì)在服務(wù)器端建立 RESTful 服務(wù),然后基于 RESTful 服務(wù)為 Web 和移動(dòng)開(kāi)發(fā)前端應(yīng)用。

API 驅(qū)動(dòng)開(kāi)發(fā)的崛起

在移動(dòng)領(lǐng)域,API(特別是 RESTful API)已成為 Web 應(yīng)用的關(guān)鍵部分,而服務(wù)器端的實(shí)現(xiàn)已變成薄薄的一層,只提供數(shù)據(jù)和安全相關(guān)的 API 。這些 RESTful API 并不受限于 Web 應(yīng)用,移動(dòng)應(yīng)用同樣可以使用。所以說(shuō)現(xiàn)代 Web 開(kāi)發(fā)人員編寫的服務(wù)器端代碼同時(shí)用于移動(dòng)應(yīng)用和 Web 應(yīng)用,給予了我們更多的機(jī)會(huì)。這里的另外一個(gè)趨勢(shì)是移動(dòng)后端云服務(wù)的興起,如?Parse和?Azure Mobile Services?等的服務(wù)(MBaaS)云平臺(tái)解決方案。這些 MBaaS 平臺(tái)可針對(duì)多種特定移動(dòng)后端服務(wù)的數(shù)據(jù)模型提供自動(dòng)的 RESTful API 。我們可以使用 MBaaS 服務(wù)開(kāi)發(fā) Web 應(yīng)用,因?yàn)樗鼈儾粌H提供 RESTful API ,伴隨著移動(dòng) SDK 還提供了 JavaScript SDK 用于 HTML5 客戶端。未來(lái),我堅(jiān)信 MBaaS 服務(wù)將廣泛用于 Web 應(yīng)用和移動(dòng)應(yīng)用。

單頁(yè)面應(yīng)用程序(SPA)的出現(xiàn)

當(dāng)使用 RESTful API 的服務(wù)器端受限時(shí),Web 前端開(kāi)發(fā)便遷移到客戶端,且瀏覽器上的類桌面 UI 是在客戶端渲染而不是在服務(wù)器端。在 SPA 應(yīng)用中,前端只需簡(jiǎn)單的調(diào)用 RESTful API 傳送數(shù)據(jù),然后在客戶端構(gòu)建完整的 UI 。這種情況下,JavaScript 便成為構(gòu)建 Web 應(yīng)用的關(guān)鍵技術(shù)。SPA 應(yīng)用的一個(gè)優(yōu)勢(shì)是我們可以使用雜交移動(dòng)容器(hybrid mobile container)比如?Phonegap?和?Trigger.IO?很容易地將這些 Web 應(yīng)用打包成移動(dòng)應(yīng)用。這種方法可以應(yīng)付小型到中型基于數(shù)據(jù)形式 UI 的應(yīng)用。于是我們就可以用一份代碼建立 Web 應(yīng)用和移動(dòng)應(yīng)用了。

在基于 SPA 的 Web 開(kāi)發(fā)中,JavaScript 已成為關(guān)鍵技術(shù),而且 JavaScript 技能也比以前更加重要。我曾接觸過(guò)不同框架開(kāi)發(fā)過(guò)一些 SPA 應(yīng)用,并在這種模型下注意到了一些難題。如下:

  • 當(dāng)我們?cè)陂_(kāi)發(fā)大規(guī)模 SPA 應(yīng)用時(shí),對(duì)比以前的服務(wù)器端方式,現(xiàn)在維護(hù)應(yīng)用變得非常困難。我感覺(jué)構(gòu)建大型 JavaScript 應(yīng)用真的很難去保持可維護(hù)性。
  • 很難在客戶端實(shí)現(xiàn)復(fù)雜的安全模型,對(duì)不同類型的授權(quán)角色限制不同訪問(wèn)級(jí)別的 UI 。
  • 我對(duì) SPA 框架的意見(jiàn)

    目前 AngularJS、EmberJS 和 Backbone 是實(shí)際使用中最受歡迎的幾個(gè) SPA 框架。我對(duì)這三個(gè)框架做了評(píng)估并使用其開(kāi)發(fā)過(guò)應(yīng)用。根據(jù)我的經(jīng)驗(yàn),AngularJS 是產(chǎn)能最高的框架,具備構(gòu)建大型 SPA 應(yīng)用所需的特性。依愚人之見(jiàn),使用 MV* 框架做前端開(kāi)發(fā)并不是一個(gè)好方法,MVC 不適合大型前端應(yīng)用。但如今我們?cè)诜?wù)器端和客戶端都使用 MVC ,我不認(rèn)為這是最佳實(shí)踐。

    ReactJS – 令人驚嘆的前端框架

    當(dāng)大多數(shù) SPA 框架依然在使用傳統(tǒng)的 MVC 模型時(shí),ReactJS 為客戶端構(gòu)建 UI 提供了一種不同的方式。React?是由 Facebook 和 Instagram 團(tuán)隊(duì)開(kāi)發(fā)的 JavaScript 庫(kù),目的是用來(lái)構(gòu)建用戶界面。Instagram?網(wǎng)站的整個(gè)前端和?Facebook?網(wǎng)站的一部分都是用 ReactJS 構(gòu)建的。有趣的是,你可以與其他的前端框架如 AngularJS 和 EmberJS 一起使用 ReactJS 。你可以將 ReactJS 作為 MVC 框架的視圖層。但是在實(shí)踐中,我不建議在傳統(tǒng)的 MVC 框架上使用 ReactJS 。ReactJS 引入了虛擬 DOM(Virtual DOM),這就是 ReactJS 庫(kù)令人驚嘆的部分,它給渲染 UI 帶來(lái)了高性能的表現(xiàn)。ReactJS 提供了比 AngularJS 與 EmberJS 等 MVC 框架更高性能的 UI 渲染。你可以利用虛擬 DOM 抽象出可重用的 UI 組件,然后在實(shí)際的 DOM 上合成這些組件。虛擬 DOM 讓你可以利用 React 在瀏覽器以外構(gòu)建 UI 。比如 Facebook 的 React 團(tuán)隊(duì)搭建了 Objective C 橋,用于在 iOS 應(yīng)用上構(gòu)建 UI 。對(duì)于擴(kuò)展前端應(yīng)用,我們可以對(duì) React 使用?Flux?架構(gòu),這是架構(gòu)的一套基本慣例,提供了單方向的數(shù)據(jù)流。我已經(jīng)對(duì) BackboneJS、EmberJS、AngularJS 和 React 都做了評(píng)估并強(qiáng)烈推薦你使用 React 構(gòu)建用戶界面。

    2014 年服務(wù)器端 Web 技術(shù)棧的趨勢(shì)

    幾年以前,動(dòng)態(tài)類型語(yǔ)言如 Ruby 和 Python 已經(jīng)吸引了許多創(chuàng)業(yè)公司。直到幾年前,Ruby on Rails 真是 Web 開(kāi)發(fā)的一場(chǎng)革命。許多創(chuàng)業(yè)公司已經(jīng)利用 RoR 和 Python Web 框架開(kāi)發(fā)出各種創(chuàng)新的產(chǎn)品。但如今有趣的是,由于性能和可擴(kuò)展性的難題,這些應(yīng)用程序正被其它的 Web 技術(shù)棧重建。在大型應(yīng)用程序中使用動(dòng)態(tài)類型語(yǔ)言就像在喝加了太多糖的飲料。開(kāi)始的時(shí)候,糖的甜味會(huì)比較吸引人,但長(zhǎng)期來(lái)看就會(huì)傷害到應(yīng)用程序的健康。今年,我們已經(jīng)看到很多企業(yè)采用 Node.js 尤其是用于構(gòu)建備受關(guān)注的移動(dòng)應(yīng)用后端服務(wù)。大企業(yè)如領(lǐng)英(LinkedIn)和沃爾瑪(Walmart)正在使用 Node.js 加強(qiáng)它們的移動(dòng)后端服務(wù)。作為一項(xiàng)新技術(shù),Node.js 真是 2014 年采納市場(chǎng)的贏家。Node.js 也是移動(dòng)后端服務(wù)(MBaaS)云解決方案的首選技術(shù)棧。今年我們也看到許多基于 Node.js 的命令行工具被用于前端開(kāi)發(fā)。Node.js 的崛起與 Ruby 棧的衰落是今年最值得注意的趨勢(shì)。

    這里是一些服務(wù)器端 Web 棧的觀察結(jié)果:

    • Ruby 棧特別是 RoR 正在失去動(dòng)力且大型 Rails 應(yīng)用正被重建成其他的技術(shù)棧。
    • 使用動(dòng)態(tài)語(yǔ)言(Ruby 和 Python)做 Web 開(kāi)發(fā)已逐漸失去其吸引力。
    • Node.js 更多地被采用到構(gòu)建后端 RESTful 服務(wù)特別是在移動(dòng)領(lǐng)域。
    • 用于前端開(kāi)發(fā)的基于 Node.js 的命令行工具的出現(xiàn)。
    • 微軟 .NET Web 棧和開(kāi)放規(guī)范?OWIN?將發(fā)生大轉(zhuǎn)變 – 這實(shí)際上對(duì) ASP.NET 和 Node.js 都是好事。
    • 實(shí)時(shí) Web 應(yīng)用的出現(xiàn)

    對(duì) 2015 年及以后的預(yù)測(cè)

    哪種技術(shù)會(huì)稱霸 2015 年?哪種技術(shù)會(huì)失去其勢(shì)頭?我深深地感受到使用動(dòng)態(tài)語(yǔ)言做 Web 開(kāi)發(fā)的時(shí)代就要結(jié)束了。而 Node.js 會(huì)再接再厲在新興技術(shù)市場(chǎng)乘勢(shì)而上嗎?我不這么認(rèn)為。自 2011 年起我已經(jīng)主要在寫 Node.js 代碼并打算為此寫一本書,但后來(lái)還是放棄了這個(gè)計(jì)劃。最近我已離開(kāi)了 Node.js 平臺(tái),原因如下:

    • Node.js 總被強(qiáng)調(diào)是一種用于構(gòu)建高性能應(yīng)用程序的技術(shù),但對(duì)大型應(yīng)用來(lái)說(shuō),它對(duì)性能的支持超過(guò)可用性和可維護(hù)性將是一個(gè)最大的難題。所以我預(yù)測(cè)在近期會(huì)有許多大型 Node.js 應(yīng)用因可維護(hù)性問(wèn)題而失敗,過(guò)度炒作 Node.js 的時(shí)代將會(huì)結(jié)束。
    • 回調(diào)地獄。我知道 generator 和 promise 是解決回調(diào)地獄的好方法。Koa.js?之類的框架都是以犧牲性能為代價(jià)提供了解決方法。但對(duì)我來(lái)說(shuō)依然有許多問(wèn)題解決不了。
    • JavaScript 語(yǔ)言對(duì)我來(lái)說(shuō)也是個(gè)問(wèn)題。JavaScript 并不適合構(gòu)建大規(guī)模的應(yīng)用程序。
    • Node.js 是一個(gè)極簡(jiǎn)的平臺(tái)。對(duì)我來(lái)說(shuō),它最好是可以構(gòu)建基于 JSON 的 REST API 和實(shí)時(shí)系統(tǒng)。我希望可以利用單一的技術(shù)棧開(kāi)發(fā)各種各樣的應(yīng)用程序。但問(wèn)題是當(dāng)執(zhí)行 CPU 運(yùn)算邏輯(CPU crunching logic)時(shí) Node.js 總是會(huì)失敗。

    我使用 Node.js 的這些問(wèn)題其他人也會(huì)有,在出錯(cuò)處理、調(diào)試和可用性上還會(huì)有許多實(shí)用性方面的問(wèn)題。我相信可維護(hù)性將是大型 Node.js 應(yīng)用的一個(gè)大難題。如果你在 Node.js 上構(gòu)建 RESTful 服務(wù),我強(qiáng)烈建議你使用沃爾瑪開(kāi)發(fā)的?Hapi.js?框架,它真的做得很好。我非常欣賞 Hapi.js 的作者?Eran Hammer?。

    在 2015 年我看好 Go 語(yǔ)言,不僅僅是用于 Web 開(kāi)發(fā),還作為構(gòu)建分布式應(yīng)用的一個(gè)技術(shù)生態(tài)系統(tǒng)。對(duì)我來(lái)說(shuō),Go 是比 Node.js 更好的選擇。我預(yù)測(cè) 2015 年許多 Ruby 和 Node.js 開(kāi)發(fā)者會(huì)遷移到 Go 。

    接下來(lái)是我對(duì) 2015 年及以后的一些預(yù)測(cè):

    • 注重性能的 Web 應(yīng)用由 Rails 重建到其它棧的做法將達(dá)到高峰值。
    • 至少對(duì)注重性能的 Web 應(yīng)用來(lái)說(shuō),用動(dòng)態(tài)語(yǔ)言做 Web 開(kāi)發(fā)的時(shí)代要結(jié)束了。
    • 許多 Node.js 應(yīng)用會(huì)陷入可維護(hù)性的問(wèn)題。追求性能超過(guò)了可用性和可維護(hù)性可能會(huì)使 Node.js 失敗。
    • Go 將作為一種通用的編程語(yǔ)言出現(xiàn),吸引著 Web 開(kāi)發(fā)者社區(qū)。Go 會(huì)很好的替代 Java 與動(dòng)態(tài)語(yǔ)言還有 Node.js 社區(qū)。
    • Go 將繼 Cobol 和 Java 成為下一代企業(yè)大范圍使用的語(yǔ)言,但還需要時(shí)間。Go 是云時(shí)代的語(yǔ)言。
    • Java 與 .Net 棧將會(huì)繼續(xù)其中、大型企業(yè)應(yīng)用的勢(shì)頭,但會(huì)慢慢地在 Web 開(kāi)發(fā)中沒(méi)落。

    Go:2015 及未來(lái)的技術(shù)

    最近出現(xiàn)了許多用 Go 開(kāi)發(fā)的優(yōu)秀應(yīng)用,包括?Docker?和?Packer.IO?。我預(yù)測(cè) Go 將會(huì)在各種不同的社區(qū)中產(chǎn)生巨大的吸引力,包括 Java、Ruby、Python 和 Node.js 。Go 是靜態(tài)類型語(yǔ)言卻提供了動(dòng)態(tài)類型語(yǔ)言生產(chǎn)力的靈活性。在 Go 語(yǔ)言中,并發(fā)性是核心編程語(yǔ)言的一等公民。類似 C 和 C++ ,Go 編譯成原生機(jī)器碼;而不像 Java 和 .Net ,它不需要任何 JIT 編譯。我愛(ài)上了 Go 的簡(jiǎn)單性、實(shí)用的設(shè)計(jì)和相當(dāng)好用的包系統(tǒng)。也許它不適合構(gòu)建傳統(tǒng)的 Web 應(yīng)用,但絕對(duì)適合做提供 RESTful 服務(wù)的 HTTP 服務(wù)器。在未來(lái),你也許還可以用 Go 開(kāi)發(fā) Android 應(yīng)用。Go 的優(yōu)勢(shì)是它是一種通用編程語(yǔ)言,可以用于任何可能的場(chǎng)景 – 包括系統(tǒng)編程和大型分布式商業(yè)應(yīng)用。我強(qiáng)烈感受到 Go 是屬于云時(shí)代的分布式、并發(fā)、并行計(jì)算的語(yǔ)言。Go 可以在企業(yè)中成為下一個(gè) Java 。

    總結(jié)

    以上是生活随笔為你收集整理的Web 开发在 2015 年及未来的发展趋势的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。