Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FlutterFire Desktop Roadmap 2022 #52

Open
pr-Mais opened this issue Mar 8, 2022 · 42 comments
Open

FlutterFire Desktop Roadmap 2022 #52

pr-Mais opened this issue Mar 8, 2022 · 42 comments

Comments

@pr-Mais
Copy link
Contributor

pr-Mais commented Mar 8, 2022

Hello everyone! 👋

We heard you're excited about the FlutterFire Desktop support!
Therefore, we're sharing a tentative roadmap for our plan in 2022 to continue developing FlutterFire on Desktop platforms. 🚧

The Desktop packages for FlutterFire are built over the REST APIs of Firebase using Dart, and it adds support by extending the original FlutterFire platform interface for Windows, Linux, and macOS. The goal is to enable smooth support without much effort needed from developers.

Our implementation for each package is split into 2 packages:

  1. The Dart package, implementing an API similar to FlutterFire without dependency on Flutter, can be used alone to build Dart apps.
  2. The Desktop package that uses the Dart package and implements all methods in the original package's platform interface.

Roadmap for FlutterFire Desktop in 2022

These plugins are stable:

  1. 🟢 Core
    Status: stable
  2. 🟢 Authentication
    Status: stable

These plugins are currently in-progress:

  1. 🟠 Cloud Functions
    Status: beta
  2. 🟡 Remote Config
    Status: in progress
  3. 🟡 Cloud Storage
    Status: in progress

These plugins are planned once all preview plugins are shipped:

  1. 🔴 Installations
    Status: not started
  2. 🔴 Analytics
    Status: not started

This issue will be updated regularly to reflect the current state and any future plans.


Announcements ✨

  1. Announcing stable FlutterFire Auth for Desktop
  2. Announcing FlutterFire for Desktop (Preview)
@cbenhagen
Copy link

Thank you! I am not sure how others would prioritise the plugins but for us certainly the firestore plugin would be the most important. We can easily live withouth remote config or analytics but without a database our app is quite useless. Please consider to give it more priority.

@pr-Mais
Copy link
Contributor Author

pr-Mais commented Mar 17, 2022

The reason we didn’t include Firestore or Realtime Database is that Core & Auth are still in preview. They both are essential to most other packages. We’re not sure how much they’re ready until we try them with other packages. Therefore, we decided to implement smaller ones such as Remote Config and Analytics. This will help us get Core & Auth into stable before starting with Firestore.

@eximius313
Copy link

I'd love to see Firestore capabilities (even in alpha stage, just for simple queries)

@filipenanclarez
Copy link

filipenanclarez commented Apr 24, 2022

