我的困惑在于,使用Java或Swift创建的仅使用webview的应用程序是否被视为混合或Web应用程序。我知道Web应用程序几乎完全使用Web,但如果它是通过Java Webview进行webview,它真的被认为是Web应用程序,还是混合应用程序,因为它有可能同时使用本机和Web App功能?我对这个特定的定义有不同的定义。
谷歌说这是关于网络应用程序:在Android上提供应用程序基本上有两种方式:作为客户端应用程序(使用Android SDK开发并安装在APK中的用户设备上)或作为Web应用程序(使用网络标准并通过网络浏览器访问 - 无需在用户设备上安装)。 https://developer.android.com/guide/webapps/index.html
Apple说这是关于网络应用程序的:
Web应用程序旨在以类似于本机应用程序的方式查看和行为 - 例如,它被缩放以适应iOS上的整个屏幕。 您可以进一步为iOS上的Safari定制Web应用程序,方法是在用户将其添加到主屏幕时使其显示为本机应用程序。您可以通过使用被忽略的iOS设置来实现此目的。其他平台。
为什么这对我很重要&我为什么要打扰? 在谈论我正在创建的新应用程序的未来发展时,我需要向人们解释这三者之间的差异和重要性。我是应用程序世界的新手,并且不太了解对此的共识,我想在解释时听起来很有能力。我认为使用Webview的Java或Swift应用程序只是一个Web应用程序而不是混合应用程序。但如果添加更多内容,它可能会成为混合应用程序。但是从一开始我就可以看到它是一个混合应用程序。
答案 0 :(得分:10)
自从我开展工作以来,我可以分享自己对这个主题的理解:
混合应用:这些是使用HTML5,CSS等网络技术开发的,通常使用JavaScript编程。接下来,为了使他们能够使用Google Play商店或App Store进行分发,他们使用移动框架(例如PhoneGap
或Cordova
)进行构建。这导致为Android生成apk
文件,为iOS生成ipa
。然后,可以通过Google Play商店或App Store部署和分发这些文件。
所以,它有两个世界的东西:
网络应用:这些基本上是通过网络浏览器访问的 - 在apk
或ipa
文件等用户设备上无需安装。这些不是使用Google Play商店或Apple Store分发的。相反,可以使用设备的Web浏览器和相应的URLs
关于 WebView 这是操作系统提供的小部件,允许应用在应用内显示网页。
所以,如果你开发一个Android应用程序,使用标准Android SDK,但它只使用WebView
,它被视为原生应用(并非混合或web app)因为它使用的是Native SDK Component(WebView
)。此外,它将通过Google Play商店或App Store分发。
答案 1 :(得分:3)
WEBVIEW简介
Webview允许第三方应用在应用内浏览器或来自网络的应用屏幕中显示内容。
Android Webview是Android的一个组件,您可以从本地(资产目录)或从网络加载HTML页面。
Android WebView允许您通过查看URL或您自己的HTML标记页面将网页转换为您的Android应用程序。
Wep Apps
在您使用WebApps的Android中,当您不想集成任何Android功能时。
您完全依赖于您的网页(HTML,CSS,JAVASCRIPT等)。
这意味着您的网站和移动应用程序没有任何差异。
这是WebApps的基本示例.....
在清单文件中添加这2个权限....
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
activity_web.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/web"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
WebActivity .....
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
public class WebActivity extends AppCompatActivity {
private WebView mWeb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
mWeb = (WebView) findViewById(R.id.web);
mWeb.setWebViewClient(new MyBrowser());
mWeb.getSettings().setLoadsImagesAutomatically(true);
mWeb.getSettings().setJavaScriptEnabled(true);
mWeb.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
mWeb.loadUrl("https://www.google.co.in/");
}
@Override
public void onBackPressed() { //this is use for the accessing or impleament back button
if (mWeb.canGoBack())
mWeb.goBack();
else
super.onBackPressed();
}
}
MyBrowser .....
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
混合应用
在混合应用程序中我们只能实现WebPages的特定作品。
混合应用优势....
用户界面更具吸引力.......
在离线模式下工作.........
获取更多用户信息(如移动信息)。
更多关于用法........
文件存储(如: - 图像,视频等)............
在混合应用程序中,我们实现了一些特定的页面,如......
付款通道......
我们自己的广告(它需要大量的内存来存储图像和 android中的视频)........
以及.........
这就是我所知道的 WEBVIEW ........
享受编码........