如何运行 Android 像PWA App这样的电脑浏览器中的应用程序?
How to run Android Apps in a computer browser like PWA App?
我想比较原生和跨平台技术。
我正在编写 Kotlin Android Native
应用程序,是否可以像 Chrome
一样在浏览器中轻松打开它,它的工作方式与 Flutter
中的 Web 应用程序类似?
我的目标是编写本机应用程序,可以在计算机上的 'normal' 浏览器上启动它。
让我们从概念开始
PWA
Progressive Web 应用程序,总而言之,它只是一个带有特殊 java 脚本的网络,可以使用设备(desktop/mobile)硬件特征 and/or css 文件具有使 web 看起来像本机应用程序的效果。最后是 只是一个 Web 应用程序 运行 远程服务器上的一个通常具有 www.acme.com 之类的域并通过 Web 浏览器访问。
UI 表单元素只是 html
本机移动应用程序
这是一个应用程序,使用 java 或 kotlin 为 android 和 Objective-C 或 Swift 为 ios 开发。结果是包含通常不可读文件的 .apk 或 .ipa。这种应用程序无法使用网络浏览器打开。
UI 表单元素是原生组件,不是html
移动网络浏览器
在移动设备中,我们有 opera、chrome、firefox、safari 等网络浏览器。正如我们所注意到的,这些是能够通过 url 打开任何网页的本机应用程序.这是混合应用程序中使用的移动设备提供的功能。
混合应用程序
混合应用程序是一种软件应用程序,它结合了本机应用程序和网络应用程序的元素,其中应用程序的核心是使用网络技术编写的。
非常概括地说,这个应用程序是一种网络浏览器,只打开一个url,没有地址栏,它使用新的设备功能欺骗用户 通过将网站显示为本机应用程序
通常在混合应用中加载的web应用是pwas或类似的。
UI 表单元素只是 html.
来源:
- https://ionic.io/resources/articles/what-is-hybrid-app-development
- https://www2.stardust-testing.com/en/blog-en/hybrid-apps
- https://easternpeak.com/definition/hybrid-apps/
你的问题
How to run Android Apps in a computer browser like PWA App?
不,你不能。如果您的应用是使用母语开发的 (android sample)
Button btnTag = new Button(this);
btnTag.setLayoutParams(new Layout...));
btnTag.setText("Button");
btnTag.setId(some_random_id);
无法在同一设备的网络浏览器中打开它,更不用说在其他桌面浏览器中打开它了。
解决方法
如果您的应用程序是一个具有有效 url 的网络,并且您实现了开发一种具有浏览器功能的本机应用程序(例如 WebViews for android and wkWebView 用于 ios),但是硬编码url 并隐藏地址栏,您将拥有:
- 一个可以直接打开任何桌面浏览器的网站
- 可以在任何移动设备上打开的本机应用程序 phone。
请记住,您的网站的外观应该类似于 Material 为 Angular or React. Also should have advanced features like service worker in pwa 设计的本机应用程序。没有它们,您的用户会注意到这是一个网络而不是移动应用程序。
不要重新发明轮子
前面解释的解决方法正是以下框架所做的,但使用了类固醇。结果应用程序有时称为“混合应用程序”。基本上,您只需开发 html + java 脚本,框架会将您的代码打包为标准 Web,android 的原生 .apk 和 ios 的原生 .ipa。这里有一些框架:
- Apache 科尔多瓦
- React Native
- 颤动
- 离子
- Phone差距
- Unity(游戏)
- Apache Flex
图片来源:https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/
我想比较原生和跨平台技术。
我正在编写 Kotlin Android Native
应用程序,是否可以像 Chrome
一样在浏览器中轻松打开它,它的工作方式与 Flutter
中的 Web 应用程序类似?
我的目标是编写本机应用程序,可以在计算机上的 'normal' 浏览器上启动它。
让我们从概念开始
PWA
Progressive Web 应用程序,总而言之,它只是一个带有特殊 java 脚本的网络,可以使用设备(desktop/mobile)硬件特征 and/or css 文件具有使 web 看起来像本机应用程序的效果。最后是 只是一个 Web 应用程序 运行 远程服务器上的一个通常具有 www.acme.com 之类的域并通过 Web 浏览器访问。
UI 表单元素只是 html
本机移动应用程序
这是一个应用程序,使用 java 或 kotlin 为 android 和 Objective-C 或 Swift 为 ios 开发。结果是包含通常不可读文件的 .apk 或 .ipa。这种应用程序无法使用网络浏览器打开。
UI 表单元素是原生组件,不是html
移动网络浏览器
在移动设备中,我们有 opera、chrome、firefox、safari 等网络浏览器。正如我们所注意到的,这些是能够通过 url 打开任何网页的本机应用程序.这是混合应用程序中使用的移动设备提供的功能。
混合应用程序
混合应用程序是一种软件应用程序,它结合了本机应用程序和网络应用程序的元素,其中应用程序的核心是使用网络技术编写的。
非常概括地说,这个应用程序是一种网络浏览器,只打开一个url,没有地址栏,它使用新的设备功能欺骗用户 通过将网站显示为本机应用程序
通常在混合应用中加载的web应用是pwas或类似的。
UI 表单元素只是 html.
来源:
- https://ionic.io/resources/articles/what-is-hybrid-app-development
- https://www2.stardust-testing.com/en/blog-en/hybrid-apps
- https://easternpeak.com/definition/hybrid-apps/
你的问题
How to run Android Apps in a computer browser like PWA App?
不,你不能。如果您的应用是使用母语开发的 (android sample)
Button btnTag = new Button(this);
btnTag.setLayoutParams(new Layout...));
btnTag.setText("Button");
btnTag.setId(some_random_id);
无法在同一设备的网络浏览器中打开它,更不用说在其他桌面浏览器中打开它了。
解决方法
如果您的应用程序是一个具有有效 url 的网络,并且您实现了开发一种具有浏览器功能的本机应用程序(例如 WebViews for android and wkWebView 用于 ios),但是硬编码url 并隐藏地址栏,您将拥有:
- 一个可以直接打开任何桌面浏览器的网站
- 可以在任何移动设备上打开的本机应用程序 phone。
请记住,您的网站的外观应该类似于 Material 为 Angular or React. Also should have advanced features like service worker in pwa 设计的本机应用程序。没有它们,您的用户会注意到这是一个网络而不是移动应用程序。
不要重新发明轮子
前面解释的解决方法正是以下框架所做的,但使用了类固醇。结果应用程序有时称为“混合应用程序”。基本上,您只需开发 html + java 脚本,框架会将您的代码打包为标准 Web,android 的原生 .apk 和 ios 的原生 .ipa。这里有一些框架:
- Apache 科尔多瓦
- React Native
- 颤动
- 离子
- Phone差距
- Unity(游戏)
- Apache Flex
图片来源:https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/