I really really really need authentication works in windows, android and ios. Currently not works on windows ( see #49 #65 #68 )

Really waiting for it.

@Mufaddal1125
Copy link

Mufaddal1125 commented May 17, 2022

Will firebase messaging be possible for desktop?

@MousyBusiness
Copy link

Hi team, from what I can tell, the auth redirect is using localhost with http (unencrypted), meaning the refresh token is unencrypted on the local network. My understanding is that this is a deficiency in auth code flow which is accounted for in android and ios by using a special backend.
Is it your understanding that this is the case? Local network traffic could be sniffed for the refresh token?
If so, historically I've used a cloud function with Firestore to securely return this result, is there possibility for a hardened solution on this front?

@hwkim1127
Copy link

really hope realtime database and cloud firestore to be released soon :'(

@ghost
Copy link

ghost commented Jun 11, 2022

cloud Desktop

@eldarkk
Copy link

eldarkk commented Jun 19, 2022

hope for cloud firestore with offline mode

@hpoul
Copy link

hpoul commented Jun 26, 2022

2. 🔴 Analytics

I'm quite interested in the Analytics functionality. Out of curiosity, do you know of any API documentation? The only one I found was the measurement protocol https://developers.google.com/analytics/devguides/collection/protocol/ga4 which is explicitly "not to replace" the native libraries but to "augment" them.

In particular it requires a `app_instance_id` which can only be retrieved by the official SDKs.

https://developers.google.com/analytics/devguides/collection/protocol/ga4/sending-events?client_type=firebase#required_parameters

Screen Shot 2022-06-26 at 12 20 21

@eximius313
Copy link

Are there any estimated dates regarding the roadmap?

@oliverbytes
Copy link

I can't wait for this to see a working Firestore and Remote Config soon

@rohitsangwan01
Copy link

Any plan for Firebase Database ?

@pr-Mais
Copy link
Contributor Author

pr-Mais commented Jul 12, 2022

The work on RC is in-progress, but there's no plan, at least in the meantime, for Firestore or Database. This could change anytime in the near future.

@pr-Mais
Copy link
Contributor Author

pr-Mais commented Jul 12, 2022

  1. 🔴 Analytics

I'm quite interested in the Analytics functionality. Out of curiosity, do you know of any API documentation? The only one I found was the measurement protocol developers.google.com/analytics/devguides/collection/protocol/ga4 which is explicitly "not to replace" the native libraries but to "augment" them.

In particular it requires a app_instance_id which can only be retrieved by the official SDKs.
developers.google.com/analytics/devguides/collection/protocol/ga4/sending-events?client_type=firebase#required_parameters

Screen Shot 2022-06-26 at 12 20 21

I haven't yet looked deeper into Analytics, but we're going to use the Discovery API (see here) as with most of the plugins, this means we're trying to mimic the official SDKs (particularly the JS SDK). Regarding the app_instance_id, this can be retrieved using FirebaseInstallations API, which is why Analytics is on-hold until Installations is implemented, there's a current PR for installations.

@cbenhagen
Copy link

@pr-Mais Thanks for the update! Judging from the git commits it looked as if the project was abandoned. Apart from some small changes there hasen't been any progress in a long time. Can you share some insights why this might change in the near future?

Please don't get me wrong, I am very happy that you work on this and most likely there are just so many other things to do and only a limited amount of hours in the day. So how can we support you to get more resources for this project? Would it help to write to the Firebase support team? We already make sure to mention this project in every Flutter survey in the hope that Google might one day see the value of supporting Firebase on desktop and maybe sponsor some development.

@pr-Mais
Copy link
Contributor Author

pr-Mais commented Jul 12, 2022

@cbenhagen oh no it's not abandoned! as you said, there is so much on our plate, but this project will definitely keep moving forward!

For how can anyone help, we warmly welcome contributors!
As an inspiration @TimWhiting has already contributed by working on a whole package, thanks to him we have Firebase Functions currently in beta.

@Epikur86
Copy link

Thank you for your work so far. I just wonder why this package is not done but the Flutter/Firebase Team itself?

@TimWhiting
Copy link
Collaborator

I've been using the firebase_dart package https://pub.dev/packages/firebase_dart until flutterfire_desktop supports a database.

@MiniSuperDev
Copy link

hi, i need to use firestore on windows/linux, is there already any plan to add it to the roadmap?

And while they implement it is there any way to connect to firestore? I use https://pub.dev/packages/firebase_dart but it only supports realtime database.

@nickcuypers
Copy link

just use the api, i'm not sure on firestore but I use for example the realtime database api directly for my windows app.
I know a package would be better and cleaner but for now It gets the thing done.

I'm more interested in FirebaseInstallations and Analytics because there is no working alternative i've found for those atm

@WH-Creations
Copy link

Is this project abandoned?

@nickcuypers
Copy link

read the comment on 12 Jul, so I don't think so but the development is going slow sadly

@wiedymi
Copy link

wiedymi commented Oct 30, 2022

Any updates on this topic?

@cbenhagen
Copy link

There hasn't been any progress on this project for more than 6 months already.

@pr-Mais May I suggest to team up with @rbellens who is the author of firebase_dart? He recently mentioned to be looking for funding so he can work more on his project. Maybe the two projects could be merged? I am sure funding could be organized with some help of Google, Invertase, Canonical or others!

@syeds-git
Copy link

syeds-git commented Dec 2, 2022

I tried this today but was unable to add auth due to a dependency mismatch.

Because firebase_auth_desktop <0.1.1-dev.1 depends on firebase_core ^1.8.0 and firebase_auth_desktop >=0.1.1-dev.1 <0.1.1-dev.4 depends on firebase_core ^1.10.0, firebase_auth_desktop <0.1.1-dev.4 requires firebase_core ^1.8.0.
And because firebase_auth_desktop >=0.1.1-dev.4 <1.0.1 depends on firebase_core ^1.12.0, firebase_auth_desktop <1.0.1 requires firebase_core ^1.8.0.
And because firebase_auth_desktop >=1.0.1 <1.0.2 depends on firebase_core ^1.19.1 and firebase_auth_desktop >=1.0.2 depends on firebase_core ^1.20.0, every version of firebase_auth_desktop requires firebase_core ^1.8.0.
So, because MY-APP depends on both firebase_core ^2.3.0 and firebase_auth_desktop any, version solving failed.

Does this mean I must downgrade firebase_core to 1.20.0 ?

@cbenhagen
Copy link

@pr-Mais did you see my comment?

@cbenhagen
Copy link

Maybe @Ehesp or @Salakar could share some insight?

@rbellens
Copy link

rbellens commented Jan 2, 2023

I could probably quite easily create some federated packages for the realtime database and cloud storage (and auth), but as I will not use it for my own projects (I use firebase_dart for backend and flutter, android, ios, web, desktop), I will not do it without some funding.

@lesnitsky
Copy link
Contributor

Hi everyone 👋 I'm excited to share that I'm working on adding support for firebase_storage to the flutterfire_destkop package family! It will support dart-only (CLI or server), Windows, and Linux apps. Some functionality might be unavailable due to dart's HTTP layer limitations.

@cbenhagen
Copy link

@lesnitsky great to hear that!

@rbellens please join the discussion in https://discord.com/channels/295953187817521152/1059855806683676702 ;)

@iampopal
Copy link

We need:
Remote Config and Analytics,
is it possible to say how much time it will take?

@dardison
Copy link

We really need firestore support for windows, any idea when this will be available? It seems it don't even started, but not sure.

@Danilz-2706
Copy link

Danilz-2706 commented Mar 27, 2023

firebase_auth_desktop has version conflict with flutter version with some current firebase packages. I've downgraded the other packages and still get many errors.

@Scylla2020
Copy link

If anyone really needs firestore on desktop I recommend implementing it in C# as it supports it. I had a flutter desktop app that needed firestore so I implemented the firestore on c#, then set it a service so that its always on and auto starts when computer turns on, then linked everything to my app.

@cbenhagen
Copy link

@Ehesp as previosly mentioned, development of this package has been so slow due to the lack of funding. Samsung puts a lot of effort in their flutter-tizen project. Maybe they could be convinced to sponsor some of this work? Invertase could offer help here: flutter-tizen/flutter-tizen#353

@marb2000 / @puf do you have any news on the plans Google has for officially supporting Firebase on other Desktop platforms than macOS? Already partial support for the most important plugins like Firestore / Realtime Database would help a lot.

@moshOntong-IT
Copy link

How about the firebase crashlytics in windows?

@asaarnak
Copy link

Good to see that Firebase is doing full dart version for Linux and Windows.
Hopefully in future all platforms could be included with on dependency.
Amplify has just finished full rewrite from native sdk wrappers to dart supporting all platforms: https://pub.dev/packages/amplify_flutter/changelog#:~:text=full%20rewrite%20of%20the%20Amplify%20libraries%20in%20Dart

@cbenhagen
Copy link

@everyone please show your support for Flutter / Firebase on Desktop by upvoting this idea. Thanks!

@Levi-Lesches
Copy link

I have a question for the devs: is there a technical reason that the pure Dart implementations are separated from the desktop plugins? Wouldn't the pure Dart versions run on all platforms? Is speed and performance a limitation? Because if the team is looking to free up some bandwidth, focusing on just one version of all the packages could help.

@worldwidee
Copy link

Has this project been abandoned? Will we still not be able to use firestore on windows in 2025?

@hwkim1127
Copy link

Has this project been abandoned? Will we still not be able to use firestore on windows in 2025?

Ask for feature request in below link.
https://firebase.google.com/support/troubleshooter/report/features

And support this idea.
https://firebase.uservoice.com/forums/948424-general/suggestions/46591750-desktop-windows-linux-macos-support-for-flutte

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests