零、前言
直到现在,创建交互式网页意味着使用 JavaScript。但是有了 Blazor,微软的新创造方式.NET web 应用,开发人员可以使用 C#轻松构建交互式和丰富的 web 应用。这本书将引导你通过最常见的场景,当你开始你的 Blazor 之旅。
首先,您将发现如何利用 Blazor 的功能,并了解如何利用服务器端和 WebAssembly。通过向您展示所有元素实际上是如何协同工作的,这本书将帮助您解决开发人员面临的一些常见障碍。随着学习的深入,您将学习如何创建服务器端 Blazor 和 Blazor WebAssembly 项目,Razor 语法如何工作,以及如何验证表单和创建自己的组件。然后,这本书向您介绍了使用 Blazor 进行网络开发所涉及的关键概念,您将能够立即将其付诸实践。
在本 Blazor 书的最后,您将获得创建和部署生产就绪 Blazor 应用的信心。
这本书是给谁的
这本书是为那些想要探索 Blazor 来学习如何构建动态 web UIs 的 web 开发人员和软件开发人员准备的。这本书假设熟悉 C#编程和 web 开发概念。
这本书涵盖了什么
第一章你好 Blazor ,将教你服务器端和客户端 Blazor 的区别。您将获得该技术如何工作的概述,以及 Blazor 来源的简史。了解托管模型之间的结构和差异对于理解技术至关重要。
第二章创建你的第一个 Blazor App ,帮助你了解如何安装和设置你的开发环境。您将创建第一个 Blazor 应用(服务器端和客户端),并了解项目模板的结构。
第三章介绍实体框架核心,教你如何创建你的数据库,你将在其中存储你的数据(博客文章、类别和标签)。您将使用 dotnet 工具创建一个新项目,以获得对该工具的感觉。
第四章了解基本 Blazor 组件,深入挖掘组件、生命周期事件、添加参数、组件间共享参数。在本章中,您还将创建可重用组件。
第 5 章创建高级 Blazor 组件更深入地挖掘组件,添加子组件、级联参数和值等功能,并介绍如何使用动作和回调。
第六章用验证构建表单,看一看表单,如何验证表单,如何构建自己的验证机制。本章将介绍处理表单时最常见的用例,如文件上传、文本、数字,以及勾选复选框时的触发代码。
第七章创建 API ,看一下创建 API。当使用 Blazor WebAssembly 时,我们需要一个 API 来获取数据。
第八章身份验证和授权,着眼于为 Blazor 添加身份验证和授权,确保重定向到登录页面等导航按预期工作。
第 9 章共享代码和资源,教你如何通过将你需要的所有东西添加到一个共享库中,在客户端和服务器端 Blazor 项目之间共享代码。在本章中,您将构建一个共享库,该库可以打包为一个 NuGet 包并与其他人共享。
第 10 章JavaScript Interop探讨了在使用 Blazor 时如何利用 JavaScript 库,从 C#调用 JavaScript。您还将了解 JavaScript 如何在我们的 Blazor 应用中调用 C#函数。
第 11 章管理状态探讨了管理状态(持久化数据)的不同方式,例如使用 LocalStorage 或者仅仅通过依赖注入将数据保存在内存中。您不仅将介绍数据库中的持久数据,还将介绍依赖注入如何在不同的项目类型上工作。
第 12 章调试,教你如何调试应用,添加扩展日志,弄清楚你的应用有什么问题。您不仅会看到传统的调试,还会看到直接从 web 浏览器中调试 C#代码。
第 13 章测试,着眼于自动化测试,这样你就可以确保你的组件正常工作(并继续这样做)。没有内置的方法来测试 Blazor 应用,但是有一个非常好的社区项目叫做 bUnit。
第 14 章部署到生产,将带您了解在生产中运行 Blazor 需要考虑的不同事情。
第 15 章从这里去哪里,是一个短章,有行动号召,有可以利用的资源,还有压轴。
为了充分利用这本书
我建议您阅读前几章,以确保您对 Blazor 的基本概念有所了解。我们正在创建的项目适合现实世界的使用,但有些部分被遗漏了,例如正确的错误处理。但是,您应该很好地掌握 Blazor 的构造块。
本书重点介绍使用 Visual Studio 2019 尽管如此,请随意使用任何支持 Blazor 的版本。
如果您正在使用本书的数字版本,我们建议您自己键入代码或通过 GitHub 存储库访问代码(下一节中提供了链接)。这样做将帮助您避免任何与复制和粘贴代码相关的潜在错误。
我很乐意让你在阅读这本书的时候或者在 Blazor 开发的时候分享你的进步。发推给我@EngstromJimmy
。
我希望你读这本书和我写这本书一样开心。
下载示例代码文件
可以从https://GitHub . com/packt publishing/Web-Development-with-Blazor下载本书的示例代码文件。如果代码有更新,它将在现有的 GitHub 存储库中更新。
我们还有来自 https://github.com/PacktPublishing/丰富的书籍和视频目录的其他代码包。看看他们!
下载彩色图片
我们还提供了一个 PDF 文件,其中包含本书中使用的截图/图表的彩色图像。可以在这里下载:https://static . packt-cdn . com/downloads/9781800208728 _ color images . pdf。
使用的约定
本书通篇使用了许多文本约定。
Code in text
:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟网址、用户输入和推特句柄。这里有一个例子:“在这种情况下,当页面被下载时,它将触发blazor.webassembly.js
文件的下载。”
代码块设置如下:
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSingleton<WeatherForecastService>();
}
当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:
<div class="top-row pl-4 navbar navbar-dark">
<a class="navbar-brand" href="">MyBlogServerSide</a>
<button class="navbar-toggler"
@onclick="ToggleNavMenu">
任何命令行输入或输出都编写如下:
dotnet new blazorserver -o BlazorServerSideApp
cd MyBlog.Data
粗体:表示一个新的术语、一个重要的单词或者你在屏幕上看到的单词。例如,菜单或对话框中的单词像这样出现在文本中。这里有一个例子:“从管理面板选择系统信息
提示或重要注意事项
像这样出现。
取得联系
我们随时欢迎读者的反馈。
一般反馈:如果您对本书的任何方面有疑问,请在留言主题中提及书名,并通过customercare@packtpub.com发邮件给我们。
勘误表:虽然我们已经尽了最大的努力来保证内容的准确性,但是错误还是会发生。如果你在这本书里发现了一个错误,如果你能向我们报告,我们将不胜感激。请访问www.packtpub.com/support/errata,选择您的图书,点击勘误表提交链接,并输入详细信息。
盗版:如果您在互联网上遇到任何形式的我们作品的非法拷贝,如果您能提供我们的位置地址或网站名称,我们将不胜感激。请联系我们在copyright@packt.com与材料的链接。
如果你有兴趣成为一名作者:如果有一个你有专长的话题,你有兴趣写或者投稿一本书,请访问authors.packtpub.com。
分享你的想法
一旦你阅读了Blazor 的网络开发,我们很想听听你的想法!扫描下面的二维码,直接进入这本书的亚马逊评论页面,分享你的反馈。
https://www.amazon.in/review/create-review/error?asin=1-800-20872-3 &
您的评论对我们和技术社区非常重要,将帮助我们确保提供优质内容。
版权属于:月萌API www.moonapi.com,转载请注明出处