Giter VIP home page Giter VIP logo

fb4d's Introduction

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. Four example applications and a Getting-Started on the wiki will help you to start working with the library. For more detailed questions, the interface reference will provide the answers you need.

You can find more learning videos on the following YouTube channel.

Major Change log

This log informs about interface changes and important library enhancements that need the attention of users of this library.

  • 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
    New option in FB4D.SelfRegistrationFra framework to support enter display name and upload profile image when registering a new user. see more details
    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.
    A new listener detects changes within the Firestore Database without pooling. See more details.

Prerequisites

๐Ÿ”บ This library requires at least Delphi 10.3 Rio Update 2 ๐Ÿ”บ.

The sample projects are developed and prepared for Delphi 11.0 Alexandria.

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.

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

Limitation on Android for VisionML

AnnotateFile is limited to pdf only, as gif support does not work due 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 currently 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.

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

fb4d's People

Contributors

schneiderinfosystems avatar dependabot[bot] avatar christophschneidertrihow avatar rafaelwerner avatar arvanus avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.