写在前面:

因为移动市场的盛行带动了移动社交、移动购物、手游、智能化硬件等多个新兴领域。智能终端硬件水平越来越高,运行其上的web浏览器能力也越来越强,加上HTML5\JS\CSS的蓬勃发展,Web已经能够展现出非常不错的体验。但是单纯浏览器中的web还是不能代替本地原生应用,因为通用浏览器还不能方便地调用移动设备的本地资源例如硬件设备、本地文件。后来就有人想到了,为啥不能自己做一个可以让web方便访问本地资源的专用浏览器呢?这就有了现在移动Web应用开发套件了。这里面涉及两个东西:

1.运行框架:上面说的专门的浏览器,其实也可以理解为一个跑JS\HTML5\CSS的虚拟机。我们写的web代码可以在虚拟机上运行,并且这个虚拟机定义了通过JS\HTML5\CSS来访问智能终端本地资源的API。如果把这个虚拟机与web代码合并打包并发布,就可以生产一个原生应用了。

2.UI框架:HTML5\JS\CSS组合的UI框架。单纯JS\HTML5\CSS如果自己写漂亮的UI还是很费力的,你得定义很多CSS,制作很多素材图片。其实普通web已经有了一些js库或者叫框架,如:EXTJS、JQuery等。。。那么移动端有吗?有的!最出名的例如JQuery Mobile。

但是,在web领域,很多项目都是开源的,所以思路一通之后,好多类似的项目涌现出来。那笔者现在就来总结一些,市面上看上去比较火,或者商家不停炒作的一些开发套件吧。

阅读前的约定:笔者暂且将运行Web代码的虚拟机或者将web代码能够部署到智能终端的开发套件为,运行框架。将用于移动Web应用开发的JS/HTML5/JS开发框架,UI框架。

一、PhoneGap及cordova

1.官方网站:http://www.phonegap.com/

2.性质:运行框架,几乎全兼容

3.说明:这应该是移动Web应用的先行者之一了。原来是一个小公司开发的框架,其当时出来的目的是为了跨平台,原因是当时的智能终端有着百花齐放的状态(有兴趣可以读笔者另一篇博文讲得当年N个移动操作系统的)。如果应用开发者想在那么多平台上都开发原生应用,是一件非常苦逼的事情。当时的这个框架的作者就是想到为啥不能用web开发应用呢。就有了最初的PhoneGap,后来这个公司被Adobe公司收购了,可见其前景很高。Adobe将PhoneGap核心代码提炼出来,贡献于Apache,取名 cordova。而PhoneGap用于Adobe自己的商业项目提供一一些增值服务,例如,在Dreamweaver编写基于phonegap的webapp代码然后直接在DW上PhoneGapBuilder服务,在Adobe的云端自己帮你把代码封装成移动平台的原生安装包。

4.授权:Cordava是完全开源的基于apache开源许可协议下,而PhoneGap就是商业版本的了。

二、Sencha Touch

1.官方网站:https://www.sencha.com/

2.性质:UI框架

3.说明:这个是大名鼎鼎的ExtJs的移动版。最新的版本可能将 移动版与标准版合并。代码大而全,属于重量级UI库。ExtJs这个项目源头也很有意思,原来只是YahooMail的一个JS UI库,后来作者在其基础上扩展并最终形成了现在ExtJs,一个非常庞大的JS UI库。因为这个是UI库,所以你可以将其应用于普通移动Web上,也会给你的网页增色很多。

4.授权:sencha的授权有商业有开源,如果直接用他的js库基本是不收钱的,但是如果你想要用他的开发套件例如所见即所得的UI绘制套件就需要收费了。

三、JQuery Mobile

1.官方网站:http://jquerymobile.com/

2.性质:UI框架

3.说明:这个大名鼎鼎的JQuery的移动版本。跟JQuery一样是一个轻量级的JS库,一样使用HTML5+CSS+JS的技术。应为轻量级,所以在web加载时比Sencha有一点优势。缺点显而易见,UI控件太少了。因为JQuery Mobile 太普及了,也有很多第三方的扩展控件库例如JQuery Mobile Touch。比较有意思的是Sencha Touch 也融合了JQuery Mobile Touch。

4.授权:完全开源,放心使用

四、Titanium

1.官方网站:http://www.appcelerator.com/

2.性质:运行框架

