前端每周清单专一前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎关注【前端之巅】微信公众号(ID:frontshow),及时获取前端每周清单;本文则是对于半年来发布的前端每周清单中的 Angular 相关的教程实践与开源项目的盘点,能够查看这里得到往期清单或者其余盘点篇。前端
《Google 是如何构建 Web 框架的?》:众所周知 Google 使用单一仓库来存放与共享代码,其中存放了超过 20 亿行的代码,而且其使用了基于 Trunk 的开发范式。对于不少其余公司的开发者而言,这一点可能很是难以想象,而本文便是以构建著名的 AngularDart 项目为例,介绍 Google 是如何构建大型开源的 Web 框架的。react
《Learn Angular 2 with Me》:本系列视频介绍 Angular 2 的环境搭建与部分工程实例。本教程介绍了 Angular CLI 的使用、Angular 模块基础、构建注册表单、动态表单,等等。webpack
《结合 Firebase 构建完整 Angular 认证系统》:该做者在视频中详细介绍了如何利用 Angular 2 构建前端界面,而且使用 Firebase 做为后端存储支撑来构建完整的认证系统。( 6me.us/PxWiA )git
《Angular 应用中的状态管理》:本系列文章介绍了如何利用 ngrx/store 与 ngrx/effects 对典型的 Angular Todo 应用进行状态管理。( 6me.us/jMVVqk )github
《Angular的模块间通讯》:模块是Angular的构建单元,Angular应用程序的全部可视化元素也是由模块构建的。当咱们把模块拆散成更小的模块时,咱们就要确保它们能够把数据传来传去。到那时候,恰当地模块间通讯机制就成了咱们应用程序的基础,可让全部的数据都保持同步状态。( parg.co/bOD )web
《Angular 4 学习资源》:随着 Angular 4 的正式发布,本文也收集了部分学习 Angular 4 的资源,包括特性总结、服务端渲染、响应式编程、样式指南等等多个部分。( parg.co/bQ0 )编程
《构建可维护的大型 Angular 2 应用》:本文是来自 Versett 的工程师介绍其团队在基于 Angular 2 构建大型应用时的实践与总结。( parg.co/bQm )后端
《你应该掌握的关于调试 Angular 应用的知识》:调试是 Web 开发中不可或缺的部分,特别是对于那些接管已存在代码库的开发者,他们每每须要通过大量的调试才能了解代码的架构与逻辑。不过貌似 Angular 官方文档中尚缺专门对于 Angular 中调试的讲解,本文则是深度浅出地讲解 Angular 应用开发过程当中的调试技巧。本文首先介绍了做者调试源代码的技巧,而后介绍了如何使用框架内置的调试 API 来进行应用调试。( parg.co/bN1)设计模式
《从实用主义视角来看现代前端应用开发》:现代 Web 开发技术变革迅速,而我也经历了从纯 JS 、jQuery、Vaadin、Angular JS、React 等等一系列的变迁。本文则首先思考何谓现代 Web 应用,而后考虑现代 Web 应用经常使用的项目架构与构建方式,譬如 TypeScript、Webpack、Linting 等内容,而后讨论现代经常使用的技术架构,譬如 React.j、MobX、依赖注入等相关知识。( dimafeng.com/2017/04/23/… )前端工程化
《Angular v5 中可期待的新特性》:在 Angular V4 发布以后,Angular 团队就开始致力于 Angular v5 的开发,本文则是介绍 Angular V5 中部分可期待的新特性。在 Angular V5 中团队致力于简化应用的编译流程,将 AOT 编译模式设置为默认模式;同时会添加编译时的自动监控辅助命令,而且为模板添加类型检测的功能;同时 V5 版本会进一步优化错误提示,而且使得将来的升级更加地平滑。( parg.co/bVy )
Angular 2+ 项目实战系列:本系列文章包含了八个不一样的章节,从零开始介绍如何利用 MongoDB、Express、Angular 2+ 以及 Node.js(MEAN Stack)来构建某个真实的应用项目。第一部分着眼于进行基础环境的搭建,包括搭建 Angular 应用开发环境、本地搭建 MongoDB、在 Auth0 申请帐户与开发者密钥、搭建 Node.js 服务器而且为 Angular 应用添加基础的组件等等。第二部分着眼于添加基础的权限验证功能,而且构建数据模型等。 ( parg.co/beA )
试用新的 Angular HTTP Client:在 Angular 4.3.0-rc.0 版本在,HTTP Client API 获得了极大的改造与提高,本文便是介绍新版本的 Angular HTTP Client 的用法。在新版本的 HTTP Client 中,其默认假设以 JSON 格式进行返回值解析,而且引入了灵活的 Interceptor 以动态操做请求头或者响应体;同时新版本的 HTTP Client API 为上传与下载这些耗时操做提供了实时进度反馈回调,以方便开发者进行调试或者反馈给用户。( parg.co/bIV )
NgRx 的设计模式与技巧分享:状态管理一直是构建前端应用过程当中的难点之一, Angular 也为咱们提供了多种不一样的设计模式来进行状态管理;而本文便是介绍如何使用 NgRx 这个库进行状态管理。NgRx 是很是简单易用,没有太多限制条件的状态管理库;本文首先概述了 NgRx 的核心概念与设计原则,而后以实际的项目为例介绍了如何使用 NgRx 处理 Action 以及反作用。
基于 NGModules 与 Webpack 的 Angular 应用模块分割与懒加载:本文主要讨论如何在 Angular 应用开发中利用 Webpack 与 NGModules 实现对于代码库的模块分割,而且利用懒加载来加载非首屏内容,从而提高总体的应用响应性能。本文首先介绍了代码分割与懒加载相关的概念知识,而后介绍了如何搭建 Webpack 基础环境,而后介绍了使用 NgModules 以及性能对比;更多 Webpack 相关资料参考 https://parg.co/bVs 。
Angular 最佳实践分享:做者在本文中分享本身在工做中总结出的 Angular 应用实践,本文尽量地避免官方的 Angular 样式指南中说起的约定,而是着眼于呈现我的的经验总结。本文依次介绍了类型定义、组件实践、服务定义、模板使用等方面。
Angular 中利用新的动画特效(v4.3+)优化路由变换:本文着眼于介绍 Angular 应用开发中,如何利用新的动画特效,来为路由切换添加动画效果。本文首先介绍了如何从独立的依赖中引入动画模块,与为应用添加路由配置以及简单的路由动画;而后介绍了 Angular 动画接口,如何定义动画、如何添加参差效果等内容,最后介绍了如何将这些整合为独立的应用。
Angular 开发者常犯的错误枚举:本文做者从本身团队的 Angular 开发经验与 Code Review 中总结出了开发者常犯的错误,而且提出了解决方案。这些错误包括对于 Angular、Angular 二、Angular 4 等各个版本的误解、ngOnChanges 与 ngDoCheck 对比、僵尸订阅、冗余订阅、不一样模块的 providers 误用、直接操做 DOM 结点、重复声明组件等方面。
Angular 性能优化:本文介绍了些常见的 Angular 开发中可用的性能优化建议,包括了利用 ChangeDetectionStrategy.OnPush 来显式声明组件间依赖、利用 trackBy 来追踪惟一标识符和避免冗余的增删、避免模板中的计算推导、禁用变化监测、使用懒加载等。
使用 Angular 组件的四个技巧:从.5 版本的 AngularJS 开始,组件就成为 Angular 的一部分,它为代码的组织和回收提供了一种便捷的方式。Angular(Angular2 的简称)与其说是 Angular 1.x 的升级,不如说是“续集”,它在移动支持和其余功能的基础上进行了彻底地重写。这里,1.x 中使用的控制器彻底被组件取代。不管是否曾经使用或想继续坚持 1.x,不管是从零学起仍是在跨越阶段,为了确保代码尽量地优雅且不会过期,你都须要开始使用组件。不管属于以上哪一类,均可以在这里找到不少帮助简化流程的方法。
#开源项目
《hacker-news-pwas》:基于不一样的前端框架实现的符合 PWA 应用特性的 Hacker News APP 的合集,包括了常见的 React、Angular、Vue、Preact 等多个版本,而且均在 Lighthouse 评测中达到 90 以上的评分。( parg.co/biQ )
《一系列优秀的 Angular 2 组件集锦》:Angular 2 是很是不错的前端开发框架,而本仓库则是一系列开源的 Angular 2 组件的集锦。这些组件包括浮层、通知、气泡、菜单、加载指示、表格、树、时间、图表、地图、无限滚动、音视频、SVG、PDF 以及各类各样会在表单中用到的组件。
《generator-ngx-app》:Angular 4 商业级应用项目生成器,其包括了 angular-cli 提供的现代工具与工做流,以及来自于社区的最佳实践、可扩展的基础模板以及较好地学习曲线。( github.com/angular-sta… )