wails icon indicating copy to clipboard operation
wails copied to clipboard

将来有支持 Android 和 ios 的打算吗?

Open mo7cc opened this issue 2 years ago • 8 comments

Is your feature request related to a problem? Please describe.

我是一名 web 开发者,事实上现在的 web 应用非常成熟,只要提供一个良好的环境,它们的性能媲美原生,而且只有web才是真正意义上的跨平台!现在任何系统平台都一定会内置 webview, 有 webview 就可以完美运行 webapp , 而现在兼容性问题已经不再是问题了。 wailsapp 的想法和结构非常好,如果可以完美支持安卓和ios,那将是举世无双的,个人感觉会比 flutter 的解决方案更加高效!

Describe the solution you'd like

go 语言包一层,在安卓和 ios 上运行 wailsapp ,采用系统的 webview 进行渲染,提供一些通用的系统接口 供 js 调用。

Describe alternatives you've considered

我建议可以采用将方法注入 webview 的方式来跟 js 去通信,统一 Android 和 ios 的系统差异性。 比如: window.wail.GetSysTheme().then().catch() 这种调用方式,这不难做到,而且是完美兼容浏览器的。

这种方案最大的好处是,开发一套UI,可以完美运行于 Android 、ios 甚至是 浏览器

Additional context

No response

mo7cc avatar Jun 21 '22 23:06 mo7cc

Thanks for your interest in Wails and opening an enhancement request. AFAIK unfortunately most of the Wails members and collaborators can't speak Chinese. Would it be possible for you to translate your issue into english?

stffabi avatar Jun 22 '22 05:06 stffabi

Using the Edge translator: Is your feature request related to a problem? Please describe. ‎I'm a web developer, and in fact today's web applications are very mature, as long as they provide a good environment, their performance is comparable to native, and only the web is truly cross-platform! Now any system platform must have a built-in webview, with a webview can run the webapp perfectly, and now the compatibility problem is no longer a problem. The idea and structure of wailsapp is very good, if it can perfectly support Android and ios, it will be unparalleled in the world, personally feel more efficient than flutter solution!‎

Describe the solution you'd like ‎Go language package layer, running wailsapp on Android and ios, using the system's webview for rendering, providing some common system interfaces for js to call.‎

Describe alternatives you've considered ‎I suggest that you can use the method injection webview to communicate with js to unify the system differences between Android and ios. ‎ ‎ For example:‎ ‎ window.wail.GetSysTheme().then().catch()‎ ‎ is a call method that is not difficult to do and is perfectly compatible with browsers.‎

‎The biggest benefit of this approach is that you can develop a UI that works perfectly on Android, ios, and even browsers‎

Additional context No response

leaanthony avatar Jun 22 '22 10:06 leaanthony

Initially, I thought this was a request for android and ios support, but it sounds like a change request for APIs, but I don't fully understand it as it's suggesting using promises, which we already do.

leaanthony avatar Jun 22 '22 10:06 leaanthony

What (I think) he is suggesting is lowering the bar for Native integration with Android and iOS. Take the most popular Android and iOS API's and have prefab classes so they can be called by the JS and have implementations for the browser as well I assume? This would effectively turn Wails into a bespoke multiplatform API instead of just playing middleman like you are right now (no judgement, I love it!)

I was also thinking about this for adding your Android build target. Obviously gomobile gets you some easy bindings, but you are still going to probably have to bring in Kotlin/Java/Obj C. Would be interesting to abstract a lot of that way, could probably be done fairly easy with code generation.

boostchicken avatar Jun 23 '22 21:06 boostchicken

@boostchicken - this may be of interest: https://github.com/wailsapp/wails/issues/847#issuecomment-932959702

leaanthony avatar Jun 24 '22 07:06 leaanthony

Yeah, I have a love hate relationship with JNI. Sony is really hating JNI right now, its responsible for the latest PlayStation exploits. That being said done right it can be maintainable and valuable. Can't wait to see what you come up with. I have a lot of deep java and android experience, if you enter that realm happy to help.

boostchicken avatar Jun 24 '22 15:06 boostchicken

I have zero experience with Android and the last time I used Java was 20y ago so we'll definitely need your help!

leaanthony avatar Jun 24 '22 19:06 leaanthony

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jul 31 '22 20:07 stale[bot]

There is no need to support Android and iOS at all. There are uni app, flutter, and react-native. Uniapp is similar to webview。It's better to focus on desktop programs

bymomo avatar Oct 21 '22 02:10 bymomo

The idea of this project is very good, but I still hope to support Android and iOS and become a real multi-end cross-platform project.

lsm1103 avatar Feb 01 '23 02:02 lsm1103

There is no need to support Android and iOS at all. There are uni app, flutter, and react-native. Uniapp is similar to webview。It's better to focus on desktop programs

Which one of those allows for go backend?

fairking avatar Mar 14 '23 23:03 fairking

There is no need to support Android and iOS at all. There are uni app, flutter, and react-native. Uniapp is similar to webview。It's better to focus on desktop programs

Which one of those allows for go backend?

flutter dart ffi can use golang backend

yaooort avatar Mar 31 '23 05:03 yaooort