GithubHelp home page GithubHelp logo

Comments (14)

wilsonowilson avatar wilsonowilson commented on July 4, 2024 2

@knopp I think external plugin support is really important. What about plugins for local storage like hive, or specifics like native_pdf_view, flutter_tts, device_info et cetera. Would NativeShell cover that? If not, would it even be possible to mix NativeShell and other plugins in the future?

from nativeshell.

knopp avatar knopp commented on July 4, 2024 2

I added issue to track progress of platform plugin support.

from nativeshell.

knopp avatar knopp commented on July 4, 2024 1

You could take relevant parts from the template and add it to your project. That'd be everything rust and cargo related. Also NativeShell needs WindowWidget in the widget hierarchy, but you can make sure to add that on desktop platforms only.

from nativeshell.

knopp avatar knopp commented on July 4, 2024 1

There's one caveat. This will work as long as you don't require any native flutter plugins on desktop. These are not yet integrated with NativeShell / cargo build. I don't think this shouldn't be much of an issue in practice, since the functionality of NativeShell should cover much of what plugins would normally do. And you can easily call native (rust) code from NativeShell project if this is not enough.

Still it is something I'd want to support eventually.

from nativeshell.

knopp avatar knopp commented on July 4, 2024 1

Yes. URL launcher functionality should definitely be covered by NativeShell itself. Firebase is trickier, I'm not even sure the official packages support desktop (maybe just MacOS).

bitsdojo_window will not work because the platform plugin (native code) will not be loaded. It also shouldn't be necessary as NativeShell is expected cover all relevant functionality. Right now it is missing things like minimize/maximize methods and window states, but that quite high on my priority list.

from nativeshell.

knopp avatar knopp commented on July 4, 2024 1

Hive is a package. It doesn't have any platform specific code. It should work without any issues. Support for packages with native code (plugins) should be possible, it just wasn't really a priority, since most plugins don't even support desktop platforms yet.

from nativeshell.

knopp avatar knopp commented on July 4, 2024 1

Definitely. Added.

from nativeshell.

knopp avatar knopp commented on July 4, 2024

The documentation is very scarce indeed, I'm well aware of that :)

from nativeshell.

GroovinChip avatar GroovinChip commented on July 4, 2024

Thanks for your quick response! When you say native flutter plugins, do you mean anything things like url_launcher, firebase, etc? Will plugins like bitsdojo_window conflict too?

from nativeshell.

wilsonowilson avatar wilsonowilson commented on July 4, 2024

I see. By any chance, do you plan on adding it to the roadmap if the demand for plugin support changes?

from nativeshell.

knopp avatar knopp commented on July 4, 2024

Closing the issue, adding to custom projects is now described here.

from nativeshell.

GroovinChip avatar GroovinChip commented on July 4, 2024

So do we no longer need to install Rust? Does everything we need come along with the nativeshell package now?

from nativeshell.

knopp avatar knopp commented on July 4, 2024

You need to install Rust. Nativeshell is written in Rust and relies on the Rust package manager (cargo) to build the project.

Installing Rust is really straightforward though.

The original question was about adding Nativeshell to existing project.

from nativeshell.

GroovinChip avatar GroovinChip commented on July 4, 2024

Understood, thanks

from nativeshell.

Related Issues (20)

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.