一:概念辨析

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. 20165235 祁瑛 Java第四周考试总结

    20165235 祁瑛 Java第四周考试总结 课后习题p29 p45 代码编写 import java.util.*; class Example2_5{ public static void ma ...

  2. day 61 Django part-1 django的安装,以及初学者三件套(以及settings中的mysql配置)

    我们的django到底是什么东西呢? 我们的代码都是在后台写的,包括我们的pycharm都是属于后台的工具,但是我们的后端开发说到底是需要开发完了之后拿到用户面前的,让我们的用户看到我们的东西,首先要 ...

  3. fastAdmin进阶

    基本知识流程一栏链接 bootstrapTable fastadmin系统配置(符内置规则): fastadmin默认的controller已实现的方法 一张图解析fastadmin的表格: fast ...

  4. Java实现简单计算器、抽票程序

    计算器: import java.awt.BorderLayout; import java.awt.Container; import java.awt.Font; import java.awt. ...

  5. [ 高危 ] my存在sql注入

    rank和金币这算RMB为700 这算一个手机端的网站,往往手机端的功能和PC端的功能可能代码写的不一样,接口不一. 登录后,在xxx.maoyan.com/authcenter/wxpay/m?ap ...

  6. iOS应用 数据存储方式 (一)

    沙盒是每个应用程序的空间,每个应用程序只能访问自己的文件夹,不可以跨越,访问别的程序的文件夹,这个文件夹就是该应用程序的沙盒. 沙盒中包括以下几个文件夹: 1.应用程序包:(Layer)包含了所有资源 ...

  7. springmvc controller动态设置content-type

    springmvc  RequestMappingHandlerAdapter#invokeHandlerMethod 通过ServletInvocableHandlerMethod#invokeAn ...

  8. js的cookie和sesession详解

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  9. List自定义排序(可多条件)

    1:先建需要排序的属性Model package com.msqsoft.app.queuing.util; public class ListOrderByModel { private Strin ...

  10. Codeforces.1088D.Ehab and another another xor problem(交互 思路)

    题目链接 边颓边写了半上午A掉啦233(本来就是被无数人过掉的好吗→_→) 首先可以\(Query\)一次得到\(a,b\)的大小关系(\(c=d=0\)). 然后发现我们是可以逐位比较出\(a,b\ ...