搜索
首页web前端css教程火箱速成课程

火箱速成课程

该前端开发人员指南揭开了火底的奥秘。我们将探讨Firebase的功能,其好处和实际例子。但是首先,简短的历史...

八年前,安德鲁·李(Andrew Lee)和詹姆斯·坦普林(James Tamplin)推出了一家实时聊天创业公司Envolve。 Ricky Martin和Limp Bizkit等名人用户的推动,其成功源于其易用性和快速消息传递。 Envolve是一个简单的聊天小部件 - 添加到处理所有内容的页面上的脚本标签。它有效地为聊天消息提供了预制的数据库和服务器。

随着Envolve的发展,出现了一个令人惊讶的趋势:开发人员不仅在聊天,而且是出于各种目的(game数据,高分,高分,应用程序设置等)使用的(通常是看不见的)小部件。他们利用小部件的实时功能来实现无缝数据同步,绕开了对复杂的后端开发的需求。

这种顿悟导致了火基的创建。创始人设想了一个平台,使开发人员能够迅速构建和扩展应用程序,从而消除了后端基础设施的负担,并允许他们专注于前端。

了解火池

firebase只是一个数据库吗?并非完全。虽然最初是一个实时云数据库,但Firebase已演变为一个全面的平台,涵盖了开发人员的基础架构和营销人员工具。目前,它拥有19种集成产品,每种产品旨在支持应用程序开发的特定方面,并为应用程序性能和用户行为提供宝贵的见解。这些产品可以单独或集体使用以形成完整的后端解决方案。

这是对Firebase的各种产品的一瞥:

  • 托管:每个github拉的请求都轻松部署网站更新。
  • Firestore:无服务器管理的实时数据库功能,甚至离线。
  • Auth:使用各种提供商的用户身份验证和管理。
  • 存储:用于用户生成的内容的安全存储(图像,视频等)。
  • 云功能:由事件(数据创建,用户注册等)触发的无服务器功能。
  • 扩展:带有用户界面的预构建功能(例如,条纹付款,翻译服务)。
  • Google Analytics(分析):全面的用户活动跟踪和分析。
  • 远程配置:用于功能标志和A/B测试的动态键值存储。
  • 性能监控:详细的性能指标和自定义痕迹。
  • 云消息传递:跨平台推送通知。

这只是Firebase功能的一小部分。您无需使用每种服务;为您的项目选择相关工具是完全可以接受的。让我们深入研究实际应用。

以下各节将指导您设置Firebase并使用嵌入式示例演示其功能。这是一个高级概述,而不是分步教程。有关详细的教程,请发表评论!

设置firebase

如果您打算将演示应用程序与自己的Firebase后端集成在一起,则本节至关重要。如果您熟悉Firebase项目,请跳过此问题。

Firebase是基于云的,需要初始帐户设置。但是,使用本地模拟器可能会脱机开发。本指南使用Codepen,需要建立云连接。该过程涉及创建一个燃料项目,并检索用于前端集成的必要配置。

创建一个firebase项目

导航到火箱控制台。您现在可以跳过Google Analytics(分析)设置。

创建Web Firebase应用程序

创建一个新的Web应用程序并为其分配一个名称。火箱项目可以包含多个应用程序。创建后,您将收到一个配置对象:

令Firebaseconfig = {
  Apikey:“你的钥匙”,
  Authdomain:“您的domain.firebaseapp.com”,
  ProjectID:“您的项目”,
  储藏室:“ your-projectid.appspot.com”,
  Messagingsenderid:“ your-senderid”,
  appid:“ your-appid”,
  测量值:“您的测量”
};

这种配置将您的前端连接到火底。在您的前端代码中包括这些属性是安全的。安全机制将在稍后解释。

现在,让我们以代码表示此应用。该应用程序充当跨火基服务的共享逻辑和身份验证的容器。我们将使用来自CDN的Firebase库(尽管也支持模块捆绑器)。

 //这支笔通过codepen中的“添加外部脚本”选项添加firebase
// https://www.gstatic.com/firebasejs/8.2.10/firebase-app.js
// https://www.gstatic.com/firebasejs/8.2.10/firebase-auth.js

//在Firebase控制台上创建一个项目
//(console.firebase.google.com)
令Firebaseconfig = {
  Apikey:“你的钥匙”,
  Authdomain:“您的domain.firebaseapp.com”,
  ProjectID:“您的项目”,
  储藏室:“ your-projectid.appspot.com”,
  Messagingsenderid:“ your-senderid”,
  appid:“ your-appid”,
  测量值:“您的测量”
};

//创建您的Firebase应用程序
让FirebaseApp = firebase.Initializeapp(firbaseconfig);
// auth实例
console.log(firebaseapp.auth());

