【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)
版本记录
- 版本1.0 创建文章(2016.12.30)
- 版本1.1 更正了hybird相关知识;增加了参考文章(2017.01.05);
+ Web APP更正为响应式移动站点与页面,简称响应式站点;
一、移动APP开发方式
- 响应式移动站点与页面(M站)
- 使用HTML+CSS+JS开发运行在移动端浏览器中的纯Web APP.可通过浏览器调用Device API.
- Hybird APP
- 使用Native + Web(HTML+CSS+JS) 混合开发
- 主要类型:
- Native主体型:使用Web View加载web页(web和Native之间可以互相调用方法,可以传递参数);
- 多View混合型;
- Native view & Web View 交替出现;
- 单View混合型;
- Native view & Web View 在同一个View内出现,相互依赖关联;
- 多View混合型;
- Web主体型;
- 直接使用Web语言构建跨平台APP,可生成为APK、IPA格式安装包;
- 用js编写,一些构建工具打包生成跨平台应用; ★
- Native主体型:使用Web View加载web页(web和Native之间可以互相调用方法,可以传递参数);
- Native APP
- 使用原生程式编写运行;
- 主要类型:
- 纯Native APP;
- 基于Android、iOS、WP等手机本地操作系统,使用原生程式编写运行的APP;
- react Native;
- 用javascript+原生程式编写原生APP;
- 纯Native APP;
二、移动开发方式比较
| 响应式站点 | Hybird APP | Native APP | |
|---|---|---|---|
| 开发成本 | 低 | 中 | 高 |
| 维护更新 | 易 | 易 | 难 |
| 用户体验 | 差 | 优 | 优 |
| Store or Market 认可 | 不认可 | 认可 | 认可 |
| 安装 | 不需要 | 需要 | 需要 |
| 跨平台 | 优 | 优 | 差/优(react native) |
三、移动开发方式详解
3.1 响应式移动站点(M站)详解
3.2 Hybird APP详解
- Native主体型
- JS与WebView交互;
- 传参;
- 调用方法;
- JS与WebView交互;
3.3 Native APP详解(非使用web技术开发,作为与web技术的对比)
参考资料:
(1)响应式移动站点(M站)、hybirdapp、nativeapp介绍: http://blog.csdn.net/mahoking/article/details/30235243
(2)webview&js基本交互: http://www.jianshu.com/p/6a7c91f1d804
(3)hybird性能优化: http://blog.csdn.net/stpeace/article/details/50279783
★(4)hybird之Web主体型——该种APP开发方式的解释&ionic布局入门: http://ionichina.com/topic/551b549e53c5c8f4148ef894
(5)react native中文站: http://reactnative.cn/
★(6)hybird之Web主体型——Web APP在MDN中的学习指南:https://developer.mozilla.org/zh-CN/Apps
(未完待续……)
更新说明:本文采用
版本记录+标记更新的方式进行更新标记。
- 对较为明显的改动进行历史记录;
- 更新后,最新内容会有 ★号标记;
【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)的更多相关文章
- app后端设计(11)-- 系统架构(2014.12.05更新)
个人认为,在小型的创业团队中,特别是以应用产品为主,在架构后台的时候,需要集中精力解决自身业务上的问题,不是花时间解决第三方已经解决的问题,简单点来说,就是能用第三方服务就使用第三方的服务.基于这个原 ...
- 思考:用开发移动app的观念来开发网站
首先祝大家新年快乐.万事如意. 开发网站程序也有一些年头了,从最初的静态HTML+ JS,到后来的WebForm,然后过渡到现在的MVC. 由于最近做一些技术调研,也接触了很多移动开发,iOS和And ...
- 使用Android-studio开发移动app与weex结合开发详细步骤
详细步骤如下: 首先,确保机器已经安装了node.js,并且把npm更新到最新版本 下载完毕后,我们可以看到全局目录下的node_modules下面多出一个weex-toolkit 同时,我们留意 ...
- APP定制开发:APP软件开发的语言和开发环境
APP软件开发是移动互联网开发公司常开发的一种手机应用系统,对于刚刚进入APP软件开发领域的新手来说,选择什么编程语言和需要什么开发环境来开发APP软件是常遇到的问题.下面亿合科技小编来为大家分享下: ...
- Web as a App(Web既APP)的概念可以提出吗?
Web as a App (WaaA),Web既APP.灵感出于SaaS.PaaS.IaaS等~ 最近在做一个PC项目,即便我的项目是to B的,用户量没那么大,但是我仍然很注重性能及用户体验,我把我 ...
- 移动开发 Native APP、Hybrid APP和Web APP介绍
高速区分定义: Native App 以基于智能手机本地操作系统如IOS.Android.WP并使用原生程式(SDK)编写执行的须要用户安装使用的第三方应用程序; Web APP 以HTML+JS+C ...
- Native App开发 与Web App开发(原生与web开发优缺点)
Native App开发 Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS.Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是 ...
- 微信公众平台开发:进阶篇(Web App开发入门)
本文转载至:http://blog.csdn.net/yual365/article/details/16820805 WebApp与Native App有何区别呢? Native App: 1.开 ...
- APP开发手记01(app与web的困惑)
文章链接:http://quke.org/post/app-dev-fragment.html (转载时请注明本文出处及文章链接) 最近在用博客园的wcf服务做博客园的android和ios的app, ...
随机推荐
- 如何使用VS在SharePont 2013中插入ashx文件
http://www.lifeonplanetgroove.com/adding-and-deploying-generic-handlers-ashx-to-a-sharepoint-2010-vi ...
- Fresco从配置到使用(最高效的图片加载框架)
Frescoj说明: facebook开源的针对android应用的图片加载框架,高效和功能齐全. 支持加载网络,本地存储和资源图片: 提供三级缓存(二级memory和一级internal ...
- Android开发案例 - 自定义虚拟键盘
所有包含IM功能的App(如微信, 微博, QQ, 支付宝等)都提供了Emoji表情之类的虚拟键盘, 如下图: 本文只着重介绍如何实现输入法键盘和自定义虚拟键盘的流畅切换, 而不介绍如何实现虚 ...
- Java 性能分析工具 , 第 3 部分: Java Mission Control
引言 本文为 Java 性能分析工具系列文章第三篇,这里将介绍如何使用 Java 任务控制器 Java Mission Control 深入分析 Java 应用程序的性能,为程序开发人员在使用 Jav ...
- 开启基本数据结构和算法之路--初识Graphviz
在我的Linux刀耕开荒阶段,就想开始重拾C,利用C实现常用的基本数据结构和算法,而数据结构和算法的掌握的熟练程度正是程序的初学者与职业程序员的分水岭. 那么怎么开启这一段历程呢? 按照软件工程的思想 ...
- Oracle update和order by
今天遇到一个关于SQL转换成Oracle语句的问题,描述如下: select * from emp order by deptno; select * from dept; Sql Server: u ...
- IIS中启用ASP并连接Access数据库的解决办法
1. IIS安装ASP模块 进入控制面板 ---- 打开或关闭Windows功能 选择如下所示两项,点击安装完成 2. 打开父路径许可 选择相应应用程序池 ----- 高级设置 ---- 将“启用父路 ...
- MySQL 处理重复数据
有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据. 本博文我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据. 防 ...
- 取消chrome浏览器下input和textarea的默认样式;html5默认input内容清除“×”按钮去除办法
取消chrome浏览器下input和textarea的默认样式: outline:none;/*清空chrome中input的外边框*/ html5默认input内容清除“×”按钮去除办法: inpu ...
- Linux下如何遍历指定目录下的所有文件并删除指定天数之前创建的文件
脚本内容如下: #!/bin/bash function delete_file { days=$[$-] for i in `find $dir -type f -ctime +$days` do ...