Hbuilder开发移动App(1)
奇妙的前端,奇妙的js
众所周知,自从js有nodejs后,前端人员可以华丽的转身,去开发高并发非阻塞的服务端程序,
随着html5的出现,伴随一些amazing的特性,h5开发app的技术越发的成熟,
自从2008年国外推出phonegap后,前端人员又踏上开发app的路程,
今年来国内也对应推出了一些可以让前端人员开发app的ide,
不过大部分是收费的,强定制的,这里就不一一列举了。
这里推荐DCloud推出的HBuilder,一句话谁用谁知道。
一次开发两种app
通过HBuilder的云端打包技术(也可以放到本地),
你只需要写html+js+css即可开发出app,
并且是一次开发,即可生成android和ios两种对应app。
原理介绍-ui层
app中的ui对应html中的ui,你可以自行选择ui框架,
无论是bootstrap还是amazeui,还是jquery mobi(phonegap推荐ui),
还是HBuilder推荐的mui都可以,
这里建议使用HBuilder推荐的mui,
因为封装了一部分nativejs的东西,
而且HBuilder也封装了mui的快捷键,使用起来很方便。
总结一下,就是用html层次的ui框架来实现(模拟)app中的ui。
点这里下载官方mui-app:http://www.dcloud.io/hellomui/
原理介绍-nativejs
HBuilder开发app,不可避免的是调用android和ios中的原生方法,
Native.js技术,简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术。
如果说Node.js把js扩展到服务器世界,那么Native.js则把js扩展到手机App的原生世界。
HTML/JS/Css全部语法只有7万多,而原生语法有几十万,Native.js大幅提升了HTML5的能力。
NJS突破了浏览器的功能限制,也不再需要像Hybrid那样由原生语言开发插件才能补足浏览器欠缺的功能。
NJS编写的代码,最终需要在HBuilder里打包发行为App安装包,或者在支持Native.js技术的浏览器里运行。目前Native.js技术不能在普通手机浏览器里直接运行。
- NJS大幅扩展了HTML5的能力范围,原本只有原生或Hybrid App的原生插件才能实现的功能如今可以使用JS实现。
- NJS大幅提升了App开发效率,将iOS、Android、Web的3个工程师组队才能完成的App,变为1个web工程师就搞定。
- NJS不再需要配置原生开发和编译环境,调试、打包均在HBuilder里进行。没有mac和xcode一样可以开发iOS应用。
- 如果不熟悉原生API也没关系,DCloud官网汇总了很多NJS的代码示例,复制粘贴就可以用。http://ask.dcloud.net.cn/article/114
再次强调,Native.js不是一个js库,不需要下载引入到页面的script中,也不像nodejs那样有单独的运行环境,Native.js的运行环境是集成在5+runtime里的,使用HBuilder打包的app或流应用都可以直接使用Native.js。
总结一下,就是js去调用android或iso中的原生方法。
点这里去下载官方nativejs-app:http://www.dcloud.io/helloh5/
关于Native.js的文档可以参见:http://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/88
DCloud,HBuilder,mui,nativejs,html5+的关系
DCloud
DCloud是一家公司
hbuilder
DCloud推出的可以开发app的前端IDE,是基于eclipse二次开发而来,
所以熟悉eclipse或者myeclipse的开发人员可以很快的上手。
类似IDE,有phonegap等等。
mui
DCloud推出的模拟原生app的ui框架,
类似框架有:bootstrap,amazeui,jquery mobi, framework7等
nativejs
广义上的nativejs是指可以调用android,ios原生方法的js,
这里专指DCloud推出的nativejs,官方称封装40w方法。
html5+
据说是w3c旗下的组织,目标是推出适合开发app的加强版html5,
相关参与的机构有很多,但是感觉主力还是DCloud
相关链接:
1.html5+:http://www.html5plus.org/
2.hbuilder:http://www.dcloud.io/
3.mui:http://dev.dcloud.net.cn/mui/
4.nativejs:http://www.dcloud.io/docs/api/
5.bootstrap(国内):http://v3.bootcss.com/
6.amazeui:http://amazeui.org/
7.jquery mobi:http://jquerymobile.com/
8.framework7(类ios):https://github.com/nolimits4web/Framework7
9.material-ui(android):https://github.com/callemall/material-ui
Hbuilder开发移动App(1)的更多相关文章
- HBuilder开发移动App——manifest.json文件解析
以前做过Android App开发,对于各项配置都是在AndroidManifest.xml文件中完成的,包括权限的设定.图标.标签.App的名字.Activity注册等等 使用HBuilder开发移 ...
- 使用HBuilder开发移动APP
前言 HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE.HBuilder的编写用到了Java.C.Web和Ruby.HBuilder本身主体是由Java编写,它基于 ...
- 使用HBuilder开发移动APP:开发环境准备(转)
一直想开发个APP玩玩的,但是作为一个PHP码农,需要新学习JAVA或者Object C,这也是一直没能实现这个目标的原因.但是现在HTML5+.APPCAN.apicloud很多工具利用前端技术就能 ...
- 使用HBuilder开发移动APP:ajax调用接口数据
既然要做APP,与接口交互式少不了的,除非只是想做一个纯静态的APP.所以html5+的环境准备好后,我最先开始研究的就是如何与接口交互. 使用HBuilder新建示例教程后,里面会有一个ajax(网 ...
- Hbuilder开发HTML5 APP之WebView
WebView就是原生的WebView,HBuilder在其上封装了一层,便于Javascript的调用,结构如图: 也可以实现这样的结构: 注意:WebView的使用属性HTML5+规范,所以必须等 ...
- Hbuilder开发HTML5 APP之侧滑菜单
1.思路: 其时有2个WebView,一个main是用来装主页面,一个menu是用来装菜单(为提高性能,菜单项是采用了预加载方式的,预加载时为了避免和主页面争夺资源,采用延时加载,例如: //plus ...
- Hbuilder开发HTML5 APP之打开新页面
mui.openWindow({ url: 'examples/info.html', id:'info' }); 要在页面间传递参数,需要使用一个extras:{}对象另外打开的页面显示的内容必须装 ...
- Hbuilder开发HTML5 APP之创建子页面
折腾了好久,终于看明白怎么创建了: 1.创建个html5的mui页面,在其初始化方法中: mui.init({ subpages:[{ id:"list", url: ...
- Hbuilder开发HTML5 APP之向导页制作
研究了下,向导页的制作还是比较简单的,主要使用的是mui控件中的”图片轮播“组件,组件的标签写法手册中有,中间发现个有趣的东西,如果要作全屏,可以加个样式mui-fullscreen 滑动图片时会自动 ...
随机推荐
- javaSE复习总结
之前匆匆忙忙学完了java,后来又接着学习ee,然而,越是想要快一点最后反而会更慢一点.因为匆忙间 我几乎什么都没学会.在后面的学习中实在非常吃力.就把javase 的视频大部分又重新看了一遍.真的收 ...
- PHP链接Redis
命令行下运行 redis-server.exe redis.windows.conf 此时,redis服务已经开启,然后我们可以再新开一个命令行,作为控制台 redis-cli.exe -h 127. ...
- hibernate jar包介绍
Hibernate3.jar 这个是hibernate最主要的jar包 ant-1.63.jar Ant 的核心包,在构建Hibernate 时会用到 antlr-2. ...
- layer弹出层框架alert与msg详解
ayer至今仍作为layui的代表作,她的受众广泛并非偶然,而是这五年多的坚持,不断完善和维护.不断建设和提升社区服务,使得猿们纷纷自发传播,乃至于成为今天的Layui最强劲的源动力.目前,layer ...
- Java 数值类型以及计算
前段时候写了一个对外提供的接口,其中有一个数值校验的计算.在测试的过程中发现5.6-1.6 != 4,在反复的测试过程中发现double类型的数值为有精度丢失的现象,看来还是基础知识不牢固,所以就在网 ...
- 剑指offer_数组中的逆序对
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P. 并将P对1000000007取模的结果输出. 即输出P%100 ...
- adt的问题An internal error has occurred. After scene creation, #init() must be called
这个问题困扰了我好久,我也尝试去百度.google无济于事啊,让我寝食难安,太难受了,我把它贴出来,希望后人不绕弯子... 解决办法: 即可,解决这一个问题,现在酣畅淋漓,挥洒自如的capy代码了
- pageRank算法 python实现
一.什么是pagerank PageRank的Page可是认为是网页,表示网页排名,也可以认为是Larry Page(google 产品经理),因为他是这个算法的发明者之一,还是google CEO( ...
- spring切面编程AOP 范例一
参照网上的spring AOP编程实例进行配置,但是碰到了几个坑.这篇文章重点讲解一下我踩过的两个坑: 1.使用@Service自动装配的时候,基础扫描包配置要正确: 2.xml中切面配置中的exec ...
- 解决!同一ajax请求获取的图片路劲,在谷歌浏览器能正确展示图片,在火狐浏览器则显示路径undefined
今天的工作学习之路是解决了昨天的问题,可看我昨天的随笔了解问题. 非常感谢昨天各位积极地解答,在此我引用 @不带汽的可乐 的方法进行解决,问题其实挺简单就解决了,先说说原因,在火狐浏览器中,当我在js ...