我最近一直在研究技术堆栈,我可以将其用于我正在考虑为我的最后一年项目开发的新Web应用程序。
FEAN堆栈或Firebase,Express,AngularJS和Node.js堆栈最近引起了我的注意,我想知道其他开发人员如何使用这个技术堆栈?如果在我开始之前你有任何意见/想法/建议吗?
我知道这只是MEAN堆栈的一个变体,但是考虑到Firebase的用户身份验证服务,我认为它可能是我应用程序的更好的套件。
答案 0 :(得分:3)
是的,FEAN堆栈绝对可行。 Firebase确实可以完全取代MongoDB。这当然取决于你的需求。
' F'在FEAN实际上为您提供了两个选项:实时数据库或Cloud Firestore。两者之间存在显着差异,因此我建议对这些进行研究。它们将影响性能(和成本,如果你转换到付费计划,下线)。存在过度简化的风险,实时数据库相对简单且有限,而Firestore则试图将MongoDB的复杂查询语言和组织模拟为集合。
更多资源:
1)https://firebase.google.com/docs/firestore/rtdb-vs-firestore
2)https://savvyapps.com/blog/firebase-realtime-database-vs-cloud-firestore-for-your-app
另请注意,MongoDB和Firebase数据库不是互斥的。
在我的一个应用程序中,例如,我并排使用这两个应用程序。我有一个Mongo Cloud Atlas部署,并通过Firebase函数对其进行API调用。因此,堆栈的E和N部分都可以由Firebase函数处理。观看他们的官方视频了解更多详情:Node.js apps on Firebase Hosting Crash Course。
如果您想使用无服务器架构路由,可以非常轻松地设置以下堆栈:
F: Firebase Cloud Firestore OR Firebase Realtime Database
E: Express app hosted on Firebase Functions
A: Angular front-end using AngularFire2 package
N: Node app hosted on Firebase Functions
我认为您会发现所有这些组件都很好地集成在一起。
就我而言,我正在运行MFEAN堆栈。我在我的实时数据库中缓存Mongo查询的处理结果。这样,我就不必一遍又一遍地调用我的MongoDB来处理常见请求。我可以通过我的Firebase Realtime DB提供服务,这很快就疯了。
答案 1 :(得分:0)
坚持标准(W3C或事实上的标准),特别是开始。从LAMP堆栈开始 - Apache,MySQL和PHP。
如果您使用Firebase,则无需使用Express / Angular / Node。 Firebase Hosting将为您提供文件。 Firebase身份验证启用身份验证和授权。如果您需要会计或其他数据存储需求,Firebase Firestore是您的数据库。
无论如何,请使用基于标准的JavaScript,CSS和HTML。