一:概念辨析

Web App:生存在浏览器里的应用,只能运行在浏览器里,宿主是浏览器,不是操作系统。资源一般都在网络上,就是一个触屏版的网站。如:微信公众号。不需要在设备上下载安装,只需通过浏览器即可访问、运行。

【但:也能通过第三工具打包成为可安装的app】

    Hybrid App:一个半原生程序,内嵌了一个原生的浏览器组件,把地址写死,然后里面运行了一个webapp。它也需要下载安装,虽然看上去是一个Native App,但只有一个UI WebView。半原生主要体现在:根据运行的系统而不同,需要打包成不同的app安装包(apk\ipa)。“Hybrid App同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装相应系统的移动应用”。
 
    Native App:一个原生程序,一般运行在机器操作系统上,一般静态资源都是在本地。浏览使用方便,体验度高。原生App是专门针对某一类移动设备而生的,它们都需要下载安装到设备里
    
 
二:把页面放在后台
    “能不放到前端,就尽量不要放到前端。做app(页面等在客户端)最终只会把自己赶上绝路。”
    原生App、WebApp打包生成的app,都是把页面、资源放在了客户端,好处是:加快了速度,缺点是:后面难维护、难迭代更新。【每次变动都需要重新发布安装包,用户需要重新安装应用】
    页面放在后端的好处:有变动,只需修改服务器上的页面文件即可,用户下一次打开时就是最新的页面。
 
三:技术选型
    1:不涉及原生调用的、面向业务的应用:做成WebApp,从微信、qq等地方提供一个入口即可,运行在微信内置浏览器、手机浏览器中。
    2:WebApp、H5程序打包成app:用HBuilder将WebApp、H5程序首页地址进行打包;得到的app默认打开到首页地址,之后app相当于一个浏览器内核,在其内就可以像操作原生app一样去操作页面了。【优点:资源全部放在后台,方便更新改动;用H5来开发,提高效率、自适应性好;整个App唯一受限于首页地址,首页地址变了需要重新打包,也可以直接在后台将原首页地址redirect到新首页地址即可。

3:业务复杂、页面多、数据多的跨平台应用:用跨平台开发技术,一套逻辑代码,打包成两种安装包;

4:业务场景特定、需求特别明确、性能要求严格、受硬件限制 的应用:如基于Android系统的设备,在其上开发控制类、交互应用,肯定是选用Android原生;还有游戏类收到硬件限制严重的应用,也肯定是用原生开发。

