DEV Community

Discussion on: How to use JavaScript libraries in your Dart applications

Collapse
 
thinkdigitalsoftware profile image
ThinkDigitalSoftware

Do you, by chance, know if this works with Flutter?

Collapse
 
creativ_bracket profile image
Jermaine

This only works with browser-based packages. The only way I see this useful in a Flutter app is if rendering content in a web view.

Collapse
 
thinkdigitalsoftware profile image
ThinkDigitalSoftware

Well there are tons of JS libraries that aren't ui related where we wouldn't have to reinvent the wheel

Thread Thread
 
creativ_bracket profile image
Jermaine

Sorry, not sure I follow what you mean here. Could you expand on this?

Thread Thread
 
thinkdigitalsoftware profile image

Let's say I want to use the moments.js library in my flutter application. Since it's already written, could I include this in my Flutter application and then call the functions in the moments library, or does it only work for interacting with the JS Window object?

Thread Thread
 
creativ_bracket profile image
Jermaine

Ahhh, thanks for clarifying. Only works with packages that are accessible via the window object, which will cover most browser-based JS packages. This is by design.

Out of interest, do you have a particular use case that warrants using a JS package in Flutter?

Thread Thread
 
thinkdigitalsoftware profile image
ThinkDigitalSoftware

well there was an IMEI/credit card validator that was written in JS that I needed in one of my apps. I ended up converting it to dart code and then used it, but it would have been nice if I didn't need to. JS is so mature already I don't want to reinvent wheels I don't need to.

Thread Thread
 
creativ_bracket profile image
Jermaine

Oh right, got you. I tried a quick search on Pub that brought me across these two:

Haven't tried it myself, but would those have worked for your use case?

Thread Thread
 
thinkdigitalsoftware profile image
ThinkDigitalSoftware

imei_validator is the one I ported over :D

Thread Thread
 
creativ_bracket profile image
Jermaine

Awesome Jonathan! I'm glad you contributed in this way. I count this a victory. This also has the added benefit of not needing any JS interop, which helps with performance. Now I know where to look should I need credit card validation ;)