展开全部

主编推荐语

通过9个实用项目,详细讲解如何使用TypeScript3.0和不同的JavaScript框架来开发高质量的应用程序。

内容简介

本书首先介绍常常被其他图书忽视的一些TypeScript功能,然后讲解如何创建一个简单的markdown解析器。接着介绍React,并创建一个客户端联系人管理器。之后介绍Angular框架,并使用MEAN栈创建一个相册。

本书接着帮助你创建一个GraphQL Angular待办事项应用程序,并编写一个Socket.IO聊天室,开发一个地图应用程序。之后回到React,介绍如何使用Docker和微服务。

紧接着,本书讲解如何使用TensorFlow和机器学习来创建一个图像分类应用程序。

最后,本书介绍如何把TypeScript和C#结合起来,创建一个基于ASP.NET Core的音乐库应用程序。

目录

  • 版权信息
  • 前言
  • 审校者简介
  • 第1章 TypeScript的高级特性
  • 1.1 技术需求
  • 1.2 使用tsconfig构建面向未来的TypeScript
  • 1.3 TypeScript高级特性简介
  • 1.3.1 借助联合类型使用不同的类型
  • 1.3.2 使用交叉类型组合类型
  • 1.3.3 使用类型别名简化类型声明
  • 1.3.4 使用对象展开赋值属性
  • 1.3.5 使用REST属性解构对象
  • 1.3.6 使用REST处理可变数量的参数
  • 1.3.7 使用装饰器进行AOP
  • 1.3.8 使用混入(mixin)组成类型
  • 1.3.9 使用泛型,将相同的代码用于不同的类型
  • 1.3.10 使用映射来映射值
  • 1.3.11 使用Promise和async/await创建异步代码
  • 1.3.12 使用Bootstrap创建UI
  • 1.4 小结
  • 习题
  • 第2章 使用TypeScript创建一个markdown编辑器
  • 2.1 技术需求
  • 2.2 项目概述
  • 2.3 开始创建一个简单的HTML项目
  • 2.4 编写一个简单的markdown解析器
  • 2.4.1 创建Bootstrap UI
  • 2.4.2 将markdown标签类型映射到HTML标签类型
  • 2.4.3 使用MarkdownDocument类表示转换后的markdown标记
  • 2.4.4 使用访问者更新markdown文档
  • 2.4.5 通过使用责任链模式决定应用哪个标签
  • 2.4.6 综合运用
  • 2.5 小结
  • 延伸阅读
  • 第3章 React Bootstrap联系人管理器
  • 3.1 技术需求
  • 3.2 项目概述
  • 3.3 开始使用组件
  • 3.4 创建一个支持TypeScript的React Bootstrap项目
  • 3.5 创建模拟布局
  • 3.5.1 创建应用程序
  • 3.5.2 使用tslint设置代码的格式
  • 3.5.3 添加Bootstrap支持
  • 3.6 在React中使用tsx组件
  • 3.6.1 React如何使用虚拟DOM来提高响应性
  • 3.6.2 React应用程序的组件
  • 3.7 显示个人信息界面
  • 3.8 验证用户输入及验证器的使用
  • 3.8.1 验证地址
  • 3.8.2 验证姓名
  • 3.8.3 验证电话号码
  • 3.9 在React组件中应用验证
  • 3.10 创建数据并把数据发送给IndexedDB数据库
  • 3.10.1 在状态中添加对记录状态的支持
  • 3.10.2 从PersonalDetails访问数据库
  • 3.11 增强代码
  • 3.12 小结
  • 习题
  • 延伸阅读
  • 第4章 MEAN栈——构建一个相册
  • 4.1 技术需求
  • 4.2 MEAN栈
  • 4.3 项目概述
  • 4.4 准备工作
  • 4.5 使用MEAN栈创建Angular相册
  • 4.5.1 Angular简介
  • 4.5.2 创建应用程序
  • 4.5.3 使用Angular Material创建UI
  • 4.5.4 使用Material添加导航
  • 4.5.5 创建第一个组件——FileUpload组件
  • 4.5.6 在应用程序中引入对Express的支持
  • 4.5.7 提供路由支持
  • 4.5.8 显示图片
  • 4.5.9 显示对话框
  • 4.6 小结
  • 习题
  • 延伸阅读
  • 第5章 使用GraphQL和Apollo创建Angular待办事项应用程序
  • 5.1 技术需求
  • 5.2 理解GraphQL与REST的关系
  • 5.3 项目概述
  • 5.4 准备工作
  • 5.5 使用GraphQL和Angular创建待办事项应用程序
  • 5.5.1 创建应用程序
  • 5.5.2 创建GraphQL架构
  • 5.5.3 创建GraphQL解析器
  • 5.5.4 使用Apollo Server作为服务器
  • 5.5.5 GraphQL Angular客户端
  • 5.5.6 向页面组件添加内容
  • 5.6 小结
  • 习题
  • 延伸阅读
  • 第6章 使用Socket.IO构建一个聊天室应用程序
  • 6.1 技术需求
  • 6.2 使用Socket.IO建立客户端/服务器之间的长时间通信
  • 6.3 项目概述
  • 6.4 开始使用Socket.IO和Angular
  • 6.5 使用Socket.IO、Angular和Auth0创建一个聊天室应用程序
  • 6.5.1 创建应用程序
  • 6.5.2 为服务器添加Socket.IO支持
  • 6.5.3 创建聊天室客户端
  • 6.5.4 使用Auth0授权和验证用户
  • 6.5.5 使用安全路由
  • 6.5.6 添加客户端聊天功能
  • 6.5.7 使用GeneralchatComponent完成我们的应用程序
  • 6.6 小结
  • 习题
  • 延伸阅读
  • 第7章 使用必应地图和Firebase创建基于云的Angular地图应用程序
  • 7.1 技术需求
  • 7.2 现代应用程序及使用云服务的趋势
  • 7.3 项目概述
  • 7.4 在Angular中使用必应地图
  • 7.4.1 注册必应地图
  • 7.4.2 注册Firebase
  • 7.5 使用Angular和Firebase创建必应地图应用程序
  • 7.5.1 添加地图组件
  • 7.5.2 兴趣点
  • 7.5.3 表示地图图钉
  • 7.5.4 使用地图搜索做一些有趣的操作
  • 7.5.5 将必应地图添加到屏幕上
  • 7.5.6 地图事件和图钉的设置
  • 7.5.7 保护数据库
  • 7.6 小结
  • 习题
  • 第8章 使用React和微服务来构建一个CRM
  • 8.1 技术需求
  • 8.2 理解Docker和微服务
  • 8.2.1 Docker术语
  • 8.2.2 微服务
  • 8.2.3 使用Swagger设计REST API
  • 8.3 使用Docker创建一个微服务应用程序
  • 8.3.1 开始使用Docker创建一个微服务应用程序
  • 8.3.2 添加服务器端路由支持
  • 8.3.3 使用Docker运行服务
  • 8.3.4 创建React UI
  • 8.3.5 添加导航
  • 8.4 小结
  • 习题
  • 延伸阅读
  • 第9章 使用Vue.js和TensorFlow.js进行图像识别
  • 9.1 技术需求
  • 9.2 机器学习及TensorFlow简介
  • 9.2.1 什么是机器学习
  • 9.2.2 TensorFlow及其与机器学习的关系
  • 9.3 项目概述
  • 9.4 开始在Vue中使用TensorFlow
  • 9.4.1 创建基于Vue的应用程序
  • 9.4.2 使用Vue模板显示主页
  • 9.4.3 修改HelloWorld组件来支持图像分类
  • 9.4.4 Vue应用程序的入口点
  • 9.4.5 添加姿势检测功能
  • 9.4.6 完成姿势检测组件
  • 9.5 小结
  • 习题
  • 延伸阅读
  • 第10章 构建ASP.NET Core音乐库
  • 10.1 技术需求
  • 10.2 ASP.NET Core MVC简介
  • 10.3 项目概述
  • 10.4 开始使用ASP.NET Core、C#和TypeScript创建一个音乐库
  • 10.4.1 使用Visual Studio创建ASP.NET Core应用程序
  • 10.4.2 理解应用程序结构
  • 10.4.3 创建一个Discogs模型
  • 10.4.4 关联控制器
  • 10.4.5 添加Index视图
  • 10.4.6 向应用程序添加TypeScript
  • 10.4.7 从ASP.NET调用TypeScript功能
  • 10.5 小结
  • 习题
  • 延伸阅读
  • 习题答案
