盲猜你不懂H5架构和原生架构的区别

本文探讨了原生应用与H5应用在开发方式、性能、交互体验、成本、跨平台性和功能限制等方面的差异,帮助读者理解两者的选择关键点。
摘要由CSDN通过智能技术生成
盲猜你不懂H5架构和原生架构的区别

1. App 的 3 种开发方式

表面上看,手机 App 都是同样的东西,就是手机上的应用程序,点击图标就能运行,但是它们的底层技术不一样。按照开发技术,App 可以分成三大类。原生应用(简称 nativeApp),Web 应用(简称 WebApp),混合应用(简称 hybridApp)这三类 App 的技术模型都不一样,各有优缺点。

图片

2. 原生架构

原生应用开发,是在 Android、iOS 等移动平台上利用官方提供的开发语言、开发类库、开发工具进行 App 开发。所以原生架构的 App 在应用性能上和交互体验上应该是最好的,但是原生应用的可移植性比较差,特别是一款原生的 App,Android 和 iOS 都要各自开发,同样的逻辑、界面要写两套。如微信 app,既有 Android 版的,也有 iOS 版的。

原生架构特点:

  1. 每一种移动操作系统都需要独立的开发项目。

  2. 每种平台都需要独立的开发语言和工具,比如 Android 系统上的应用是利用 Java、eclipse、Android studio 来进行开发,iOS 系统是上的应用则是利用 Objective-C 和 Xcode 来进行开发的。

  3. 更加贴近底层,因此他的操作更加的流畅,对于调取底层功能也是很容易的,如相机。

  4. 开发成本高(针对不同的手机操作系统都要进行独立的开发),开发周期长,更新迭代缓慢,上架时需要等待官方审核通过

 

 

3. H5 架构

H5 开发就是值是利用 Web 技术(HTML5、JavaScript、CSS)进行的 App 开发,现在还有一些开发框架可以利用,比如 phoneGap、bootstrap、jQuery 等。H5 开发的好处是可以跨平台,编写的代码可以同时在 Android、iOS、Windows 上进行运行。由于 Web 技术本身的限制,H5 移动应用不能直接访问设备硬件和离线存储,所以在体验和性能上有很大的局限性。

H5 架构特点:

  1. 方便测试,只需要输入网址就可以进行测试,是基于浏览器的,可以跨平台使用。

  2. 想要新增功能直接在后台添加即可,不需要通知用户升级。

  3. 量级低,开发成本很低,而且相应的他也不需要安装包。

  4. 对网络非常依赖,一断网就歇菜功能单一,主要用于展示,无法调用底层功能,比如相机。

 

 

 

4.H5 架构与原生的区别
  1. 原生的页面运行速度快,比较流畅。H5 页面相对原生的运行性能低,特别是一些动画效果有明显卡顿。

  2. H5 页面的很多交互都没有原生的好,比如弹层、输入时候的页面滑动 等。H5 的效果相对比较 low,没有原生的好看,也没有原生默认的动画等效果。

  3. 原生 APP 修改页面要重新发布,等待审核(现在 iOS 的审核速度已经提高到 1 天到 2 天)。H5 页面的修改 可以随时上线,不用等待审核。

  4. H5 跨平台,iOS 和 Android 可以共用一套代码;原生则需要各自开发相对原生,H5 开发成本低。

  5. 原生 APP 能很好的使用设备底层功能,如摄像头、方向传感器、重力传感器等。H5 则有所限制,比如 Android 里的 H5 对摄像头和方向传感器就需要再多做一些处理。

  6. H5 过度依赖于网络,网络不好的时候卡到不行,并且刚打开看到的都是一个空白页面。默认的 H5 页面每次打开都会重新请求页面(可以做缓存,不过基本很少有做的)。

  7. H5 比原生更费流量,H5 除了加载 HTML 还要加载 js、CSS 这些资源文件,相比原生网络加载速度慢。

 

  • 19
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值