一:概念辨析

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. day 57 jQuery插件

    在jQuery的console里面 '321'+8  输出结果是"3218"  直接作为字符串给拼接上了 如果是"321"-8 输出结果就是313 直接转换成数 ...

  2. bind注意事项(传引用参数的时候)

    默认情况下,bind的那些不是占位符的参数被拷贝到bind返回的可调用对象中. 当需要把对象传到bind中的参数中时,需要使用ref或者cref. 例如: #include<iostream&g ...

  3. css3 webkit-box的用法

    webkit-box 1.之前要实现横列的web布局,通常就是float或者display:inline-block; 但是都不能做到真正的流体布局.至少width要自己去算百分比.2.flexibl ...

  4. 20172328《程序设计与数据结构》实验四 Android程序设计报告

    20172328<程序设计与数据结构>实验四 Android程序设计报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 李馨雨 学号:20172328 实验教师:王志 ...

  5. SpringBoot学习历程

    新年新气象,更新了一下本人所有写的关于SpringBoot的文章目录,感谢大家长期以来的支持,在接下来的日子还会不定期的进行更新. 入门 使用IntelliJ Idea新建SpringBoot项目 S ...

  6. SPOJ COT3.Combat on a tree(博弈论 Trie合并)

    题目链接 \(Description\) 给定一棵\(n\)个点的树,每个点是黑色或白色.两个人轮流操作,每次可以选一个白色的点,将它到根节点路径上的所有点染黑.不能操作的人输,求先手是否能赢.如果能 ...

  7. DFS 算法总结

    DFS 算法总结 这篇文章会对DFS进行一个总结,列举的题目则是从LeetCode上面选的: 适用场景: 有三个方面,分别是输入数据.状态转换图.求解目标: 输入数据:如果是递归数据结构,如单链表,二 ...

  8. 英语口语练习系列-C28-海滨-辨别身份-悬崖边的树

    beach 海滨 brown hut near body of water green trees near sea during daytime photography 海滨度假胜地 beach [ ...

  9. 潭州课堂25班:Ph201805201 django 项目 第二十一课 文章主页 新闻列表页面功能 (课堂笔记)

    新闻列表页功能 1.分析 业务处理流程: 判断前端传的标签分类id是否为空,是否为整数.是否超过范围 判断前端传的当前文章页数是否为空,是否为整数.是否超过范围 请求方法:GET url定义:/new ...

  10. 关于在ViewPager的子页面中不能跳转的问题

    关于在ViewPager的子页面中不能跳转的问题 什么是ViewPager? 相信很多人使用过微信,其实微信的四个子页面:微信.通讯录.发现.我以及下面的引导空间就是ViewPager. 出现的问题: ...