跨平台移动开发实际上就是基于HTML5开发软件界面和主要的业务逻辑,因此一套完善的基于移动平台的HTML5开发环境是非常有必要的。这里我主要的关注点是以下四点:

  • Javascript和Jquery mobile的编辑器
  • HTML5的各个元素的Inspector
  • Javascript远程断点debug
  • 移动平台Javascript开发模式

1)Javascript和Jquery mobile的编辑器

谈到Javascript的编辑器,市面上有很多,大家都有自己心仪的选择,我这里只是推荐三个我比较喜欢的:

  1. aptana studio. Eclipse插件更新地址:http://download.aptana.com/studio3/plugin/install
  2. Dreamweaver CS6. 官方地址:http://success.adobe.com/en/na/sem/products/dreamweaver.html
  3. appMobi. 官方地址:http://www.appmobi.com/

aptana studio的优点在于比较轻量级,与Eclipse集成,并且代码自动完成和JS语法纠错做得非常好,整个风格类似于VI,比较极客一点:

Dreamweaver CS6算是最为强悍的HTML5的开发环境,并且是我所知道的唯一支持Jquery mobile所见即所得的开发工具(官方提供的在线编辑器除外),并且Javascript, CSS和HTML开发起来非常顺手,最大的缺陷就是要收费:

appMobi非常适合在不同分辨率下的调试,非常cool的界面也非常做演示之用:

代码编辑:

模拟器演示:

这些工具的具体安装和使用我就不多说了,直来直去,自己体验一下就知道了

2)HTML5的各个元素的Inspector

如果放在桌面系统上浏览器,这样的工具是很多的,如firefox上的firebug,chrome上的开发者工具,IE上http watch和IE自带调试工具,但如果放在移动平台上,特别是基于phonegap这样内置的webview来开发,这样的工具就不是很普遍了。这里推荐一个phonegap官方所提到过的工具:weinre

weinre通过架一个server,把调试器和device连接起来,原理就多说,2.0之后就没看到Java的版本,因此只能通过NPM来安装,顺便提一下NPM是Nodejs的包管理工具,类似于Maven对于Java一样。安装Nodejs后就安装好了NPM。之后安装weinre非常简单:

npm install weinre -g

如果在windows平台上没加任何配置,weinre会安装在 C:\Users\***\AppData\Roaming\npm\node_modules\weinre\,然后启动server:

node path-to-weinre-node/weinre --boundHost -all- --httpPort 8082

这里用-all-是为了在0.0.0.0上打开端口8082,避免非本地无法远程请求这个端口,然后在要调试的页面里加上weinre的代理:

<script src="http://computer-ip:8082/target/target-script-min.js#anonymous"></script>

这里computer-ip用能让device连上主机的地址,当然有关device与主机网络连接的问题我会在后面的文章中具体来谈。之后就是在device上启动应用程序,这里就拿android做例子,IOS是一样的。device启动后,打开chrome浏览器(基于webkit内核的都行),访问: http://localhost:8082/client/#anonymous ,如果之前都问题的话,就能在target下看到device的连接,单击后,会发现这个连接变绿,这说明已能调试远程的device,之后就能像使用firebug或chrome开发者工具那样来使用了,不过它缺了很重要的功能就是远程JS断点调试,不过我会在后面来介绍另外一个工具来实现,下面看看调试上的截图:

3)Javascript远程断点debug

这里推荐使用Aardwolf(https://github.com/lexandera/Aardwolf/)来实现这个功能,它的原理和weinre类似,也是通过架server来远程debug device。下载Aardwolf后,启动server:

node Aardwolf_install_folder/app.js -h -d web_app_path

web_app_path里就是你需要调试的web应用,里面包含需要调试的JS。

然后类似于weinre,需要在html里添加Aardwolf代理:

  • <script src="http://computer-ip:8500/aardwolf.js"></script>
  • <script src="http://computer-ip:8500/js/main.js"></script>

其中aardwolf.js是系统js,js/main.js是需要调试的js,这个main.js经过aardwolf翻译后,具备了被调试的能力。之后,启动应用,就能在localhost:8000上进行debug:

4)移动平台Javascript开发模式

