# FB4D â The OpenSource Cross-Platform Library for _Firebase_
The _Google Firebase Cloud Database_ is used in many mobile and web applications worldwide and there are well-documented libraries for many languages and platforms. For Delphi, the cross-platform library **FB4D** supports the _Firestore Database_, the _Firebase Realtime Database_, the _Firebase Storage_ (for file storage), _Firebase Functions_ (for calling server functions), and _Vision ML_. For authentication, **FB4D** currently supports email/password authentication and anonymous login.
The library builds on the _Firebase REST-API_ and provides all functionality with synchronous and asynchronous methods for the usage within GUI application, services and background threads. Both frameworks _VCL_ and _Firemonkey_ are supported. The library is a pure source code library and relies on class interfaces. For clean and short application code it supports fluent interface design.
### Wiki
This project offers a [wiki](https://github.com/SchneiderInfosystems/FB4D/wiki). Seven cross platform example applications based on Firemonkey and three VCL sample applications and a [Getting-Started](https://github.com/SchneiderInfosystems/FB4D/wiki/Getting-Started-with-FB4D) on the wiki will help you to start working with the library. For more detailed questions, the [interface reference](https://github.com/SchneiderInfosystems/FB4D/wiki/FB4D-Interface-Reference) will provide the answers you need.
You can find more learning videos on the following [YouTube channel](https://www.youtube.com/channel/UC3qSIUzdGqoZA8hcA31X0Og).
### Major Change log
This log informs about interface changes and important library enhancements that need the attention of users of this library.
- August 2024: Refactoring and many improvements in DemoFB4D
- June 2024: Adding _TOTDMapperOptions_ to control the behavior of the Object-To-Doc mapper. The simple FMX demo application FSObj2Doc demonstrates the Object-To-Document Mapper and has been added to the FB4D Samples project group. Add _IFirestoreWriteTransaction.TransformDoc_ for SetServerTime, Increment, Maximum, Minimum.
- December 2023: The Object to Document Mapper lets you quickly sync your Pascal objects to the Firestore database by deriving your own class from _TFirestoreDocument_ and adding member variables. All member variables are automatically written to the document and read from the document. The sample application FSObj2Doc demonstrates the functionality
- October 2023: Firestore database write transaction supports delete document too. The new Auth_SelfReg_VCL demo application explains all options of the self registration workflow.
- June 2023: Firestore database supports write transactions
- October 2022: Interface for ML Vision service added
- October 2021: Prepared for Delphi Alexandria
- April 7, 2021: Revised RT DB Listener
- March 2021: New optional cache to accelerate the repeated access to storage objects. Additional _IFirebaseStorage.GetAndDownload_ method in order to simplify the download from the storage. [See more details](https://github.com/SchneiderInfosystems/FB4D/wiki/FB4D-Reference-IFirebaseStorage#optional-cache-for-storage-objects)
New option in _FB4D.SelfRegistrationFra_ framework to support enter display name and upload profile image when registering a new user. [see more details](https://github.com/SchneiderInfosystems/FB4D/wiki/Self-Registration-Workflow#optional-user-profile-image)
Real Time Database creation has changed within the Firebase Console. The Firebase ID is no longer sufficient to access newly created RT DBs. A Firebase URL is now required, which can also include the server location. [See more details](https://github.com/SchneiderInfosystems/FB4D/wiki/FB4D-Reference-IRealTimeDB#create-an-instance-for-the-interface-irealtimedb).
A new listener detects changes within the Firestore Database without pooling. [See more details](https://github.com/SchneiderInfosystems/FB4D/wiki/FB4D-Reference-IFirestoreDatabase#firestore-listener).
### Prerequisites
The sample projects are developed and prepared for **Delphi 12.0 Athens**.
ðº This library requires at least **Delphi 10.3 Rio Update 2** ðº.
#### Hint: Support from Delphi 10 Seattle to Delphi 10.2 Tokyo has been discontinued since the introduction of the Firestore Listener in March 2021. Delphi 10.3 Update 1 and earlier version are no longer supported because of an issue in the RTL.
Delphi is a registered trademark of [Embarcadero Technologies, Inc](https://www.embarcadero.com/de/products/delphi).
### Supported Platforms
**FB4D** is developed in pure object pascal and can be used with _Firemonkey_ on all supported platforms. The library and its sample projects are currently tested with Win64/Win32, Mac64/32, Linux64 by using FMXLinux, iOS64 and Android. (Hint to mobile platforms: The TokenJWT to perform the token verification requires the installation of the OpenSSL libraries). For more information about using OpenSSL see the [installation of OpenSSL](https://github.com/SchneiderInfosystems/FB4D/wiki/Getting-Started-with-FB4D#install-openssl)
#### Limitation on Android for VisionML
AnnotateFile is limited to pdf only, as gif support does not work due [RSP-17682](https://quality.embarcadero.com/browse/RSP-17682), and the tif image format is not yet supported.
#### Limitation on iOS for VisionML
AnnotateFile is limited to pdf only, as the gif and tif image format is not yet supported by FMX.Graphics. You cannot convert an TBitmap to one of the image formats required by VisionML with the standard library.
#### Limitation on Linux64
There are no restrictions when using Delphi 11 Alexandria.
For older versions up to 10.4.2, you must note the following RSP: Due to a bug in the Linux RTL, all HTTP requests that transfer data to the server by using the _Patch_ method are not working. _Put_ and _Post_ methods work. This affects the Realtime DB method _Patch_ and the Firestore method _InsertOrUpdateDocument_ for both synchronous and asynchronous accesses. [For more information see RSP-33177](https://quality.embarcadero.com/browse/RSP-33177).
### Submodules
For authorization token verification and token content extraction this library uses the Delphi JOSE JWT library. Thank you, Paolo Rossi for your great library!
https://github.com/paolo-rossi/delphi-jose-jwt
![Logo FB4D](https://github.com/SchneiderInfosystems/FB4D/wiki/logoFB4D.png)
没有合适的资源?快使用搜索试试~ 我知道了~
delphi 12 控件之FB4D – The OpenSource Cross-Platform Library for Fi...
共175个文件
pas:57个
fmx:25个
dproj:14个
需积分: 5 0 下载量 59 浏览量
2024-11-20
19:04:40
上传
评论
收藏 1.55MB ZIP 举报
温馨提示
FB4D – The OpenSource Cross-Platform Library for FirebaseFB4D-master.zip
资源推荐
资源详情
资源评论
收起资源包目录
delphi 12 控件之FB4D – The OpenSource Cross-Platform Library for FirebaseFB4D-master.zip (175个子文件)
BuildDe12.bat 344B
BuildDe11.bat 344B
BuildDe10.bat 344B
BuildAndRun.bat 258B
CloudClipBoard.deployproj 19KB
Obj2DocTest.dfm 12KB
MainFrm.dfm 8KB
FB4D.VCL.PerUserReadWrite.dfm 7KB
FB4D.SelfRegistrationFra.dfm 5KB
DemoFB4D.dpr 3KB
FSSimpleChat.dpr 3KB
FSObj2Doc_VCL.dpr 3KB
CloudClipBoard.dpr 3KB
FB4D.IntegrationTests.dpr 3KB
RTDB_PerUserReadWrite_VCL.dpr 2KB
RTDB_PerUserReadWrite.dpr 2KB
RTDB_SimpleReadWrite.dpr 2KB
FSObj2Doc.dpr 2KB
PhotoBox.dpr 519B
Auth_SelfReg_VCL.dpr 422B
PhotoBox2.dpr 413B
PhotoBox1.dpr 413B
PhotoBox3.dpr 413B
PhotoBox2.dproj 101KB
PhotoBox1.dproj 101KB
PhotoBox3.dproj 101KB
PhotoBox.dproj 93KB
DemoFB4D.dproj 92KB
CloudClipBoard.dproj 91KB
RTDB_PerUserReadWrite.dproj 89KB
FSSimpleChat.dproj 87KB
RTDB_SimpleReadWrite.dproj 84KB
FB4D.IntegrationTests.dproj 63KB
FSObj2Doc_VCL.dproj 58KB
Auth_SelfReg_VCL.dproj 58KB
RTDB_PerUserReadWrite_VCL.dproj 57KB
FSObj2Doc.dproj 19KB
.firebaserc 49B
ChatMainFmx.fmx 63KB
FB4D.DemoFmx.fmx 47KB
ChatMainFmx.LgXhdpiPh.fmx 40KB
FB4D.RTDBFra.fmx 30KB
FB4D.FirestoreFra.fmx 28KB
MainFmx.fmx 17KB
FB4D.SelfRegistrationFra.fmx 15KB
FB4D.VisionMLFra.fmx 13KB
FB4D.AuthFra.fmx 12KB
PhotoBoxMainFmx.fmx 12KB
PhotoBoxMainFmx3.fmx 11KB
PhotoBoxMainFmx2.fmx 10KB
MainFmx.LgXhdpiPh.fmx 9KB
PhotoBoxMainFmx1.fmx 7KB
MainFmx.iPhone55in.fmx 6KB
FB4D.StorageFra.fmx 6KB
Obj2DocTest.fmx 6KB
FB4D.FunctionsFra.fmx 6KB
FB4D.PerUserReadWrite.fmx 5KB
MainFmx.Macintosh.fmx 2KB
CameraCaptureFra2.fmx 2KB
CameraCaptureFra1.fmx 2KB
CameraCaptureFra3.fmx 2KB
CameraCaptureFra.fmx 2KB
FB4D.SimpleRTDBMainFmx.fmx 2KB
.gitignore 2KB
.gitignore 1KB
.gitignore 69B
.gitignore 13B
.gitignore 12B
.gitmodules 107B
FB4D Samples.groupproj 5KB
PhotoBoxDevelopmentSteps.groupproj 3KB
FB4D Samples VCL.groupproj 3KB
FBConfig.inc 371B
LinuxTypeDecl.inc 279B
LinuxTypeImpl.inc 199B
FB4DVersion.inc 180B
index.js 734B
package-lock.json 232KB
.eslintrc.json 4KB
package.json 607B
boss.json 297B
firebase.json 125B
package-lock.json 89B
package.json 3B
LICENSE 11KB
README.md 6KB
CONTRIBUTING.md 2KB
bug_report.md 799B
feature_request.md 560B
FB4D.VisionMLDefinition.pas 64KB
FB4D.Document.pas 63KB
FB4D.Helpers.pas 62KB
FB4D.Authentication.pas 57KB
FB4D.Firestore.pas 56KB
FB4D.Interfaces.pas 50KB
FB4D.FireStore.Listener.pas 39KB
FirestoreDB.pas 36KB
FB4D.Storage.pas 34KB
FB4D.FirestoreFra.pas 33KB
ChatMainFmx.pas 27KB
共 175 条
- 1
- 2
资源评论
tjsoft
- 粉丝: 318
- 资源: 599
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功