realm / realm-object-server

Tracking of issues related to the Realm Object Server and other general issues not related to the specific SDK's
https://realm.io
293 stars 42 forks source link

Dart / Flutter Support #55

Closed johnpryan closed 3 years ago

johnpryan commented 7 years ago

Flutter is a new way to build cross-platform mobile apps using Dart.

It would be great to see a native implementation of Realm for Dart and Flutter. Flutter has access to the dart:io package, which should provide everything necessary to write a native library for Realm.

How much effort / public demand take to get an official client?

Thanks!

bmunkholm commented 7 years ago

Hi @johnpryan, It would have to be a native extension that uses our realm-core written in C++. The effort required is substantial as we aim for a very idiomatic experience with all the SDKs we write. I havn't done any Dart extensions, so I'm not aware how simple it is, but you can judge the complexity by looking at realm-cocoa or other SDKs we have. It's hard to give an indication of what interest is needed to get us to prioritize this, but it has to be "significant". So we can start with encouraging people to +1 this issues (please do that with emoji and not new comments) .

timahrentlov commented 6 years ago

Is flutter support incoming?

lukaspili commented 6 years ago

This is now the most upvoted feature request on the github tracker 😃

hundeva commented 6 years ago

I would just like to bring up this issue once again, since I think Realm would fit the reactive style of Flutter amazingly. Flutter matures day by day, and while there are now a few decent solutions, it still misses a great storage option, with which I'm willing to commit. Realm could be the one.

bmunkholm commented 6 years ago

It would, of course, be very fluttering to become the chosen one 🥇 .... Unfortunately, the effort is still significant and we would probably want to see Flutter come out of alpha at least and have a significant adoption before the effort can be justified. Alternatively, have the community step in and help build it.

hundeva commented 6 years ago

I understand where you are coming from (and unfortunately even agree :) ). For a good while now, I hope that Google is going to show really soon a real piece of hardware which is going to run Fuchsia, and that Flutter is indeed going to be the first class citizen for that. I think that could shake up the otherwise pretty stale mobile development. But that is just me thinking out loud...

johnpryan commented 6 years ago

I think a lot of mobile developers are switching to Flutter. It just surpassed 10k stars on Github (in the realm-cocoa ballpark.) Is there a specific feature or milestone you would like to see Flutter support first?

hundeva commented 6 years ago

I think "switching" is a strong word. I'd rather say, more and more people are now actively following Flutter, and keeping a closer look. I mean, there are still quite a few reasons why it is not yet production ready for the majority (one reason might be the lack of a great storage option).

Realistically, if we are talking milestones, I'd expect things to really change and improve once Flutter moves to beta by completing the current (3rd) milestone.

renefloor commented 6 years ago

Last year the Flutter team pushed quite a bit of breaking changes just before the IO and Flutter got some attention on the IO. My guess would be that they try to reach beta stage before the IO and Flutter could grow after that, but we'll have to wait and see.

PierBover commented 6 years ago

Realistically, if we are talking milestones, I'd expect things to really change and improve once Flutter moves to beta by completing the current (3rd) milestone.

Flutter just moved to beta.

https://medium.com/flutter-io/announcing-flutter-beta-1-build-beautiful-native-apps-dc142aea74c0

johnpryan commented 6 years ago

Last year the Flutter team pushed quite a bit of breaking changes

@renefloor Are there specific breaking changes you are thinking of? Most of the breaking changes are (AFAICT) related to the higher-level pieces like UI and the material library. Dart 2 makes some small changes to the language but I don't think that should inhibit progress on a Realm plugin for Flutter.

Typescript goes through many changes but that doesn't slow down progress for projects like realm-graphql.

hundeva commented 6 years ago

Just to note, the enforcement of strong mode (thank god for that) in Dart 2 broke a decent amount of code, albeit those errors are usually easy to fix.

Anyway, with Flutter moving to beta, Dart moving to Dart 2, I really hope things will start to pick up some serious pace. Hopefully, we will see some interesting stuff at IO '18. 🤞

renefloor commented 6 years ago

@johnpryan I don't think this is really the place to discuss that (as it is not realm related), but there where mainly changes in naming so everything followed the same convention. Especially last winter there where bigger changes in how you could interact with the platform (Android/iOS). You can see some of these in the mailinglist, mostly around april last year. In my experience since last I/O the API is pretty stable. Dart 2 is not really breaking for most of the code.

MarkOSullivan94 commented 6 years ago

Is there anyway people can contribute to help get Realm for Dart / Flutter?

garretyoder commented 6 years ago

