# Next steps: tools and techniques # 后续步骤:工具与技巧 After you understand the basic Angular building blocks, you can learn more about the features and tools that can help you develop and deliver Angular applications. 在了解了基本的Angular构建块之后,你可以进一步了解可以帮助你开发和交付Angular应用的特性和工具。 * Work through the [Tour of Heroes](tutorial/index) tutorial to get a feel for how to fit the basic building blocks together to create a well-designed application. 参考“[英雄指南”](tutorial/index)教程,了解如何将这些基本构建块放在一起,来创建设计精良的应用。 * Check out the [Glossary](guide/glossary) to understand Angular-specific terms and usage. 查看[词汇表](guide/glossary) ,了解 Angular 特有的术语和用法。 * Use the documentation to learn about key features in more depth, according to your stage of development and areas of interest. 根据你的开发阶段和感兴趣的领域,使用该文档更深入地学习某些关键特性。 ## Application architecture ## 应用架构 * The [NgModules](guide/ngmodules) guide provides in-depth information on the modular structure of an Angular application. [NgModules](guide/ngmodules)一章中提供了关于 Angular 应用模块化结构的深度信息。 * The [Routing and navigation](guide/router) guide provides in-depth information on how to construct applications that allow a user to navigate to different [views](guide/glossary#view) within your single-page app. [路由与导航](guide/router)一章中提供了一些深度信息,教你如何构造出一个允许用户导航到单页面应用中不同[视图](guide/glossary#view) 的应用。 * The [Dependency injection](guide/dependency-injection) guide provides in-depth information on how to construct an application such that each component class can acquire the services and objects it needs to perform its function. [依赖注入](guide/dependency-injection)一章提供了一些深度信息,教你如何让每个组件类都可以获取实现其功能所需的服务和对象。 ## Responsive programming ## 响应式编程 The **Components and Templates** guide provides guidance and details of the [template syntax](guide/template-syntax) that you use to display your component data when and where you want it within a view, and to collect input from users that you can respond to. **“组件和模板”**一章提供了[模板语法](guide/template-syntax)的指南和详细信息,用于在视图中随时随地显示组件数据,并从用户那里收集输入,以便做出响应。 Additional pages and sections describe some basic programming techniques for Angular apps. 其它页面和章节则描述了 Angular 应用的一些基本编程技巧。 * [Lifecycle hooks](guide/lifecycle-hooks): Tap into key moments in the lifetime of a component, from its creation to its destruction, by implementing the lifecycle hook interfaces. [生命周期钩子](guide/lifecycle-hooks):通过实现生命周期钩子接口,可以窃听组件生命周期中的一些关键时刻 —— 从创建到销毁。 * [Observables and event processing](guide/observables): How to use observables with components and services to publish and subscribe to messages of any type, such as user-interaction events and asynchronous operation results. [可观察对象(Observable)和事件处理](guide/observables):如何在组件和服务中使用可观察对象来发布和订阅任意类型的消息,比如用户交互事件和异步操作结果。 * [Angular elements](guide/elements): How to package components as *custom elements* using Web Components, a web standard for defining new HTML elements in a framework-agnostic way. [Angular 自定义元素](guide/elements):如何使用 Web Components 把组件打包成*自定义元素*,Web Components 是一种以框架无关的方式定义新 HTML 元素的 Web 标准。 * [Forms](guide/forms-overview): Support complex data entry scenarios with HTML-based input validation. [表单](guide/forms-overview):通过基于 HTML 的输入验证,来支持复杂的数据录入场景。 * [Animations](guide/animations): Use Angular's animation library to animate component behavior without deep knowledge of animation techniques or CSS. [动画](guide/animations):使用 Angular 的动画库,你可以让组件支持动画行为,而不用深入了解动画技术或 CSS。 ## Client-server interaction ## “客户端-服务器”交互 Angular provides a framework for single-page apps, where most of the logic and data resides on the client. Most apps still need to access a server using the `HttpClient` to access and save data. For some platforms and applications, you might also want to use the PWA (Progressive Web App) model to improve the user experience. Angular 为单页面应用提供了一个框架,其中的大多数逻辑和数据都留在客户端。大多数应用仍然需要使用 `HttpClient` 来访问服务器,以访问和保存数据。对于某些平台和应用,你可能还希望使用 PWA(渐进式 Web 应用)模型来改善用户体验。 * [HTTP](guide/http): Communicate with a server to get data, save data, and invoke server-side actions with an HTTP client. [HTTP](guide/http):与服务器通信,通过 HTTP 客户端来获取数据、保存数据,并调用服务端的动作。 * [Server-side rendering](guide/universal): Angular Universal generates static application pages on the server through server-side rendering (SSR). This allows you to run your Angular app on the server in order to improve performance and show the first page quickly on mobile and low-powered devices, and also facilitate web crawlers. [服务器端渲染](guide/universal):Angular Universal 通过服务器端渲染(SSR)在服务器上生成静态应用页面。这允许你在服务器上运行 Angular 应用,以提高性能,并在移动设备和低功耗设备上快速显示首屏,同时也方便了网页抓取工具。 * [Service workers and PWA](guide/service-worker-intro): Use a service worker to reduce dependency on the network and significantly improve the user experience. [Service Worker 和 PWA](guide/service-worker-intro):使用 Service Worker 来减少对网络的依赖,并显著改善用户体验。 * [Web workers](guide/web-worker): Learn how to run CPU-intensive computations in a background thread. [Web worker](guide/web-worker):学习如何在后台线程中运行 CPU 密集型的计算。 ## Support for the development cycle ## 为开发周期提供支持 The **Development Workflow** section describes the tools and processes you use to compile, test, and and deploy Angular applications. **“开发工作流”**部分描述了用于编译、测试和部署 Angular 应用的工具和过程。 * [CLI Command Reference](cli): The Angular CLI is a command-line tool that you use to create projects, generate application and library code, and perform a variety of ongoing development tasks such as testing, bundling, and deployment. [CLI 命令参考手册](cli):Angular CLI 是一个命令行工具,可用于创建项目、生成应用和库代码,以及执行各种持续开发任务,如测试、打包和部署。 * [Compilation](guide/aot-compiler): Angular provides just-in-time (JIT) compilation for the development environment, and ahead-of-time (AOT) compilation for the production environment. [编译](guide/aot-compiler):Angular 为开发环境提供了 JIT(即时)编译方式,为生产环境提供了 AOT(预先)编译方式。 * [Testing platform](guide/testing): Run unit tests on your application parts as they interact with the Angular framework. [测试平台](guide/testing):对应用的各个部件运行单元测试,让它们好像在和 Angular 框架交互一样。 * [Deployment](guide/deployment): Learn techniques for deploying your Angular application to a remote server. [部署](guide/deployment):学习如何把 Angular 应用部署到远端服务器上。 * [Security guidelines](guide/security): Learn about Angular's built-in protections against common web-app vulnerabilities and attacks such as cross-site scripting attacks. [安全指南](guide/security):学习 Angular 对常见 Web 应用的弱点和工具(比如跨站脚本攻击)提供的内置防护措施。 * [Internationalization](guide/i18n): Make your app available in multiple languages with Angular's internationalization (i18n) tools. [国际化](guide/i18n) :借助 Angular 的国际化(i18n)工具,可以让你的应用支持多语言环境。 * [Accessibility](guide/accessibility): Make your app accessible to all users. [无障碍性](guide/accessibility):让所有用户都能访问你的应用。 ## File structure, configuration, and dependencies ## 文件结构、配置和依赖 * [Workspace and file structure](guide/file-structure): Understand the structure of Angular workspace and project folders. [工作区与文件结构](guide/file-structure):理解 Angular 工作区与项目文件夹的结构。 * [Building and serving](guide/build): Learn to define different build and proxy server configurations for your project, such as development, staging, and production. [构建与运行](guide/build):学习为项目定义不同的构建和代理服务器设置的配置方式,比如开发、预生产和生产。 * [npm packages](guide/npm-packages): The Angular Framework, Angular CLI, and components used by Angular applications are packaged as [npm](https://docs.npmjs.com/) packages and distributed via the npm registry. The Angular CLI creates a default `package.json` file, which specifies a starter set of packages that work well together and jointly support many common application scenarios. [npm 包](guide/npm-packages):Angular 框架、Angular CLI 和 Angular 应用中用到的组件都是用 [npm](https://docs.npmjs.com/) 打包的,并通过 npm 注册服务器进行发布。Angular CLI 会创建一个默认的 `package.json` 文件,它会指定一组初始的包,它们可以一起使用,共同支持很多常见的应用场景。 * [TypeScript configuration](guide/typescript-configuration): TypeScript is the primary language for Angular application development. [TypeScript 配置](guide/typescript-configuration):TypeScript 是 Angular 应用开发的主要语言。 * [Browser support](guide/browser-support): Make your apps compatible across a wide range of browsers. [浏览器支持](guide/browser-support):让你的应用能和各种浏览器兼容。 ## Extending Angular ## 扩展Angular * [Angular libraries](guide/libraries): Learn about using and creating re-usable libraries. [Angular 库](guide/libraries):学习如何使用和创建可复用的库。 * [Schematics](guide/schematics): Learn about customizing and extending the CLI's generation capabilities. 学习[原理图](guide/schematics) :学习如何自定义和扩展 CLI 的生成(`generate`)能力。 * [CLI builders](guide/cli-builder): Learn about customizing and extending the CLI's ability to apply tools to perform complex tasks, such as building and testing applications. [CLI构建器](guide/cli-builder):学习如何自定义和扩展 CLI 的能力,让它使用工具来执行复杂任务,比如构建和测试应用。