因为工作需要,需要进一步了解移动端的开发,遂返回复习移动端的知识点,在开始学习之前,产生了疑惑WEB APP 、Native APP 、Hybrid APP、React Native、Uniapp、H5这些东西到底是什么?感觉是那么熟悉,单词拆分开每一个都认识,但是合在一起就完全不知道什么意思了,遂自行百度查询,自己解自己的惑吧。

个人博客,理解不具权威性。

一.WEB APP

  通俗的理解,WEB APP 即为使用HTML、CSS、JS三大前端基础进行开发的WEB APP,是基于浏览器进行运行使用的;使用HTML、CSS、JS可以在浏览器上怎么开发网页,那么WEB APP也是一样,只是浏览器的使用场景放在了手机等移动端设备上。

  那么产品转移到了移动端上,跟电脑端有几点不同和需要注意:

  ①适配,手机的屏幕尺寸是比电脑小很多的,因此不能用传统的电脑端去衡量一个手机端的屏幕显示,在开发的时候可在CSS头部加上@media屏幕大小判断(可选择REM取代PX来进行大小适配),也可使用JS提供的navigator对象获取客户使用的设备,根据设备来相应的显示,这与在CSS中配置@media是一样的道理。

  ②交互,电脑端的交互就是鼠标点点点,然后键盘可以敲敲敲,但是手机端不一样,手机端其实交互很单一,现在都是大屏手机,基本上大家也就是点点、滑滑然后再输入,所以在使用移动端开发WEB APP的时候,要注意客户的使用场景,WEB APP比电脑端操作少很多,也功能简单了很多。

  ③性能与速度,手机端不比电脑端,电脑端的网络都是比较稳定的,要么是光缆,就算是wifi也是信号很强的,但是手机端是不一定的,2G、3G、4G都有可能,用户的网络有不稳定的因素,所以在开发WEB APP时应该注意不能使用较大的资源,比如引入非常大的js文件,花费客户大量的时间去请求,且因为是运行在手机浏览器上,不同移动设备的浏览器也是参差不齐的,用户容易出现页面根本加载不出来,或者运行及其缓慢的现象。

  ④与手机设备原生的一些功能调用是比较差的。比如摄像头这些,WEB APP他不像安卓这种原生APP,原生APP对设备的支持是很好的,浏览器的话相当于中间是要使用浏览器这个中间件去调用,上面说到了不同浏览器参差不齐所以效果可想而知。

  现在的理解大概是这样,后面深入了再补充和修改吧。

二.Native APP

  即原生APP,原生APP就是我们实实在在运行在手机设备上的应用,在APP store 应用商店都有的,需要下载和安装,那么主要从区别上来讲讲对这个的理解吧

  ①使用的语言。安卓使用java、苹果使用swift。

  ②使用速度非常的快,比WEB APP速度快非常多。

  ③与人的交互更为支持,对设备的比如摄像头的功能调用非常方便。

  ④很难,比如你想学安卓开发,你还得学习java;那你要想开发ios,还必须学习swift。

三.Hybrid APP

  Hybrid 可以理解为是WEB APP和Native APP的混合,使用的语言是HTML、CSS、JS。

  ①不需要浏览器运行

  ②比WEB APP 好一点, 比Native APP 稍微差一点

  这个不甚了解..

四.React Native / Uniapp

  这个就是纯前端的东西了,使用React 和 Vue 框架作为技术支撑的开发,可以理解为移动端版的VUE和React。

  但这两个有个非常好的好处,也是大前端的发展趋势一个分支,那就是一套代码,多端使用。

  一套代码,多端使用:假如我使用uniapp,我则只需要使用vue的语法,加上uniapp提供的各式各样的api,我就可以开发出一个编译后可在浏览器WEB APP、手机设备NATIVE APP、小程序、H5都能使用的东西,是不是很强大? 当然在全面性上面比不上native,但是应付一些简单的工作需要已经搓搓有余了。

五.H5

  H5其实是一个称呼,他本身就是HTML、CSS、JS,但是因为易企秀、微信推广,让这种简单模式的有音乐播放功能、可以上下滑动等交互功能,但入门门槛极低,不需要去学习HTML、CSS、JS,你可以把他想象成,对HTML、CSS、JS进行了一次封装,我调用这个函数可以实现放音乐,还能送我一个音乐播放器;我调用另一个函数,就可以实现页面文字一排一排的浮现。但其实呢,我们前端完全可以写,他本来也就是HTML、CSS、JS写出来的,只是换了一个噱头,让人简单易上手。我们使用框架大抵也是如此吧。

六.小程序

