Java 是IOS&;只有Webview的Android应用被认为是混合应用,还是Web应用?

Java 是IOS&;只有Webview的Android应用被认为是混合应用,还是Web应用?,java,android,ios,web-applications,webview,Java,Android,Ios,Web Applications,Webview,我感到困惑的是,用Java或Swift创建的应用程序只包含一个webview是一个混合应用程序,还是一个Web应用程序。我知道Web应用程序几乎只使用Web,但如果它是通过Java Web视图的Web视图,它真的被视为Web应用程序还是混合应用程序,因为它有可能同时使用本机和Web应用程序功能?对于这个特殊的定义,我有不同的定义 谷歌说这是关于网络应用的: 在Android上交付应用程序基本上有两种方式:作为客户端应用程序(使用Android SDK开发并安装在APK中的用户设备上)或作为web

我感到困惑的是,用Java或Swift创建的应用程序只包含一个webview是一个混合应用程序,还是一个Web应用程序。我知道Web应用程序几乎只使用Web,但如果它是通过Java Web视图的Web视图,它真的被视为Web应用程序还是混合应用程序,因为它有可能同时使用本机和Web应用程序功能?对于这个特殊的定义,我有不同的定义

谷歌说这是关于网络应用的:

在Android上交付应用程序基本上有两种方式:作为客户端应用程序(使用Android SDK开发并安装在APK中的用户设备上)或作为web应用程序(使用web标准开发并通过web浏览器访问,无需在用户设备上安装)。

苹果对网络应用的看法如下:

web应用程序的外观和行为设计与本机应用程序的外观和行为类似,例如,它可以缩放以适应iOS上的整个屏幕您可以进一步为iOS上的Safari定制web应用程序,在用户将其添加到主屏幕时使其看起来像本机应用程序。您可以使用其他平台忽略的iOS设置来实现这一点

为什么这对我很重要&为什么我要费心问?
在谈到我正在开发的新应用程序的未来开发时,我需要向人们解释这三者之间的区别和重要性。我是应用世界的新手,不太理解大家对这一点的共识,我想在解释时让自己听起来很有能力。我会考虑使用一个WebVIEW只是一个Web应用程序而不是混合应用程序的java或SWIFT制作的应用程序。但如果增加更多,它可能会成为一款混合应用。然而,我可以看到它从一开始就是一个混合应用程序

网络视图简介

Webview允许第三方应用程序在应用程序内浏览器或从web提取的应用程序屏幕中显示内容

Android Webview是Android的一个组件,您可以从本地(资产目录)或web加载HTML页面

Android WebView允许您通过查看URL或您自己的HTML标记页面将网页转换为Android应用程序

Wep应用程序

在安卓系统中,当你不想集成安卓系统的任何功能时,你可以使用WebApps

您完全依赖于您的Web页面,如(HTML、CSS、JAVASCRIPT等)

这意味着你的网站和手机应用程序没有区别

这是WebApps的基本示例

在清单文件中添加这2个权限

  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.INTERNET" />
我的浏览器

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;
    }
}
混合应用程序

在混合应用程序中,我们只能实现特定的网页作品

混合应用程序优势

用户界面更具吸引力

在脱机模式下工作

获取用户更多信息(如移动信息)

更多关于用法的信息

文件的存储(如:-图像、视频等)

在混合应用程序中,我们实现了一些特定的页面,如

付款方式

我们自己的广告(它需要大量内存来存储图像和 android视频)

还有更多

这就是我对网络视图所知的全部内容


喜欢编码……。

因为我一直在研究它,所以我可以分享我自己对这个主题的理解:

混合应用程序:这些应用程序使用HTML5、CSS等网络技术开发,通常使用JavaScript编程。接下来,为了让他们能够使用Google Play store或App store进行分发,他们使用移动框架构建,例如
PhoneGap
Cordova
。这导致android生成了
apk
文件,iOS生成了
ipa
。这些文件可以通过Google Play store或App store进行部署和分发

所以,它有两个世界:

  • android和ios的代码基础相同(因为它们是使用HTML/CSS/JS开发的)和2。使用Google Play store或app store的本地类应用程序分发模型因此得名为Hybrid。
  • Web应用程序:这些应用程序基本上是通过Web浏览器访问的,用户设备上没有安装像
    apk
    ipa
    文件这样的东西。这些不是使用谷歌Play商店或苹果商店分发的。相反,可以使用设备的Web浏览器和相应的
    URL

    关于WebView是操作系统提供的小部件,允许应用程序在应用程序中显示网页


    因此,如果您使用标准Android SDK开发Android应用程序,但它只使用
    WebView
    ,则它被视为本机应用程序(而不是混合或web应用程序),因为它使用本机SDK组件(
    WebView
    )。此外,它将通过Google Play store或App store分发。

    在混合应用程序中,html和JavaScript代码也捆绑在应用程序可执行文件中,因此在没有可用的internet连接时可以工作(前提是应用程序功能不需要internet连接)。Web应用程序基本上是一个假装是应用程序的网页,因此每次启动它时都会从Web上下载。@fishinear是的,同意!我猜“混合动力”这个词有点模糊,并不是所有人都把它当作同一个词来看待。但混合应用与web应用的区别在于它们的分布和部署方式。正如你所说,网络应用程序假装是一个应用程序,但混合应用程序是“真实”的应用程序,存在于用户的设备上,并使用特定于平台的应用程序商店下载……谢谢大家。我感谢你的评论!
    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();
        }
    }
    
    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;
        }
    }