ionic-team / capacitor

Build cross-platform Native Progressive Web Apps for iOS, Android, and the Web ⚡️
https://capacitorjs.com
MIT License
12.32k stars 1.01k forks source link

Compatibility with popular JS libraries like player.js #597

Closed ghost closed 6 years ago

ghost commented 6 years ago

Hello Capacitor team,

Unfortunately, Vimeo player's player js can't enter full screen mode on Cordova android. https://github.com/vimeo/player.js

It has never been fixed after all these years. Cordova android will still show a blank white screen when you tap on a full screen mode button of vimeo iframe player. I hope some popular JS libraries will get extensive testing on Capacitor so they will work fine without this kind of problems.

Here are a few amazing JS libraries which I hope will run fine on Capacitor: http://svgjs.com/svg.draw.js/

http://leocs.me/jquery-drawsvg/

http://animejs.com

https://mattboldt.com/demos/typed-js/

http://www.turnjs.com/

It will be great if you guys officially offer them with native typescript wrappers. They will certainly make Capacitor more powerful. Many of js libraries are open source. If you guys would take cordova plugins, then I wonder why not these js libraries.

For audio playback, we have an amazing js library like tone.js: https://tonejs.github.io/ I would love to see typescript wrappers & plugin versions on capacitor.

jcesarmobile commented 6 years ago

Thanks for the issue, but we can't really test all the js libraries available to make sure they work. They are JS libraries, so we will asume all of them work. If people have issues with any of them, they can report it individually per library and we will take a look.

As you said that player.js had problems with Cordova, I've tested in in both Cordova and Capacitor and in Cordova it had the full screen button and it worked, while it didn't have the full screen button in Capacitor nor was opened in full screen with playsinline: false, so I've created a new issue to work on it (#605)

I've searched for Cordova problems with full screen videos and all of them seem to be on InAppBrowser, not in Cordova WebView. Anyway, that's a different project, so if you still have problems there, report it in issues.cordova.io, but as I said, on the cordova-android webview it seems to work fine on my sample app.

Feel free to test any other library and report problems if you find any.

About the typescript wrappers, it would be nice, but it's totally out of the scope of Capacitor. Note that there are thousands of JS libraries and we can't do that, I think that's something the library authors should do, or their community.

ghost commented 6 years ago

Thanks for your effort and i hope this gets fixed on both Capacitor and Cordova. Other people have been reporting the same problem since years ago but it didn't get fixed. https://forum.ionicframework.com/t/vimeo-player-wont-expland-to-full-screen-on-ionic-iframe/130510 https://forum.ionicframework.com/t/youtube-embed-wont-go-fullscreen-android-only/84551

I would still support idea of making typescript wrappers for at least the most popular JS libraries like anime.js (http://animejs.com/), typed.js, tone.js (https://tonejs.github.io/), three.js. These libraries are as powerful as cordova plugins in terms of functionality. They have so much to offer. I found many people get problems using some of these popular js libraries on Cordova. They require typings but even with typings they are not all that flexible. I agree making typescript wrapper for all JS libraries will be impossible but if there are native ts support w/ documentation for the most popular libraries, it will be great.