移动端学习之理解WEB APP、Native APP、Hybrid APP以及React Native/uniapp包括H5、小程序等的区别与共通之处的更多相关文章

  1. 基于uniapp自定义Navbar+Tabbar组件「兼容H5+小程序+App端Nvue」

    uni-app跨端自定义navbar+tabbar组件|沉浸式导航条|仿咸鱼凸起标签栏 在跨端项目开发中,uniapp是个不错的框架.采用vue.js和小程序语法结构,使得入门开发更容易.拥有非常丰富 ...

  2. 【Hybrid App】关于Hybrid App技术解决方案的选择

    [引言]近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员,技术成熟度,时间,项目需求等一堆的因素.因此,开发App的方案已经变得越来越多 ...

  3. uniapp之uni-starter小程序多端研发框架搭建与项目实践

    随着移动互联网的飞速发展,无数移动APP琳琅满目:在移动App的发展的基础上,衍生了小程序.轻应用技术,它随时可用,但又无需安装卸载.小程序是一种不需要下载安装即可使用的应用,它实现了应用" ...

  4. React Native入门 开发第一个React Native应用

    1. 首先创建一个目录(比如ReactNativeDir),用于存放各个ReactNative工程的代码 2.使用React Native命令工具来创建(初始化)一个ReactNative项目(tes ...

  5. 分享一份软件测试项目实战(web+app+h5+小程序)

    大家好,我是谭叔. 本次,谭叔再度出马,给大家找了一个非常适合练手的软件测试项目,此项目涵盖web端.app端.h5端.小程序端,可以说非常之全面. 缘起 在这之前,谭叔已经推出了九套实战教程. 但是 ...

  6. react-native学习笔记--史上最详细Windows版本搭建安装React Native环境配置

    参考:http://www.lcode.org/react-native/ React native中文网:http://reactnative.cn/docs/0.23/android-setup. ...

  7. 基于uni-app全端弹框组件uaPopup「兼容h5+小程序+app端|nvue」

    uniapp兼容多端自定义模态弹框组件UAPopup ua-popup 一款轻量级的uniapp自定义弹窗组件.汇集了android.ios和微信弹窗效果(msg消息.alert提示框.dialog对 ...

  8. React Native调试实用技巧,React Native开发者必会的调试技巧

    在做React Native开发时,少不了的需要对React Native程序进行调试.调试程序是每一位开发者的基本功,高效的调试不仅能提高开发效率,也能降低Bug率.本文将向大家分享React Na ...

  9. 【React Native】在原生和React Native间通信(RN调用原生)

    一.从React Native中调用原生方法(原生模块) 原生模块是JS中也可以使用的Objective-C类.一般来说这样的每一个模块的实例都是在每一次通过JS bridge通信时创建的.他们可以导 ...

随机推荐

  1. PyQt(Python+Qt)学习随笔:QMainWindow的setDockNestingEnabled作用案例图解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 QMainWindow的setDockNestingEnabled的作 ...

  2. js onreadystatechange 和 onload的区别

    IE的script 元素只支持onreadystatechange事件,不支持onload事件. FF的script 元素不支持onreadystatechange事件,只支持onload事件. 如果 ...

  3. 【题解】「CF363A」Soroban

    哎呀呀,咕值要掉光了,赶快水篇题解( solution 这题就是个纯模拟,首先我们根据输出样例看一下输出算盘的规则. 看数最大的 720 ,我们发现,输出的算盘张这样(之所以我不用代码框而用 \(\K ...

  4. AcWing 400. 太鼓达人

    大型补档计划 题目链接 神仙题.考虑转为图论模型. 若以 \(2 ^ k\) 个点,相互转化,很容易看出要求一个哈密尔顿环,显然对于 \(1000\) 规模的数据求不出来. 对于图论中环的算法,并且能 ...

  5. sqli-labs 54-65(CHALLANGES)

    challenges less-54 less-55 less-56 less-57 less-58 less-59 less-60 less-61 less-62 less-63 less-64 l ...

  6. python(iJmeter-master)接口测试程序部署实践

    记录学习性能测试过程遇到的问题 环境 安装环境如下: Windows 10 1803 VMWare Workstation 15 Pro Centos Linux release 7.9.2009(c ...

  7. vue 修改数据

    通过数组中的方法改变数据 变异方法(改变原数组) push() pop() shift() unshift() splice() sort() reverse() 替换数组(生成新数组) filter ...

  8. css 06-CSS盒模型详解

    06-CSS盒模型详解 #盒子模型 #前言 盒子模型,英文即box model.无论是div.span.还是a都是盒子. 但是,图片.表单元素一律看作是文本,它们并不是盒子.这个很好理解,比如说,一张 ...

  9. OS第六章

    OS第七次实验 多进程 添加一个进程体 添加进程B,首先设置i的初值为0x1000,这样来方便程序运行时的时候能区分.其余地方与A一致. 相关变量和宏 Minix中定义了一个数组,叫做tasktab的 ...

  10. layui的登录页面设计

    主要的结构 先导入layui的主要的js和css等 <html> <head> <meta charset="utf-8"> <title ...