应用一词指的是app,即application。
原生应用指的是能直接运行于当前操作系统的应用程序;
web应用指需要在浏览器中运行的网页应用,由于界面体验、功能上都更加强大,可媲美原生应用,故称web应用;
混合应用则是两者的结合,通常是一个原生应用内嵌了浏览器。
以手机APP为例:
原生应用(native),酷狗音乐、美图秀秀,此类APP可称之为原生;
web应用,通过UC浏览器打开抢票助手、充值易,这类就是web应用;
混合应用(hybrid),天猫、携程、58同城这类APP,大多数是在原生的壳基础上包装了web页面,比如58同城的帖子、天猫的活动页面、携程的订单详情页面,都是内嵌网页的实现。
最简单的区分办法:
关闭手机网络,然后打开应用,如果可以正常使用的,一般就是原生的,如照相机,计算器等
如果只能显示app的结构,图片链接什么的都打不开,提示检查网络的就属于混合的,比如淘宝,京东等
如果打开后直接显示页面没有找到请重试的,就是web的,比如一些新闻app,ZAKER
Webview
主要就是用来加载网页的,如果你做浏览器相关的应用,肯定要使用webview.还有就是,如果你访问自己的网页,可以使用Webview,通过webview能与JS互动,这样你就可以实现手机与网页的时时互动了.
Activity
Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。
简单的说:Activity就是布满整个窗口或者悬浮于其他窗口上的交互界面。在一个应用程序中通常由多个Activity构成,都会在Manifest.xml中指定一个主的Activity,如下设置:
<actionandroid:name="android.intent.action.MAIN" />
当程序第一次运行时用户就会看这个Activity,这个Activity可以通过启动其他的Activity进行相关操作。当启动其他的Activity时这个当前的这个Activity将会停止,新的Activity将会压入栈中,同时获取用户焦点,这时就可在这个Activity上操作了。都知道栈是先进后出的原则,那么当用户按Back键时,当前的这个Activity销毁,前一个Activity重新恢复。
它的四种状态:Active/Runing--Paused--Stopped--Killed
状态变化图:
