编辑精选:2016 年 Web 专区优秀文章
stoneryan
8年前
<p>在已经过去的 2016 年中,Web 技术专区发布了很多关于流行技术的优质的文章和教程。年关将至,岁末是一个回顾总结的时刻。为此,我们参考了文章的受欢迎程度,以及目前开发人员社区在 Web 应用开发方面所关注的技术方向,为大家整理出了这份年度最佳优秀文章列表,内容涵盖Web 应用框架、docker、ECMAScript 新标准、打包工具、Node.js、cloud等。这里,我们将这份年度最佳优秀文章列表分享给大家,查缺补漏的同时总结出新的心得。</p> <h2>JavaScript</h2> <h3><a href="http://www.ibm.com/developerworks/cn/views/web/libraryview.jsp?sort_by=&show_abstract=true&show_all=&search_flag=&contentarea_by=Web+development&search_by=%E9%9D%A2%E5%90%91+JavaScript+%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E7%9A%84+ECMAScript+6+%E6%8C%87%E5%8D%97&topic_by=-1&type_by=%E6%89%80%E6%9C%89%E7%B1%BB%E5%88%AB&ibm-search=%E6%90%9C%E7%B4%A2" rel="nofollow,noindex">面向 JavaScript 开发人员的 ECMAScript 6 指南</a></h3> <p>入选原因:随着越来越多的库和包开始采用新的 JavaScript 标准(ECMAScript 6 于 2015 年 6 月被采纳), JavaScript 开发人员也是时候了解一下目前标准中的新特征了。毋庸置疑,一旦了解了其中一些功能,您就会想开始在代码中使用它们。</p> <p>在本系列文章中,介绍了 ECMAScript 标准的新功能和语法,还将展示如何恰当地将它们引入您自己的代码中。</p> <h3><a href="/misc/goto?guid=4959733635032639790" rel="nofollow,noindex">高效使用 JAVASCRIPT 闭包</a></h3> <p>入选原因:很好的理解闭包的特征和他们的生命周期,您就可以避免内存泄漏,可以确保所开发应用程序的功能正确性、稳定性和可伸缩性。</p> <p>本教程介绍了在 Node 中使用闭包的 3 种主要用例:完成处理函数;中间函数;监听器函数。对于每种用例,都提供了示例代码,并指出了闭包的预期寿命和在寿命内保留的内存量。</p> <h2>框架</h2> <h3><a href="https://www.ibm.com/developerworks/cn/views/web/libraryview.jsp?sort_by=&show_abstract=true&how_all=&search_flag=&contentarea_by=Web+development&search_by=%E4%BD%BF%E7%94%A8+Redux+%E7%AE%A1%E7%90%86+%E7%8A%B6%E6%80%81&topic_by=-1&type_by=%E6%89%80%E6%9C%89" rel="nofollow,noindex">使用 Redux 管理状态</a></h3> <p>入选原因:状态管理是软件开发的最困难方面之一。应用程序状态通常很复杂,维护状态、创建它、修改它和搞清楚为什么一些状态当时看起来具有错误的值,这些会花费大量工作。这使得状态管理错误成为了几乎所有 bug 的源头。</p> <p>本系列探索了 Redux,这是一个针对 JavaScript 应用程序的可预测的状态容器。Redux 不仅有助于状态管理,还使得实现一些高级特性变得很简单,比如无线撤销/重做和实时编辑时间旅行。</p> <h3><a href="/misc/goto?guid=4959733635203084478" rel="nofollow,noindex">面向 JAVASCRIPT 开发人员的 SAILS.JS 指南</a></h3> <p>入选原因:Sails.js 是一个旨在帮助开发人员构建 Web 应用程序的框架。Sails 为构建 HTTP API 提供了很好的开箱即用的支持。这种设计有助于在客户端和服务器之间实现更好的关注点分离,以及促进客户端和服务器之间的更多的互操作性。</p> <p>本系列文章介绍了 Sails.js。从头学习,您便可以在 Bluemix 上开始使用它,定义一些模型,访问和更新您的模型,插入/更新/删除和查询它们,并创建非特定于所传递模型的端点。</p> <h2>Docker</h2> <h3><a href="/misc/goto?guid=4959733635290955723" rel="nofollow,noindex">DOCKER:带给现代开发人员的福利</a></h3> <p>入选原因:在这个竞争激烈的时代,Docker 就象是用于 DevOps 的一把瑞士军刀,这一点已得到充分证明。但 Docker 托管的应用程序容器的用途不仅是在云中部署服务器。Docker 容器还可以在许多常见的开发场景中帮助开发和显著提高生产力。</p> <p>本教程重点介绍了 Docker,可以了解到从开发人员角度它有何用途。如,使用 Docker 更富有成效地编码,更高效地扩展您的技能;简化您的开发环境,消除依赖项冲突,并使容器化的应用程序来减少开发和学习时间。</p> <h3><a href="/misc/goto?guid=4959733635381864069" rel="nofollow,noindex">使用 Docker 容器网络</a></h3> <p>入选原因:要构建具有安全的一致行为的 Web 应用程序,可以使用 Docker 网络特性。根据定义,网络为容器实现了完全隔离。因此,控制您的应用程序所在的网络很重要。Docker 容器网络为您提供了这种控制能力。</p> <p>本文将概述 Docker 引擎交付原生的默认网络行为,介绍默认创建的网络类型,以及如何创建您自己的、用户定义的网络。</p> <h2>Node.js</h2> <h3><a href="/misc/goto?guid=4959733635465169572" rel="nofollow,noindex">LOG.IO:浏览器端实时日志监管系统</a></h3> <p>入选原因:log.io 是一套基于 Node.js 的浏览器端实时日志管理系统,可以帮助工程师更加及时有效的查看日志,发现错误。</p> <p>本文通过讲解 log.io 相关的配置,工作原理,代码撰写,以帮助读者架设自己的日志系统。</p> <h3><a href="/misc/goto?guid=4959733635547489445" rel="nofollow,noindex">使用 gulp 构建 Angular 项目</a></h3> <p>入选原因:随着 Web "前后端分离"架构的日渐普及,前端项目的自动化构建也成为了开发中的必备环节。gulp 是一个前端项目的自动化构建工具。基于 Node.js 流原理, gulp 可以完成项目的快速构建并减少频繁的 I/o 操作。Gulp 的 API 非常易于使用,通过代码优于配置的策略,gulp 让简单的任务更简单,复杂的任务可管理。</p> <p>本文通过一个示例介绍如何使用 gulp 构建基于 Angular 开发的前端项目。着重介绍了 gulp 的使用方式,以及 Web 前台开发过程中涉及的一些自动化构建切入点。</p> <h2>cloud</h2> <h3><a href="/misc/goto?guid=4959733635631923420" rel="nofollow,noindex">Ratpack:构建简单高效的 HTTP 微服务</a></h3> <p>入选原因:随着微服务架构(microservice)的流行,很多应用被拆分成若干个独立的小应用,并使用 HTTP 协议作为服务直接的通讯协议。每个微服务只完成一个相对独立的功能。对于这些 HTTP 微服务来说,传统的 Servlet 容器过于复杂和厚重,运行所需的内存消耗过高。而 Ratpack 是一个创建 HTTP 应用的轻量级库,可以作为创建 HTTP 微服务的基础。</p> <p>本文对 Ratpack 库的重要部分进行了详细的说明,包括上下文对象和处理器的概念,基本的 HTTP 请求处理,异步和非阻塞的实现方式,响应式流处理和对 Ratpack 应用进行测试等。</p> <h3><a href="/misc/goto?guid=4959733635714671096" rel="nofollow,noindex">使用 IBM Bluemix 开发和部署 Python 应用</a></h3> <p>入选原因:Python 语言的流行,使得开发人员多了一种选择。那么,了解 Python 语言的特性和优势成了开发人员的一个新课题。基于此,我们需要对在 Bluemix 上如何使用 Python 和相关服务有比较深刻的理解,并应该具备能够独立部署 Python 应用到 Bluemix 云平台的能力。</p> <p>在本文中,首先介绍了 Bluemix 里的 Buildpacks 机制,进而引出 Python Buildpack。然后通过一个实例来演示如何在 Bluemix 上开发和部署 Python 应用。最后,介绍了如何使用 Apache Spark 服务和 Python 来进行科学计算和数据分析。</p> <h3><a href="/misc/goto?guid=4959733635797191185" rel="nofollow,noindex">将 推ter 列表转换为 RSS</a></h3> <p>入选原因:将来自 推ter 小部件的 HTML 输出解析为 RSS 提要,以便在提要阅读器、 IFTTT 秘诀和自定义应用程序中使用它们。</p> <p>在本教程中,您将创建一段简单的 Node.js 脚本来解析来自 推ter 小部件的 JSON 提要,并以 RSS 形式返回它。并且将 RSS 提要部署到 IBM Bluemix,以便用户可以在其浏览器中阅读它或从其他程序订阅它。</p> <h2>工具</h2> <h3><a href="/misc/goto?guid=4959733635883317760" rel="nofollow,noindex">使用 Webpack 模块化 Angular 应用程序</a></h3> <p>入选原因:通过模块化源代码,可以创建分离的代码段,这些代码段能更高效地执行,而且在项目增长过程中更容易维护。</p> <p>通过本文,您将学习如何使用 Webpack 模块打包工具模块化现有的 Angular 应用程序,并了解将模块合并到新项目中的最佳实践。</p> <h2> </h2> <p>来自:http://www.ibm.com/developerworks/cn/web/wa-2016-web-good-article/index.html?ca=drs-</p> <p> </p>