Flutter is now out of alpha and in beta. Is this something we can look at doing now? It seems from here on out they're going to do monthly updates and try to avoid breaking changes.

renefloor commented 6 years ago

@bmunkholm You talk about binding the C++ realm-core. Currently Flutter apps that want to use C++ code have to go through Java / Objc-C of Android / iOS. I guess that it would be easier to go directly to C++. If this is the case we could at least upvote this Flutter issue: https://github.com/flutter/flutter/issues/7053

bmunkholm commented 6 years ago

Yeah going through JNI is wasteful/slow enough in itself for Java. Going through JNI and back again to call C++ code from C++ is ......

charlesburks commented 6 years ago

+1 How can we get an update on Realm for Flutter?

wendrawang commented 6 years ago

+1 Still waiting for Realm for Flutter

rodydavis commented 6 years ago

Realm + Flutter = ❤️

MarkOSullivan94 commented 6 years ago

have the community step in and help build it.

I'd love to see a community movement to help implement Realm for Flutter but I would have no idea where to start myself and would need a lot of guidance, coming from an Android background the best way for me to get my head around it would be perhaps to look at realm-java but I have no idea how that links up with realm-core.

Is there any chance the Realm team could provide some documents on how all the SDKs link with Realm Core? Means we can have people from a wide variety of backgrounds with an interest in Flutter being able to contribute.

Perhaps with enough guidance, we can make a start on making this possible.

rodydavis commented 6 years ago

I agree if there was some documentation I could help build the iOS side of the plugin.

cjarman commented 6 years ago

Has there been any comment from the Realm team? A lack of Realm support is the only stopper I have before embracing Flutter. All else is good to go, although the lack of support for including a C-library directly is a hinderance.

aryunaabhay commented 6 years ago

Just in case @bmunkholm, flutter has reached Beta 3 stage and that version has been marked as ready for production. https://flutter.io

lukaspili commented 6 years ago

I guess everyone is still waiting on: https://github.com/flutter/flutter/issues/7053

bmunkholm commented 6 years ago

@lukaspili Yes that's a prerequisite for sure.

hundeva commented 6 years ago

Just dropping in, another major Flutter milestone just happened: https://medium.com/flutter-io/flutter-release-preview-1-943a9b6ee65a?linkId=53249457 🙂

Ale-Digitale commented 6 years ago

Please do it !

rodydavis commented 6 years ago

This would be a game changer for Flutter development!

p30arena commented 6 years ago

yes we need it, right now!

listepo-alterpost commented 6 years ago

Very need flutter support!

thangmam commented 6 years ago

+1 for fluttery-realm 🥇

listepo-alterpost commented 6 years ago

Hi @bmunkholm any news? maybe @eseidelGoogle can help

bmunkholm commented 6 years ago

@listepo-alterpost No news. And there won't be until C++ integration is fully supported by Flutter.

timahrentlov commented 6 years ago

Indeed. Until flutter gets better platform and library integration, I'm tempted to call it a toy. It is not suited for heavy duty.

hientranea commented 6 years ago

Flutter just moved to Release Preview 2 https://developers.googleblog.com/2018/09/flutter-release-preview-2-pixel-perfect.html We still waiting for Realm for Flutter.

listepo commented 5 years ago

Blocked by https://github.com/dart-lang/sdk/issues/34452

tje3d commented 5 years ago

SQFLite performance is tribble! Like to see realm-flutter anytime soon.

Edit: now SQFLite is fast enough for me.

c2c2 commented 5 years ago

Hi guys, please take the survey(Open until Nov 12) at flutter.io and set your priority to Built-in support for realm

noman798 commented 5 years ago

+1

c2c2 commented 5 years ago

+1

Hi @norman798 you can take the survey and say flutter team make it befor November 12.

eseidelGoogle commented 5 years ago

We now have engineers examining adding an FFI to Dart: https://github.com/dart-lang/sdk/issues/34452 which, if successful, will help solve https://github.com/flutter/flutter/issues/7053

maxto024 commented 5 years ago

+1

jodymac commented 5 years ago

Would love to see realm for flutter as well. I was 100% ios, now flutter is becoming my #1 choice

ghost commented 5 years ago

@jodymac me too, switching from Xamarin to Flutter

bhikaluu commented 5 years ago

realm flutter

lukyman commented 5 years ago

+1

aureliopetrone commented 5 years ago

+1

patreu22 commented 5 years ago

+1

hundeva commented 5 years ago

I wish GitHub would automatically flag +1 like comments. Press the thumbs up on the root comment, and be done with it. Every time you make a pointless comment, a lot of people are going to get spammed, please stop doing it. Thanks.