aws-amplify / amplify-flutter

A declarative library with an easy-to-use interface for building Flutter applications on AWS.
https://docs.amplify.aws
Apache License 2.0
1.31k stars 243 forks source link

PubSub category for Flutter #1006

Open andrewcrayden opened 2 years ago

andrewcrayden commented 2 years ago

The AWS Amplify PubSub category is only available for JavaScript based projects. Is this category on the Flutter roadmap?

pdt590 commented 2 years ago

+1 waiting for this feature for a long time

Vingtoft commented 2 years ago

+1 please make this happen

amizer12 commented 2 years ago

+1 from me as well, using mqttclient with SigV4 urls is way to much just to authenticate. Iot is fueled by mobile and flutter is already gaining a momentum so i think this is a VERY much needed in order to increase Amplify consumption.

miguelflores1993 commented 2 years ago

we are waiting for this feature anyway, I think they are very important!

abdallahshaban557 commented 2 years ago

we are waiting for this feature anyway, I think they are very important!

@flutteresbolivia - We are currently exploring what it would take to enable this for our flutter developers. Can you give me a high level understanding of the use cases you have?

miguelflores1993 commented 2 years ago

estamos esperando esta función de todos modos, ¡creo que son muy importantes!

@flutteresbolivia : actualmente estamos explorando lo que se necesitaría para habilitar esto para nuestros desarrolladores de flutter. ¿Puede darme una comprensión de alto nivel de los casos de uso que tiene?

the application that we develop in real time almost 80%! We use services such as Pusher that are paid to meet the client's expectations, but this comes with high prices since the service is expensive.

for the same reason we hope this library to implement in our project, in order to use all the aws services and not third parties

abdallahshaban557 commented 2 years ago

Understood! And what features are you currently using with Pusher? @miguelflores1993 ? We just want to make sure we understand how developers would utilize a PubSub category enabled via Flutter.

pdt590 commented 2 years ago

we are waiting for this feature anyway, I think they are very important!

@flutteresbolivia - We are currently exploring what it would take to enable this for our flutter developers. Can you give me a high level understanding of the use cases you have?

Mobile application is very important entity in IoT (Internet of Things) that is a hot trend of Industry 4.0. In IoT, we use MQTT using PubSub protocol to connect everything including Mobile App together. That is reason all mobile libs currently support PubSub as well as MQTT (React-native, amplify javascript and so on). AWS has AWS IoT service. I think AWS earns a lot of money from this service. Many big company used AWS IoT for their backend.

abdallahshaban557 commented 2 years ago

@pdt590 - thank you for the feedback and context! We are still exploring whether we will support this feature this year. We will update this ticket with our findings as we learn more.

amizer12 commented 2 years ago

Also my two cents - pub sub is criticall for me for shadow Updates and state reporting via mqtt, additionally getting most sensor values directly just by subscribing to mqtt topic gives Us information quicker and way more cost Effective without resorting to some lambda hocus pocus for such a simple use case.

W dniu wt., 11.01.2022 o 13:34 Abdallah Shaban @.***> napisał(a):

@pdt590 https://github.com/pdt590 - thank you for the feedback and context! We are still exploring whether we will support this feature this year. We will update this ticket with our findings as we learn more.

— Reply to this email directly, view it on GitHub https://github.com/aws-amplify/amplify-flutter/issues/1006#issuecomment-1010199273, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANGCEZEKJVTWJ2LI6IH2DYDUVRS2HANCNFSM5G3BSEWQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

liu731 commented 2 years ago

+1 This is very important feature.

abdallahshaban557 commented 2 years ago

@liu731 - can you please elaborate on what your use cases are for PubSub?

liu731 commented 2 years ago

@liu731 - can you please elaborate on what your use cases are for PubSub?

Thanks for your reply, Pubsub makes it easy to get IoT device status. Currently I have to use mqtt_client and I need to manually sign with SigV4 every time I connect.

j540 commented 2 years ago

+1 for this

Jordan-Nelson commented 2 years ago

If this a feature you would like to see implemented, please give the issue a 👍. We use that to quickly gauge how much interest there is in an issue. The "+1" comments are much harder to see at a glance. Thank you.

amizer12 commented 1 year ago

We really need it - that will open a do an entire landscape of building mobile apps with IoT Core, is that considered on the roadmap ?

abdallahshaban557 commented 1 year ago

@amizer12 - can you give us an idea on the use cases you want to enable?

amizer12 commented 1 year ago

Hi, Sure- basically having a pub/sub within this SDK would allow for a direct interaction with devices connected via IoT Core, right now if you wan t to do this with mobile app you need to use flutter mqtt client and on top of that manage the SiGv4 authentication for every login. With Pub/Sub integrated into this SDK this would offload all those things from the devs and allow for faster and smoother IoT mobile app development which is key for the entire connected devices landscape. With pub/sub you can just focus on device shadow CRUD actions and other product specific logic instead of spending a lot of initiall time just on managing interactions between different AWS services..