接下来,启用所需的壁垒服务。

启用身份验证提供商

这些示例利用身份验证用于用户登录和数据安全。最初,出于安全原因,身份验证提供商被禁用。在“身份验证”选项卡中启用Google和匿名登录方法。请记住,将Codepen添加为用于测试目的的授权域(但在生产中删除)。

创建Firestore数据库

在“测试模式”中创建Firestore数据库。安全将稍后解决。

现在,让我们探索现实世界中的用例。

用户身份验证

应用功能通常需要用户帐户。让我们探索匿名身份验证和Google登录。

匿名身份验证

Firebase的匿名身份验证允许用户无需注册即可访问该应用程序,从而为数据关联提供了临时用户ID。

(代码示例演示匿名登录和配置文件更新,以简短省略)

Google身份验证

Google登录与匿名身份验证相似。

(为简短而省略的Google登录的代码示例)

监视身份验证状态

onAuthStateChanged方法跟踪身份验证的更改,从而根据登录状态启用UI更新。

(为简短而省略了onAuthStateChanged代码示例)

将客人转换为永久用户

使用linkWithRedirect可以将访客帐户升级到永久帐户。

(代码示例演示为简洁而省略的帐户的示例)

处理帐户合并错误

在帐户合并期间,错误处理至关重要。

(代码示例说明省略了错误处理的代码)

数据可视化和实时数据流

本节重点是创建饼图并将其与Firestore数据同步。

(为简洁而省略的圆锥级别和CSS自定义属性的说明)

(代码示例演示Firestore数据检索和饼图更新省略了)

NOSQL数据库中的数据建模

Firestore是一个NOSQL文档数据库,具有收集和文档的层次结构。数据建模涉及使用收集和子收集有效地构建数据。

(证明firestore数据检索和查询的代码示例为简洁而省略)

将数据流到可视化

Firestore的.onSnapshot()方法启用实时数据流。

(代码示例演示了为简洁而省略的实时数据流的代码)

使用Firebase安全规则保护数据库

安全规则控制Firebase中的数据访问。它们在服务器上以每个请求进行评估。

(说明安全规则和为简洁而省略的示例)

结论

本指南涵盖了使用Firebase的用户身份验证,数据建模,实时数据同步和数据库安全性。请记住要探索其他壁炉资源以进行进一步学习。 Firebase简化了后端管理,使开发人员可以专注于前端。

以上是火箱速成课程的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
锚定位只是不关心来源订单锚定位只是不关心来源订单Apr 29, 2025 am 09:37 AM

锚定定位避开HTML源顺序的事实是如此css-y,因为它在内容和演示文稿之间的另一个关注点分离。

保证金是什么:40px 100px 120px 80px表示?保证金是什么:40px 100px 120px 80px表示?Apr 28, 2025 pm 05:31 PM

文章讨论了CSS保证金属性,特别是“保证金:40px 100px 120px 80px”,其应用程序以及对网页布局的影响。

什么是不同的CSS边框特性?什么是不同的CSS边框特性?Apr 28, 2025 pm 05:30 PM

本文讨论了CSS边境属性,重点是自定义,最佳实践和响应能力。主要论点:边境 - 拉迪乌斯(Border-Radius)对响应式设计最有效。

什么是CSS背景,列出属性?什么是CSS背景,列出属性?Apr 28, 2025 pm 05:29 PM

本文讨论了CSS背景属性,它们在增强网站设计方面的用途以及避免的常见错误。重点是使用背景大小的响应式设计。

什么是CSS HSL颜色?什么是CSS HSL颜色?Apr 28, 2025 pm 05:28 PM

文章讨论了CSS HSL颜色,其在网络设计中的使用以及比RGB的优势。主要重点是通过直观的颜色操纵来增强设计和可访问性。

我们如何在CSS中添加评论?我们如何在CSS中添加评论?Apr 28, 2025 pm 05:27 PM

本文讨论了CSS中评论的使用,详细介绍了单线和多行评论语法。它认为注释可以增强代码可读性,可维护性和协作,但如果无法正确管理,可能会影响网站性能。

什么是CSS选择器?什么是CSS选择器?Apr 28, 2025 pm 05:26 PM

本文讨论了CSS选择器,其类型和用于造型HTML元素的用法。它比较ID和类选择器,并与复杂的选择器解决性能问题。

哪种类型的CSS持有最高优先级?哪种类型的CSS持有最高优先级?Apr 28, 2025 pm 05:25 PM

本文讨论了CSS优先级,重点是具有最高特异性的内联风格。它解释了特异性级别,覆盖方法和用于管理CSS冲突的工具。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能