虽然上面的种种方法都能在device上进行调试HTML5,但全程开发都这么搞估计大家也快疯掉,所以我还是比较推荐现在桌面的浏览器上开发完主要的界面和逻辑,主要phonegap与device结合点外,其他基本上和桌面浏览器是一致的。所以我会先开发一个Chrome APP版本,先重点搞定这个版本后然后再移植到其他平台上,这样在其他平台上就只用调试和device相关的点。关于chrome app的相关内容我会在后面单独来谈。

HTML5开发环境搭建相关推荐

  1. uni-app简介、条件编译、App端Nvue开发、HTML5+、开发环境搭建、自定义组件、配置平台环境、uniCloud云开发平台

    uni-app简介 : 概述:uni-app是一个前端跨平台框架:会uni-app就可以用一套代码(类似vue语法)打包出安卓.ios.及各种小程序(微信.qq.支付宝等)端跨平台发布. 生态:完整的 ...

  2. 【Android基础笔记01】Android开发环境搭建和HelloWorld

    最近手头项目3.0版本要上线了, 没有那么多工作压力了, 抽空看了看之前在云笔记上做的笔记 都是一些基础知识 给大家分享出来吧 一.什么是Android?[了解 ] Android(中文俗称安卓)是一 ...

  3. Android环境搭建和Android HelloWorld—Android开发环境搭建

    Android_Android开发环境搭建-搭建Android的开发环境 1.我考虑先下载JDK7.0,在JDK的安装中,考虑一般SDK都是向上兼容的,于是选择了最高的版本7.0 这里是我总结的详细的 ...

  4. qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...

    作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...

  5. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序

    文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...

  6. 智能合约开发环境搭建及Hello World合约

    如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇. 就先学习任何编程语言一样,入门的第一个程序都是Hello World.今天我们来一步一步从搭建以太坊智能合约 ...

  7. iPhone开发环境搭建全过程 iPhone手机开发内容,中文手册

    http://3g.edu.csdn.net/kecheng/iphone.html  iPhone手机开发内容 http://www.docin.com/p-34874880.html# iPhon ...

  8. python搭建numpy_python开发环境搭建及numpy基本属性-【老鱼学numpy】

    目的 本节我们将介绍如何搭建python的开发环境以及numpy的基本属性,这样可以检验我们的numpy是否安装正确了. python开发环境的搭建 工欲善其事必先利其器,我用得比较顺手的是Intel ...

  9. windows下pomelo开发环境搭建及JS乱码问题

    from: http://blog.csdn.net/wangqiuyun/article/details/9243263 最近一直在研究node.js这一块,为的就是使用网易的pomelo框架,学习 ...

最新文章

  1. Nginx负载均衡的原理及流程分析
  2. 前端每日实战:56# 视频演示如何用纯 CSS 描述程序员的生活
  3. 【渝粤教育】国家开放大学2018年秋季 1062t文学英语赏析 参考试题
  4. c++ 数组的输入遇到特定字符停止输入_C语言 第4章-字符串和格式化输入/输出
  5. 单链表的头插法和尾插法实现代码(无头结点)
  6. 3D深度估计,让视频特效更梦幻!
  7. MySQL中concat以及group_concat的使用
  8. php 字符 index,php函数之字符串篇String
  9. java session超时判断_详解SpringBoot中Session超时原理说明
  10. Linux下安装flash player插件
  11. deepin安装NVIDIA显卡驱动
  12. 爬虫 (7)—— 爬取网络小说,详细分析及代码
  13. java徽章_java
  14. UEFI开发与调试---edk2中的Package
  15. android 全套安装包,原神1.1直装版下载-原神1.1完整安装包v1.1安卓版下载_飞翔下载...
  16. 修改Android手机内核,绕过反调试
  17. 【记录问题】vs2017连接sql2008数据库时显示该文件正在使用
  18. 整理了几个经常访问的Qt知名社区
  19. 分享一个非常实用的视频剪辑技巧
  20. cmath中的log函数

热门文章

  1. Python凯撒密码解密
  2. StringUtil工具类详解
  3. 浅谈对IT架构师的理解
  4. web 移动端开发基础
  5. 分位数Granger因果检验实现原理
  6. 一个人生活,如何摆脱孤独提升幸福感?
  7. 系统集成项目管理工程师05《项目进度管理》
  8. Java爬虫实践:Jsoup+HttpUnit爬取今日头条、网易、搜狐、凤凰新闻
  9. 不背字根学五笔视频教程
  10. How to tame java GC pauses? Surviving 16GiB heap and greater