3.说明:这个框架其实并不能完全是基于Web形式的框架,原因刚开始它主要目的有点类似Node.js就是以JS为主要开发语言,支持HTML5的UI,程序自动封装为JS。最终框架把JS代码翻译为原生代码能够执行的代码。甚至JS代码可以直接调用原生ObjectC,后来适应潮流,Titanium在后续版本中陆续增加对于Web特性的支持,让其越来越像PhoneGap了。

4.授权:基本的使用时不要钱的,但是要使用SDK里面的高级功能,还有官方的开发套件都是要钱的哦

五、DCloud(国产)

1.官方网站:http://dcloud.io/

2.性质:运行框架+UI框架

3.说明:这个DCloud,使用的运行框架的标准叫HTML5+是这个公司自己助推的标准,而对应的运行框架叫HTML5+runtime。另外还提供一个UI框架叫MUI。另外该公司还发布了针对HTML5+\MUI的Web开发套件HBuilder(笔者有一篇简单介绍词IDE的文章)。这个HBuilder确实是一个亮点,可以一个很不错的Web Js 编码环境,语法高亮提示、代码导航等很不错。算上一个比较有良心的国产JS开发环境了。虽然我还没有用HTML5+跟MUI,但是光Hbuilder这一个产品就令我对其大有好感。

4.授权:目前所有项目都是开源的,随便用。

六、WeX5(国产)

1.官方网站:http://wex5.com/cn/wex5/

2.性质:UI框架 基于PhoneGap,集成自己的前段UI框架

3.说明:国产目前涌现了很多基于PhoneGap框架的一些套件,他们基本都是提供一整套解决方便,例如现成的皮肤,现成的前后台程序,当然你也可以基于现有的东西修改一些。可以一起搞定微信、原生应用、移动Web.这类套件的操作思维让我感觉感性Discuz的思路。所以笔者拿出一个说明一下,其他类似,我就不说了。

4.授权:完全开源,当然他也有商业版本的。叫BeX5.

七、APIClond(国产)

1.官方网站:http://www.apicloud.com

2.性质:UI框架+运行框架+集成服务器端

3.说明:这个国产项目比WeX5这类项目还智能化,你甚至不需要有服务器,完全用APIClond的存储、数据库、web服务器等等服务器应用,他们称之为云,然后你开发的服务器应用被部署到APIClond的服务器上(当然她调用服务器点有严格的API接口),你本地web代码通过服务器端部署打包成原生安装包,也就是所谓的云编译。噱头十足啊。确实对于一些想快速开发应用的小企业,还是满方便的。

4.授权:简单实用不要钱,但是要足够的云资源例如数据库,云存储空间,那就是要收费了

另外其实除了web形式的跨平台移动应用解决方案外,还有一些其他的解决方式。例如.net的方式

号外:xamarin

1.官方网站:https://xamarin.com

