What is the differences between parse_server_sdk and parse_server? - flutter

I'm working with Parse Server, my task is to build a flutter application that using Parse SDK to communicate with the Parse Server. You can see the Parse SDK here, these are two packages, one is for Flutter, and another is for Dart. I don't know the difference between these two, and which one I should use.

If you create a Flutter app you should use Parse-SDK-Flutter package. In Migration Guide plugin developers provide this reason for moving from Dart to separate package:
This was done in order to provide a dart package for the parse-server, while keeping maintenance simple. You can find both packages in the package directory..

Related

How can I build a Go Library and use it in Flutter?

I'm currently trying to use Azure Authentication within my Flutter app. I've searched and have not found an existing library that supports MSAL/AAD for Flutter on Windows.
If I use the MSAL package within Visual Studio for a WPF app, the authentication works fine, so the app within Azure is set up correctly. I think I need to use the legitimate client tooling that Microsoft provides in order to get my tokens and such.
Unfortunately, Flutter doesn't provide any integration with .NET, so I can't write a platform-specific integration in .NET and then the rest of my app in Flutter, so that's a shame. But it seems like Flutter can reference a standard C library.
It also seems like Microsoft makes a client for Go, and Go can compile to a C Shared library. So, in my mind, I should be able to compile this library to a C Shared library, and then write up my platform specific implementation in Flutter. In my attempts to build the MSAL GO library so far, it seems like because the MSAL GO library (https://github.com/AzureAD/microsoft-authentication-library-for-go) lacks a main method, and is more to be used as a plugin, so it can't be built directly into a c-shared library by Go.
How can I build the Microsoft MSAL library as a c-shared library? Please note, I am hilariously new to Go.
This does not answer your question directly, but it has been done without any plugin or native development, as far as I understand:
https://blog.objektkultur.de/azure-ad-authentication-flutter-apps/
I also looked up available libraries for AzureAD, and besides the Go library there seem to be versions for Java and ObjectiveC, which you could use to develop your own integration using Flutter platform channels for example.
If you really want to use Go from within Dart / Flutter, I would try to compile the Go code to web assembly and use something like:
https://pub.dev/packages/wasm
No guarantee, this leads in the right direction, though.

Will developing Flutter plugin with Kotlin make any difference with one written in Java?

It's probably not a programming question and a bit too generic but I can't find any resource about the differences of writing plugin for flutter using Kotlin vs Java. From my research, almost every plugin in pub.dev that I found is written in Java. I don't say Java is bad but I personally prefer Kotlin over Java because of the syntax.
I'm planning to build native code to interact with native libs both on iOS and Android for my project since I couldn't find any plugin that satisfy the project requirements. I'd like to share it on pubdev when it's done (hopefully) so I have to think twice before writing it.
The question is, if I do so (developing Kotlin-based plugin), will it make any difference? Like maybe requires the user to add some extra configuration to their project? Or maybe any Flutter project that uses Java can't use my package? and.. will it do the same for iOS (using Swift over Objective-C)? The docs is telling us that we can switch both in between, but doesn't tell any side effects about it.
No there is nothing to worry about. Flutter apps are now by default created with Kotlin/Swift and not with Java/ObjC. Of course if someone has an ultra old Flutter configuration, then he might have some problems but I wouldn't concern myself with it.
All the native plugin code is converted to a Gradle dependency or Pod(spec) dependency. The app developer doesn't have to care about it and that is a good thing.

How to import flutter module to a flutter project?

I have a flutter module project and I want to import it into another existing flutter project, how can I do this?
I think this may not be possible since there will be two main function and don't know how they communicate.
Are there any suggestion so I can combine the these two things? I want to open the module app in another flutter app.
Flutter yet to support this feature out of the box, see issue #64542 for more details.
Since the feature request that was mentioned in above is still open, the best solution that I can think of is by merging another application to your existing flutter application by importing the application you want to merge as a module. Check also this SO post, where this kind of scenario was explained.

How do you share code between 2 Flutter projects?

With Flutter now supporting web and mobile app development, what's the best practice to avoid rewriting code all the time? Say you have a few classes / functions living in your mobile app project that'd you'd like to reuse for your web project, is importing these files the way to go? If so, can you do that across multiple projects?
Here is the approach I found: using packages.
You can create a package with the following terminal command:
flutter create --template=package myPackageName
then simply create whatever class, function, etc. you want to share across your projects in the package and import them in your other Flutter projects.
Here is an example: https://youtu.be/MJO695IE-EA

How to Repack a Flutter Plugins to use for Flutter Web?

for this specific case, I'm trying to use Provider on Flutter Web,
but I'm sure that this will not be the last flutter package
that I will use on flutter web, so I'm trying to understand
how to solve this as a generic situation.
I came across this question :
Using flutter mobile packages in flutter web
and this answer:
you can also use libraries that are referencing Flutter framework that was repackaged for flutter_web. Like provider was forked [link]. You only can't use plugins atm.
For my understanding the suggested procedure is
Fork
Repack
Import
While "Fork" is straight forward, feel the need to ask:
How to Repack a Flutter Plugins to use for Flutter Web?
since this time I got lucky and Kevin already did the repacking
How do I import it? [edit: nevermind... ]
Thank you in advance
got the answer here
just
clone the repository you want to use,
copy the files in your project
fix the errors
then everything should work