移动应用开发技术选型:WebApp>HybridApp>NativeApp的更多相关文章

  1. 05- 移动端APP的分类 与对比webApp hybridApp nativeApp

    随着智能手机的普及,移动端应用几乎成为每个互联网产品的标配.在快速迭代的互联网战场中高效开发.低成本上线产品,是每个应用开发团队追求的目标.此时,选择合适的应用类型和开发模式便至关重要.移动应用可以粗 ...

  2. Web开发技术选型之Java与PHP

    PHP与J2EE的对比 网上有很多关于PHP与J2EE之间的对比,细观无非以下几点: 1.语言特征 PHP为脚本语言,解释型语言,弱类型,专为Web开发打造.Java为C语言系编程语言,编译型,强类型 ...

  3. Android 开发技术选型(博客,新闻,阅读类)

    前言 最开始学习写应用的时候,发现类聚合数据这个平台可以提供一些免费数据接口,于是写了个人的第一个应用-– JuheNews,当时的知识储备稍显粗糙,虽然现在的知识也不咋滴,但是相对之前而言还是有些进 ...

  4. 关于APP,原生和H5开发技术的争论 APP开发技术选型判断依据

    关于APP,原生和H5开发技术的争论 App的开发技术,目前流行的两种方式,原生和Html5.原生分了安卓平台和ios平台(还有小众的黑莓.死去的塞班就不说了),H5就是Html5. 目前争论不休的问 ...

  5. 国内混合APP开发技术选型

    http://www.sunzhongwei.com/weex-react-native-ionic-technology-selection 选谁? 企业级应用是要考虑性能和流畅度的, 如果只是做个 ...

  6. Atitit 开发2d游戏的技术选型attilax总结

    Atitit 开发2d游戏的技术选型attilax总结 1.1. 跨平台跨平台:一定要使用跨平台的gui技术,目前最好的就是h5(canvas,webgl,dom) +js了..1 1.2. 游戏前后 ...

  7. 基于SpringBoot从零构建博客网站 - 技术选型和整合开发环境

    技术选型和整合开发环境 1.技术选型 博客网站是基于SpringBoot整合其它模块而开发的,那么每个模块选择的技术如下: SpringBoot版本选择目前较新的2.1.1.RELEASE版本 持久化 ...

  8. Unity外包团队:关于手机unity游戏开发的技术选型

    技术选型 Unity引擎内置了多人联机的解决方案,涵盖了从最底层的网络数据传输,到不同玩家之间的消息发送,再到游戏大厅这样的高级功能.考虑到Unity官方提供的云服务(Internet Service ...

  9. 前端开发工程师 - 05.产品前端架构 - 协作流程 & 接口设计 & 版本管理 & 技术选型 &开发实践

    05.产品前端架构 第1章--协作流程 WEB系统 角色定义 协作流程 职责说明 第2章--接口设计 概述 接口规范 规范应用 本地开发 第3章--版本管理 见 Java开发工程师(Web方向) - ...

随机推荐

  1. redis在Windows10下的安装

    以前在linux学习了redis,考虑到电脑负荷,这次学习一下如何在本地Windows下安装redis,进行学习. 下面的一些安装的步骤: 1.下载 网址:https://github.com/Mic ...

  2. IDEA创建lo4j模板

    复制文字到文本框中: log4j.rootLogger=DEBUG,stdout log4j.logger.org.mybatis=DEBUG log4j.appender.stdout=org.ap ...

  3. Linux git 在自己的服务器上建立 git 仓库(repository)

    Linux git 在自己的服务器上建立 git 仓库(repository) 服务器端: 在这里使用 ssh 方式登陆: ssh [username]@server_address(建议用超级用户登 ...

  4. 搭建本地maven库(nexus服务器)

    第一步,下载https://www.sonatype.com/download-oss-sonatype 别下3.x版本,下2.x版本 第二步,解压,在bin目录下执行cmd命令,nexus inst ...

  5. ACM-ICPC Beijing 2016 Genius ACM(倍增+二分)

    描述 给定一个整数 M,对于任意一个整数集合 S,定义“校验值”如下: 从集合 S 中取出 M 对数(即 2∗M 个数,不能重复使用集合中的数,如果 S 中的整 数不够 M 对,则取到不能取为止),使 ...

  6. 深度学习中的batch_size,iterations,epochs等概念的理解

    在自己完成的几个有关深度学习的Demo中,几乎都出现了batch_size,iterations,epochs这些字眼,刚开始我也没在意,觉得Demo能运行就OK了,但随着学习的深入,我就觉得不弄懂这 ...

  7. [洛谷P1886]滑动窗口 (单调队列)(线段树)

    ---恢复内容开始--- 这是很好的一道题 题目描述: 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口. 现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的 ...

  8. word插入行

    如何在Word中添加多行或多列 在弹出的列表中选择[插入],再选择[在下方插入行]即可. 选择多少行就可添加多少行. 按F4重复上一操作可快速添加. 添加列也同样如此,选中一个单元格,右键单击,在弹出 ...

  9. 洛谷P1541 乌龟棋(四维DP)

    To 洛谷.1541 乌龟棋 题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 题目描述 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第N格是终点,游 ...

  10. 2004 ACM 成绩转换 两种方法

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2004 中文题目,简单题. 题意:将分数转换成ABC制 查表法 #include <stdio.h&g ...