应用与网页内分享的异同

应用内分享

说明

  • 因为本人对安卓的具体开发流程不是很了解,如无特别说明,本文说的应用特指iOS应用。

  • 因为本人只了解网站的基本开发,所以关于网页的说明只会涉及其基本特征。

  • 本文所说的分享,如果特别说明,特指使用第三方分享SDK。

第三方打开与分享的异同

相同

  • 都可以跳转到第三方应用。

  • 对于第三方应用,只能打开或分享其支持的类型。

不同

  • 第三方打开必定会打开第三方应用并跳转;分享有可能只停留在原应用。

  • 第三方打开是由第三方应用注册其支持的打开类型,并由系统自动调用;分享时本应用提前知道第三方应用所支持类型,并主动调用接口进行分享。

  • 第三方打开由系统自动调用,不需要引入第三方框架;而分享需要引入框架并在各个平台进行注册。

  • 第三方打开调用系统控件;分享调用自定义控件或第三方分享控件,比如shareSDK提供的接口等。

注册shareSDK

图为shareSDK下载SDK的过程,需要自定义包含不同分享平台框架。

分享的流程

  1. 引入第三方的SDK,并选择需要包含的平台框架。

  2. 在需要支持分享的各个平台上注册信息,等待审核并配置好系统设置。

  3. 调用SDK接口进行分享。

  4. 在回调中处理后续事务。

应用与网页内分享的异同

相同

  • 都需要使用第三方SDK。

  • 都需要在各个分享平台注册信息。

  • 都需要熟悉SDK的接口。

不同

应用是编译型的;网页是解释型的

应用是根据编译的结果来运行的,只有编译好的应用才能运行,即应用在运行的时候是确定的。所以,应用需要事先就引入第三方分享框架,并且不能随时改变。

而网页是解释型的,即只有在运行的时候才能确定它的具体运行轨迹。网页可以在任意位置包含任何链接,并跟随链接内容的不同执行不同的方法得到不同的结果。

所以,应用内如果需要分享,则需要独立引入不同平台的分享框架,而且必须在应用内独立引入,通过编译之后才可以运行。而网页则不同,可以由第三方直接选择引入的框架,并且随时根据配置的不同增减分享的平台。

应用有容量限制;网页容量无限

应用需要打包发布,商店上可以直接看到应用包的大小,对于每一个新增的框架都会影响安装包的大小,过大的安装包不仅会影响到用户的下载,而且苹果商店也会对不同大小的安装包做出不同的限制。

网页没有安装包的概念,内容都是自动链接的,并且可以动态链接。所以无论引入多少个分享平台,都可以只在用户需要分享的时候再加载。

一种可能的改进方案

在应用内嵌入网页,貌似是一种不错的选择。好处是可以动态支持不同的分享平台,又不受容量限制。但这种做法也会降低应用的原生体验。