iOS和Android应用程序只使用Webview,是被认为是混合应用程序还是Web应用程序?

11

我有些困惑,不知道用Java或Swift创建一个只有Webview的应用程序是属于混合应用还是Web应用。我知道Web应用几乎完全使用Web,但如果通过Java Webview实现Webview,它是否真的被认为是Web应用,或者它是混合应用,因为它具有使用本地和Web应用功能的潜力?关于这个特定定义,我得到了混杂的定义。

谷歌关于Web应用的说法如下:

在Android上提供应用程序的根本方法有两种:作为客户端应用程序(使用Android SDK开发并安装在用户设备中),或作为Web应用程序(使用Web标准开发并通过Web浏览器访问——用户设备上没有任何需要安装的东西)。 https://developer.android.com/guide/webapps/index.html

苹果关于Web应用的说法如下:

一个Web应用程序旨在以类似本地应用程序的方式进行外观和行为设计,例如,在iOS上它被缩放以适应整个屏幕。您可以通过使用iOS的设置来进一步定制您的Web应用程序,使其在用户将其添加到主屏幕时看起来像本地应用程序。其他平台会忽略这些设置。

https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html

为什么这对我很重要,我为什么要问这个问题? 我需要向人们解释在创建新应用程序的未来发展时谈论这三者之间的区别和重要性。我是应用程序世界的新手,不太了解此事的共识,并且我希望在解释时听起来很有能力。对于使用Webview制作的Java或Swift应用程序,我认为它只是一个Web应用程序,而不是混合应用程序。但是,如果添加了更多内容,则可以将其变成混合应用程序。但是我可以从一开始就看到它是一个混合应用程序。

2个回答

12

自从我开始从事这个领域以来,我可以分享一下我对这个主题的理解:

混合应用程序:使用Web技术如HTML5、CSS进行开发,并通常使用JavaScript来编写。接下来,为了能够通过Google Play商店或App Store进行分发,它们将使用移动框架例如PhoneGapCordova进行构建。这将生成适用于Android的apk文件和适用于iOS的ipa文件。然后,这些文件可以通过Google Play商店或App Store进行部署和分发。

因此,它具有两种世界的特点:

  1. 相同的代码库适用于Android和iOS(因为它们使用HTML/CSS/JS进行开发),并且2.类似于本机应用程序的分发模型,其使用Google Play商店或App Store。因此被称为混合应用程序。

Web应用程序:这些应用程序在基本上是通过Web浏览器访问的-用户设备上没有安装任何apkipa文件。这些应用程序不使用Google Play商店或App Store进行分发。而是可以使用设备的Web浏览器和适当的URLs进行访问。

关于WebView:它是操作系统提供的小部件,允许应用程序在应用程序内显示Web页面。

因此,如果您开发了一个Android应用程序,使用标准的Android SDK,但它仅使用WebView,则被认为是一个本机应用程序(而不是混合或Web应用程序),因为它使用了本机SDK组件(WebView)。而且,它将通过Google Play商店或App Store进行分发。


3
在混合应用中,HTML和JavaScript代码也被打包在应用程序可执行文件中,因此可以在没有互联网连接的情况下工作(前提是应用程序功能不需要互联网连接)。Web应用程序基本上是一个假装成应用程序的网页,因此每次启动时都要从网络下载。 - fishinear
@fishinear 是的, 同意!我猜“混合”的术语有点模糊,不是所有人都将其视为同一种。但区分混合应用与Web应用程序的方式在于它们的分发和部署。就像你所说的,Web应用程序假装是一个应用程序,但混合应用程序是真正的应用程序,可以存储在用户设备上,并使用特定于平台的应用商店进行下载... - AADProgramming
谢谢大家。我很感激你们的评论! - applecrusher

4

WEBVIEW介绍

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

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

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

网络应用程序

在Android中使用WebApps时,您不想集成任何Android功能。

您完全依赖于您的网页,如(HTML,CSS,JAVASCRIPT等)。

这意味着您的网站和移动应用程序没有区别。

这是WebApps的基本示例.....

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

  <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;
    }
}

混合应用

在混合应用中,我们可以实现网页的特定工作。

混合应用的优点......

用户界面更具吸引力......

可离线使用......

获取更多用户信息(如手机信息)。

以及更多关于使用的信息........

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

在混合应用中,我们实现了一些特定页面,例如...

支付网关......

我们自己的广告(在Android中存储图像和视频需要大量内存)........

还有更多.........

这就是我所知道的有关 WEBVIEW 的全部内容........

享受编码的过程........


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接