全栈技能修炼:使用Angular和Spring Boot 打造全栈应用 - (EPUB全文下载)
文件大小:0.47 mb。
文件格式:epub 格式。
书籍内容:
全栈技能修炼:使用Angular和Spring Boot 打造全栈应用
第1章 技术的选型和环境搭建
第2章 使用Angular快速构造前端原型
第3章 何谓后端
第4章 登录鉴权功能的构建
第5章 构建后端API
第6章 前端和API的配合
第7章 后端不只是API
第8章 前端的工程化
第9章 Spring Cloud打造微服务
附录A 常见云服务使用问题汇总
第1章 技术的选型和环境搭建
本章主要集中讨论书中所采用的各种技术的选型,包括前端、后端、数据库、缓存等。
读者可以下载源码配合书籍阅读。[1]
1.1 技术选型
今天的技术领域真是让人眼花缭乱,除了前端各种层出不穷的框架,后端的技术又出现了容器、微服务等概念;数据库除了传统的关系型数据库,还有各种 NoSQL 数据库纷纷登场,分布式数据库的需求也越来越强;这还没算上大数据、人工智能等。这么多的概念,我们该怎么去选择,如何去学习?
其实,万变不离其宗,大家都认可的技术一般都会补充到现有技术中。比如注解本来是.Net 平台先发展出来的,但由于这种方式确实可以减少大量的重复编码,而且更清晰易懂,所以Java平台也逐渐引入了这个特性。再比如“约定优于配置”(convention over configuration)这个设计范式本来是 Ruby on Rails 提倡的,由于确实省却了以前大量的配置带来的麻烦,所以现如今的大多数框架,不管是前端还是后端,都吸收了这个理念。
本书中采用的技术选型原则如下。
(1)成熟的框架:成熟的框架可能不会采用最时髦的一些概念,但是成熟本身意味着经历了考验。在我们选择技术方向时,前瞻的领域当然要关注,但对于商用系统来说,系统的稳定性是必须放到很高的优先级考虑的。因为我们肯定不想系统在上线后发生一些意想不到的事情。
(2)活跃的社区:在一个开源技术成为主流的时代,一个活跃的社区是考量这个项目是否有生命力的重要指标之一。活跃的社区意味着你可以很方便地找到一些常见问题的答案,而不是自己孤独地探索。活跃的社区还意味着更丰富的社区生态,社区会开发很多第三方的软件包来完善或补充现有框架中不太理想的地方,这可以极大地提升我们的开发效率,而不用“重造轮子”。
(3)工程化的支持:有一些小而美的框架在个人开发或者开发某个小功能时很好用,但是如果它缺乏工程化的支持,就无法推广到大团队中。工程化这个概念说起来比较宽泛,比如模块化的支持、自动化测试的支持、编译自动化的支持等。
(4)采用统一的编程思想:一个统一的编程思想或风格可以显著降低开发成本,比如在Java和JavaScript 中都可以采用函数式编程风格,编程风格的统一会让团队协作起来更顺畅,也降低了团队人员调换的成本。如果团队能力强一些,则可以在前端、后端、客户端(Android、iOS)统一采用 Rx,也可以在多个平台和编程语言之上使用响应式编程作为交流的语言。
(5)快速开发的支持:如果框架中有一些诸如“约定优于配置”的特性,那么我们的开发会相对更方便、更容易一些;如果框架支持注解,就会让开发效率得到更大的提升。
1.1.1 前端框架选型
现在,前端框架多到让开发者眼花缭乱,但主流的三大框架还是逐渐浮出水面:React、Angular和Vue。从流行度来说,React 是目前全球最流行的前端框架,而 Vue 则是中国开发者最爱的前端框架。但本书中我们选用的是 Angular 6.x,为什么呢?有以下几个理由。
(1)无缝的 TypeScript 集成:TypeScript 在 React和Vue 上也可以使用,甚至官方也有较强的支持,但是都没有在 Angular 中使用顺畅。这主要是因为在 Angular 中,TypeScript是首选语言,这一点在 React和Vue 中是做不到的。为什么 TypeScript 对于我们的技术选型这么重要呢?在大一点的公司里,基本都沉淀了很多面向对象的基础软件库、最佳实践及大量的熟练掌握面向对象概念的程序员。TypeScript 对于复用这些资源是非常必要的,而且如果使用原生的JavaScript 开发大型项目,由于其缺乏强类型约束,在实际开发中则往往会出现难以调试的问题。可以这么说,对于有面向对象经验的开发者来说,TypeScript 有着近似于零的学习成本,而且能够提升代码质量。
(2)开发模型的良好体验:Angular 使用模块组织代码,基于组件进行开发,这个特性使得 Angular 开发在模式上非常接近后端 Java 开发或者 Android和iOS 应用开发。
(3)对于响应式编程良好的支持:RxJS 框架的开发者 Ben Lesh 已经入职 Google,入职前,其实 Angular 已经是前端框架中和RxJS 配合度最好的了,后期 Angular 中的 RxJS 使用体验肯定越来越好。
1.1.2 后端框架选型
后端我们选择了 Spring Boot 2.x,Spring已经有超过 15年的开发时间了,从成熟度上来说都快“熟透”了。Spring 也基本成为 Java 开发中的事实标准,但是 Spring 一直在不断进化自身,吸收别的平台或框架的最佳实践经验。
Spring Boot 就是一个让 Spring 这棵老树发新芽的框架,Spring Boot 以“开箱即用”为基本理念,提供一套可以快速开发 Spring 应用的框架。Spring Boot 充分应用了注解、JavaConfig等方式让我们摆脱传统 Spring 中的臃肿的 XML 配置文件,以相当简洁的方式专注于业务逻辑的开发。
Spring Boot 主要有以下特色。
●创建一个单独可运行的 Spring 应用,无须依赖外部的 Web 容器。
●直接嵌入 Tomcat、Jetty 或者 Undertow,无须发布 War 包。
●提供各种 starter 依赖用以简化编译配置。
●在可能的情况下,自动配置 Spring和第三方类库。
●提供生产环境的监控指标、健康检查及 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 全栈技能修炼:使用Angular和Spring Boot 打造全栈应用 - (EPUB全文下载)