2.性质:运行框架+UI框架 (基于独立的C#语言)

3.说明:mono是.net的开源项目,后来mono的所有公司Novell被收购后,mono项目好似不行了。听说其中的一些成员出来组成公司xamarin继续mono的使命。xamarin的原理就是让C#代码直接在各种智能终端上执行。目前ios跟Android没有太大问题。其实这类解决方案的思路跟移动web类似,只是开发语言换了对应的运行框架也要换一下。但是好处是对于熟悉原有C#的语言的工作者不需要再熟悉其他的语言就能开发相应的移动应用,再者对于C#这类成熟的编译型高级语言,其编译器的效率应该是高于JS这类解释性语言的。

4。授权:目前收费,可破解

如此繁荣的移动webapp开发市场:总结当下的一些移动web开发套件的更多相关文章

  1. [Java Web整合开发王者归来·刘京华] 2、 Java Web开发概述

    1.Web相关概念 1-1.胖客户与瘦客户 >_<" RCP的定义及优缺点:       >_<"TCP的定义及优缺点:             1-2.B ...

  2. [Java Web整合开发王者归来·刘京华] 1、 Java Web开发

      目录: 1.Web技术简介 2.动态网站与静态网站 3.Java Web开发模式 4.JavaScript简介 1.Web技术简介 PS: 最近还有更凶残的技术,即整个操作系统都是基于Web的,如 ...

  3. 减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同

    本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用.而是关于:"业务逻辑是不是要封装在存储过程中实现,这样子php.java等就是调用存储过程". ...

  4. [翻译]Web开发牛人访谈:你们都在用什么?

    小肥鱼译注:早上看到这篇文章,觉得内容甚是有趣.作者跟web开发方面的诸多大牛进行了交流,了解到他们的研究动向,从访谈中可以看到各种风格的开发者,有浏览器控,有设备控.我想,知道行业里的优秀成员在做些 ...

  5. java web 开发三剑客 -------电子书

    Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知In ...

  6. Web 开发中应用 HTML5 技术的10个实例教程

    HTML5 作为下一代网站开发技术,无论你是一个 Web 开发人员或者想探索新的平台的游戏开发者,都值得去研究.借助尖端功能,技术和 API,HTML5 允许你创建响应性.创新性.互动性以及令人惊叹的 ...

  7. 在 2017 年将会更加流行的 6 个 Web 开发趋势

    2016即将过去,2017就要来临. 前阵子看到很多对2016前端领域的总结,也是有人欢喜有人忧啊. 转发了这一篇2017web的发展趋势.那么到底会是怎么样的一个发展趋势的,只好拭目以待了. 201 ...

  8. 勤拂拭软件 java web 开发教程(1) - 开发环境搭建

    勤拂拭软件系列教程 之 Java Web开发之旅(1) Java Web开发环境搭建 1 前言 工作过程中,遇到不少朋友想要学习jsp开发,然而第一步都迈不出,连一个基本的环境都没有,试问,如何能够继 ...

  9. SSH学习之路(一).Net开发与Java Web开发

    摘要:一直再使用.net mvc5开发,期间学习过java web相关的知识,现如今想要进阶一下便开始学习ssh框架. 1..net web开发 对于微软的东西,开发者考虑的东西不需要太多,你新建一个 ...

随机推荐

  1. 第1章—Spring之旅—容纳你的Bean

    容纳你的Bean 在基于Spring的应用中,你的应用对象生存于Spring容器中.Spring负责创建对象,装配他们,配置他们并管理他们整个生命周期,从生存到死亡(在这里 可能是new 到 fina ...

  2. Linux下mysql基础命令(一)

    1, 创建mysqld数据库的管理用户:             要把root用户设置为管理员,我们应该运行下面的命令:    # mysqladmin -u root password 密码 一般情 ...

  3. 《Algorithms算法》笔记:元素排序(3)——洗牌算法

    <Algorithms算法>笔记:元素排序(3)——洗牌算法 Algorithms算法笔记元素排序3洗牌算法 洗牌算法 排序洗牌 Knuth洗牌 Knuth洗牌代码 洗牌算法 洗牌的思想很 ...

  4. hr中间插入字体

    修饰CSS:hr:before { content: "??";} hr:after { content: " This is an <hr> element ...

  5. GANS--理解

    GAN所建立的一个学习框架,实际上就是生成模型和判别模型之间的一个模仿游戏.生成模型的目的,就是要尽量去模仿.建模和学习真实数据的分布规律:而判别模型则是要判别自己所得到的一个输入数据,究竟是来自于真 ...

  6. vue仿京东省市区三级联动选择组件

    工作中需要一个盒京东购物车地址选择相似的一个省市区三级联动选择组件,google查了下都是下拉框形式的,于是自己写了一个,希望对使用vue开发项目的朋友有帮助,显示效果如下:使用vue2.0开发 ht ...

  7. IOS7 导航栏适配二

    ios7下的app都是全屏的,意思就是所有控制器的view默认都是从  屏幕的 (0,0)开始. 这时候用到导航栏时,往往会出现被导航栏挡住情况. 最明显的是用到tableView时,第一行的数据会被 ...

  8. php 数组任意位置插入值

    array_splice() $arr = array('A', 'B', 'C'); $arr2 = 'abc';$t = array_splice($arr, 1, 0, $arr2); prin ...

  9. [javaSE] IO流(装饰设计模式)

    装饰设计模式:当想要对已有的对象进行功能增强时,可以自定义类将已有的对象传入,并提供加强功能,自定义的该类称为装饰类 典型的: Reader--FileReader --BufferedReader ...

  10. 基于Github搭建SrpingCloudConfig详解

    最近在看SpringCloud,为了帮助自己学习和记忆,所以写下这篇文章. 从SpringCloud官方文档上看SpringCloudConfig其实为我们提供配置外部化的一个服务,可以理解成就是个w ...