展开全部

评分及书评

评分不足
1个评分
  • 用户头像
    给这本书评了
    3.0
    想知道TypeScript在实际项目中如何运用,就看这本

    1. 本书运用 TypeScript 语言,由浅入深展示了 9 个实际项目的案例,前端框架涉及 AngularReactVueBootstrapASP.ENT MVC,其他各类工具和技术栈涉及了 REST APIGraghQLDockerMongoDBFirebaseRxJSTensorFlow 以及 WebSocket 等,使用场景包括在线编辑器、图片查看器、CRM 系统、聊天室应用、地图应用、图像识别、音乐库等,内容十分丰富,也容易提高学习者兴趣。


    2. 正如书题所示,本书注重实战。作者灵活地将各种技术和工具与 TypeScript 语言结合,完成简单实用的小项目,建议每个项目的代码都实际敲一遍,这样对语言特性的掌握更为深刻。第一章总结了 TypeScript 的一些高级特性,在后续章节都会一一体现,实际的项目是学习一门语言的最佳途径。
    3. 本书不适合 TypeScript 的初学者,而是针对有一定开发和项目经验的朋友。在每个项目中,作者会给出需求分析和程序设计的思路,这其中就包含程序结构的规划,设计模式的选取以及最佳实践的分析。我认为这一点是需要学习者一边写代码一边着重体会的。每个项目完成后,可以自己写一个 Readme 文件,总结收获。
    4. 每个项目结束后,我认为可以留意作者出的几道思考题,看看如何改进程序。也可以自己提一些额外的需求,看是否可以实现,以加深对已有程序和技术的理解。在实际练习中我发现很多书中没有提到的问题,这都需要自己通过搜索和思考去解决,比如依赖版本更新引入的问题等等。
    5. 虽然本书涉及的内容很广泛,但都是需求简单的项目,每种技术也都使用了较为基本的功能,不能指望通过一本书掌握所有技术和工具,需要深入的话可以参考作者提供的资料链接。本书一个不足之处是没有在项目中涉及单元测试的代码,测试的重要性不必多说,养成习惯将受益无穷。
    总的来说这本书值得一读,代码值得一练,对前端应用感兴趣的朋友可以关注一下。

      转发
      评论

    出版方

    机械工业出版社有限公司

    机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。