abdallahshaban557 commented 1 year ago

Got it - thank you so much for the feedback @amizer12 ! This is really helpful to help us understand which features we need to prioritize. I can see you already gave a thumbs up to this issue as well which is great! We will keep this issue updated when we have clarity on when it can potentially land.

Have you also explored using subscriptions with AWS Appsync for your IoT use case?

amizer12 commented 1 year ago

Hi @abdallahshaban557 many thanks for your reply. Yes - appsync in theory would work but it's way too much additional elements to introduce comparing to a direct communication with IoT Core. For AppSync you would need to add Lambda to update a data set for appsync - that adds at least 2 additional elements to the architecture increasing it's complexity and also drives the cost up. Not mentioning that adding a Lambda will increase a processing time significantly for every simple device state update.

abdallahshaban557 commented 1 year ago

@amizer12 - got it - that makes sense! Thank you for sharing this feedback! It is essential to help us prioritize the right features!

UtkarshSingh5474 commented 1 year ago

+1 It is a much needed feature. Please make this happen!

abdallahshaban557 commented 1 year ago

Hi @UtkarshSingh5474 - can you please provide us with the use cases you are looking to build with PubSub?

UtkarshSingh5474 commented 1 year ago

Hi @UtkarshSingh5474 - can you please provide us with the use cases you are looking to build with PubSub?

Hi @abdallahshaban557. Thank you for replying. I am interested in utilizing the AWS Amplify pub/sub feature; however, it is not available in the Flutter SDK. To use this feature, I must use the Flutter MQTT client and manage SiGv4 authentication for each user. Due to this limitation, I am currently developing my IoT mobile application using React Native since AWS Amplify has pub/sub for that platform. I kindly request that you enable the pub/sub feature for the Flutter SDK so that I can build my application using Flutter.

With a direct pub sub implementation in flutter sdk, i can save a lot of costs in computation resources.

abdallahshaban557 commented 1 year ago

got it - thank you for the feedback @UtkarshSingh5474!

dsoltis3 commented 1 year ago

+1 for this

bcihanc commented 1 year ago

That will be awesome +1

UtkarshSingh5474 commented 1 year ago

Any updates on this issue?

kalismeras61 commented 1 year ago

any update for this ?

abdallahshaban557 commented 1 year ago

Hello - we do not have an update yet on this feature. Can you please help us understand which use cases you have for PubSub? @kalismeras61 ?

kalismeras61 commented 1 year ago

Hello - we do not have an update yet on this feature. Can you please help us understand which use cases you have for PubSub? @kalismeras61 ?

We have 2 separate applications and the 1st one of these applications saves data to the database and the second one listens to this data instantly with subscribe, Since there is a delay in between, we need to do this process with an MQTT or PubSub style structure.

austin047 commented 1 year ago

Hello, it seems no update on this yet. We need this to connect our amplify app to the IOT core to communicate with edge devices with device shadows.

hbelser commented 1 year ago

I second that, below more details on our use case:

Ask for the AWS Amplify Flutter team: Could we get a roadmap update when Amplify pub/sub is planned for Flutter, thank you!

Toffelcore commented 1 year ago

We have a similar case. We already have invested much in an flutter app and recently switched from Google IoT to AWS IoT Core. Now we need to have a simple and direct way to get data that is posted into the AWS IoT MQTT Topics to be sent to our Flutter App.

ZoroLH commented 7 months ago

We want to control vehicle by mqtt pubsub, please add it to amplify flutter.

six-edge commented 4 months ago

Use case: Smart energy monitoring app

Our flutter app currently uses Amplify for Auth and API calls. Our next step would be IoT core pubsub. We publish protobuf messages from the devices in the field to mobile apps and web dashboards showing realtime data. Users can also control the device by means of AWS IoT Core Device Shadow and Jobs to change configuration of the device and trigger updates.

Additionally, if the Amplify library added IoT core specific functions like Device Shadow and Jobs that would be totally awesome.

As we already use Amplify for Flutter, this feature would be very useful.

Does anyone have the boilerplate code for using the dart MQTT library with Signature v4?

six-edge commented 4 months ago

Just found this in pub.dev: https://github.com/IoTReady/flutter-aws-iot/blob/master/lib%2Fsrc%2Fclient.dart

The code is outdated but it might serve as a good basis for connecting to AWS IoT core with signature v4.

shimonzigdon commented 2 months ago

As far as I understand, no official solution from Amplify, not even in the latest release. Does this mean that the other alternative solution is using the dart MQTT library with Signature v4? Is there other recommended solution?