前端热门词汇H5

481 阅读3分钟

一,关于H5

​ H5是现在前端出现的热门词汇,它是目前的主流开发技术之一,很多初学者对它的理解都是模模糊糊的!搞不懂它到底是个什么,官方也没有明确的定义,借鉴阮一峰老师的文章我也做了一些简单的总结。

二,手机APP的分类

  • 原生应用(native application,简称 native App)

    2.1概览

    原生 App 使用与手机操作系统相同的语言。iOS 的原生 App 使用 Objective-C 语言或 Swift 语言,安卓使用 Java 语言或 Kotlin 语言。由于跟底层系统的语言和技术模型一致,所以原生 App 的性能和用户体验都很好。

    2.1优点

    2.1.1较好的性能和体验;

    2.1.2可以使用系统的所有硬件和软件 API,比如 GPS、摄像头、麦克风、加速计、通知推送等等,能充分发挥系统的潜力;

    2.2缺点

    2.2.1开发成本高、周期长,要招聘对应的安卓和IOS工程师;

    2.2.2原生 App 必须下载安装才能使用,用户不愿意升级还得维护以前的版本;

  • Web 应用(web application,简称 Web App)

    2.1概览

    Web App 是使用网页做的应用程序,必须在浏览器中使用。 比如,你在浏览器中收发邮件,就是在使用 Web App。

    2.1优点

    2.1.1不需要下载安装,打开浏览器就能使用,而且总是使用最新版本;

    2.1.2开发快,调试容易,不需要应用商店审核即刻发布;

    2.2缺点

    2.2.1通过网页渲染,性能不如原生APP;

    2.2.2必须通过浏览器才能使用;

  • 混合应用(hybrid application,简称 hybrid App)

    2.1概览

    混合 App (hybrid App)顾名思义就是原生 App 与 Web App 的结合。它的壳是原生 App,但是里面放的是网页。 可以理解成,混合 App 里面隐藏了一个浏览器,用户看到的实际上是这个隐藏浏览器渲染出来的网页。

    2.1优点

    2.1.1跨平台;

    2.1.2很灵活;

    2.1.2开发方便;

    2.2缺点

    2.2.1通性能不如原生APP;

    2.2.2必须通过浏览器才能使用;

三,H5页面

H5 这个词,可以理解成就是混合 App 模型,只不过它特指混合 App 的前端部分。 因为混合 App 的前端就是 HTML5 网页,所以简称 H5。这个词是国内独有的,基本上都是前端程序员在用,国外不用这个词,就直接叫混合 App。真正理解 H5 开发,需要先搞清楚什么是原生 App、什么是 Web App,因为混合 App 是在它们的基础上诞生的。

​ 我在公司里也开发过H5页面,其实也就是原生APP点击某个地方弹出的一个网页,比如:点击“关于”进入公司简介的页面,点击“功能说明”进入的页面等。

四,手机APP技术栈

  • (1)原生 App 技术栈 (native technology stack)

    原生技术栈指的是,只能用于特定手机平台的开发技术。比如,安卓平台的 Java 技术栈,iOS 平台的 Object-C 技术栈或 Swift 技术栈。

  • (2)混合 App 技术栈 (hybrid technology stack)

    混合技术栈指的是开发混合 App 的技术,也就是把 Web 网页放到特定的容器中,然后再打包成各个平台的原生 App。所以,混合技术栈其实是 Web 技术栈 + 容器技术栈,典型代表是 PhoneGap、Cordova、Ionic 等框架。

  • (3)跨平台 App 技术栈 (cross-platform technology stack)

    跨平台技术栈指的是使用一种技术,同时支持多个手机平台。它与混合技术栈的区别是,不使用 Web 技术,即它的页面不是 HTML5 页面,而是使用自己的语法写的 UI 层,然后编译成各平台的原生 App。

    这个技术栈就是纯粹的容器技术栈,React Native、Xamarin、Flutter 都属于这一类。学习时,除了学习容器的 API Bridge,还要学习容器提供的 UI 层,即怎么写页面。

(本文完)

说明:

​ 本文摘自阮一峰老师,详情请阅读:

​ 1,[www.ruanyifeng.com/blog/2019/1…]:

​ 2,[www.ruanyifeng.com/blog/2019/1…]: