編輯精選:2016 年 Web 專區優秀文章
在已經過去的 2016 年中,Web 技術專區發布了很多關于流行技術的優質的文章和教程。年關將至,歲末是一個回顧總結的時刻。為此,我們參考了文章的受歡迎程度,以及目前開發人員社區在 Web 應用開發方面所關注的技術方向,為大家整理出了這份年度最佳優秀文章列表,內容涵蓋Web 應用框架、docker、ECMAScript 新標準、打包工具、Node.js、cloud等。這里,我們將這份年度最佳優秀文章列表分享給大家,查缺補漏的同時總結出新的心得。
JavaScript
面向 JavaScript 開發人員的 ECMAScript 6 指南
入選原因:隨著越來越多的庫和包開始采用新的 JavaScript 標準(ECMAScript 6 于 2015 年 6 月被采納), JavaScript 開發人員也是時候了解一下目前標準中的新特征了。毋庸置疑,一旦了解了其中一些功能,您就會想開始在代碼中使用它們。
在本系列文章中,介紹了 ECMAScript 標準的新功能和語法,還將展示如何恰當地將它們引入您自己的代碼中。
高效使用 JAVASCRIPT 閉包
入選原因:很好的理解閉包的特征和他們的生命周期,您就可以避免內存泄漏,可以確保所開發應用程序的功能正確性、穩定性和可伸縮性。
本教程介紹了在 Node 中使用閉包的 3 種主要用例:完成處理函數;中間函數;監聽器函數。對于每種用例,都提供了示例代碼,并指出了閉包的預期壽命和在壽命內保留的內存量。
框架
使用 Redux 管理狀態
入選原因:狀態管理是軟件開發的最困難方面之一。應用程序狀態通常很復雜,維護狀態、創建它、修改它和搞清楚為什么一些狀態當時看起來具有錯誤的值,這些會花費大量工作。這使得狀態管理錯誤成為了幾乎所有 bug 的源頭。
本系列探索了 Redux,這是一個針對 JavaScript 應用程序的可預測的狀態容器。Redux 不僅有助于狀態管理,還使得實現一些高級特性變得很簡單,比如無線撤銷/重做和實時編輯時間旅行。
面向 JAVASCRIPT 開發人員的 SAILS.JS 指南
入選原因:Sails.js 是一個旨在幫助開發人員構建 Web 應用程序的框架。Sails 為構建 HTTP API 提供了很好的開箱即用的支持。這種設計有助于在客戶端和服務器之間實現更好的關注點分離,以及促進客戶端和服務器之間的更多的互操作性。
本系列文章介紹了 Sails.js。從頭學習,您便可以在 Bluemix 上開始使用它,定義一些模型,訪問和更新您的模型,插入/更新/刪除和查詢它們,并創建非特定于所傳遞模型的端點。
Docker
DOCKER:帶給現代開發人員的福利
入選原因:在這個競爭激烈的時代,Docker 就象是用于 DevOps 的一把瑞士軍刀,這一點已得到充分證明。但 Docker 托管的應用程序容器的用途不僅是在云中部署服務器。Docker 容器還可以在許多常見的開發場景中幫助開發和顯著提高生產力。
本教程重點介紹了 Docker,可以了解到從開發人員角度它有何用途。如,使用 Docker 更富有成效地編碼,更高效地擴展您的技能;簡化您的開發環境,消除依賴項沖突,并使容器化的應用程序來減少開發和學習時間。
使用 Docker 容器網絡
入選原因:要構建具有安全的一致行為的 Web 應用程序,可以使用 Docker 網絡特性。根據定義,網絡為容器實現了完全隔離。因此,控制您的應用程序所在的網絡很重要。Docker 容器網絡為您提供了這種控制能力。
本文將概述 Docker 引擎交付原生的默認網絡行為,介紹默認創建的網絡類型,以及如何創建您自己的、用戶定義的網絡。
Node.js
LOG.IO:瀏覽器端實時日志監管系統
入選原因:log.io 是一套基于 Node.js 的瀏覽器端實時日志管理系統,可以幫助工程師更加及時有效的查看日志,發現錯誤。
本文通過講解 log.io 相關的配置,工作原理,代碼撰寫,以幫助讀者架設自己的日志系統。
使用 gulp 構建 Angular 項目
入選原因:隨著 Web "前后端分離"架構的日漸普及,前端項目的自動化構建也成為了開發中的必備環節。gulp 是一個前端項目的自動化構建工具。基于 Node.js 流原理, gulp 可以完成項目的快速構建并減少頻繁的 I/o 操作。Gulp 的 API 非常易于使用,通過代碼優于配置的策略,gulp 讓簡單的任務更簡單,復雜的任務可管理。
本文通過一個示例介紹如何使用 gulp 構建基于 Angular 開發的前端項目。著重介紹了 gulp 的使用方式,以及 Web 前臺開發過程中涉及的一些自動化構建切入點。
cloud
Ratpack:構建簡單高效的 HTTP 微服務
入選原因:隨著微服務架構(microservice)的流行,很多應用被拆分成若干個獨立的小應用,并使用 HTTP 協議作為服務直接的通訊協議。每個微服務只完成一個相對獨立的功能。對于這些 HTTP 微服務來說,傳統的 Servlet 容器過于復雜和厚重,運行所需的內存消耗過高。而 Ratpack 是一個創建 HTTP 應用的輕量級庫,可以作為創建 HTTP 微服務的基礎。
本文對 Ratpack 庫的重要部分進行了詳細的說明,包括上下文對象和處理器的概念,基本的 HTTP 請求處理,異步和非阻塞的實現方式,響應式流處理和對 Ratpack 應用進行測試等。
使用 IBM Bluemix 開發和部署 Python 應用
入選原因:Python 語言的流行,使得開發人員多了一種選擇。那么,了解 Python 語言的特性和優勢成了開發人員的一個新課題。基于此,我們需要對在 Bluemix 上如何使用 Python 和相關服務有比較深刻的理解,并應該具備能夠獨立部署 Python 應用到 Bluemix 云平臺的能力。
在本文中,首先介紹了 Bluemix 里的 Buildpacks 機制,進而引出 Python Buildpack。然后通過一個實例來演示如何在 Bluemix 上開發和部署 Python 應用。最后,介紹了如何使用 Apache Spark 服務和 Python 來進行科學計算和數據分析。
將 推ter 列表轉換為 RSS
入選原因:將來自 推ter 小部件的 HTML 輸出解析為 RSS 提要,以便在提要閱讀器、 IFTTT 秘訣和自定義應用程序中使用它們。
在本教程中,您將創建一段簡單的 Node.js 腳本來解析來自 推ter 小部件的 JSON 提要,并以 RSS 形式返回它。并且將 RSS 提要部署到 IBM Bluemix,以便用戶可以在其瀏覽器中閱讀它或從其他程序訂閱它。
工具
使用 Webpack 模塊化 Angular 應用程序
入選原因:通過模塊化源代碼,可以創建分離的代碼段,這些代碼段能更高效地執行,而且在項目增長過程中更容易維護。
通過本文,您將學習如何使用 Webpack 模塊打包工具模塊化現有的 Angular 應用程序,并了解將模塊合并到新項目中的最佳實踐。
來自:http://www.ibm.com/developerworks/cn/web/wa-2016-web-good-article/index.html?ca=drs-