渴切消息:随着手机移动平台的快速发展,移动app或者移动web的开发也越来越热门,这使得html5凭借在移动平台开发的优势,迅速发展起来。不仅如此也衍生出了大批的优秀的html5移动开发框架,这些框架能够帮助你基于html5+css3快速构建一个html5的应用。其中包括最优秀的jquery mobi等等。
1. Lungo.js:HTML5 移动开发框架
Lungo.js 是第一个应用HTML5和CSS3特性的移动开发框架。它可以帮助开发者创建iOS,Android,Blackberry和WebOS平台的应用。Lungo.js 不需要任何web服务器的支持就能帮助用户实现HTML5的功能,例如WebSQL, Geolocation,History,Device orientation等等。
2. JO:一个简单的HTML5 App框架
JO可以帮助你创建类似本地应用的Web App。JO是一个开源的免费框架,可以和PhoneGap一起使用。
3. Joshfire:跨设备的开发框架
Joshfire是一个开源的跨设备开发框架,帮助开发者创建可以在多种设备上运行的web app。它使用HTML5和JavaScript,并且允许开发者快速整合本地应用和特定的web应用。
Joshfire可以让你的应用接受键盘,鼠标,触摸屏,遥控器等设备的输入。Joshfire支持Node.JS。
4. Sencha Touch:基于HTML5的移动网页开发框架
Sencha touch可以让开发者创建类似本地应用体验的web app。Shencha是第一个使用HTML5,CSS和JavaScript并且支持音频/视频,本地存储,圆角,渐变背景以及阴影的开发框架。
5. Baker:HTML5 电子书框架
Baker是用来在iPad或者iPhone平台上发布交互式的电子书或者电子杂志的HTML5电子书框架。.
6. Touchy Boilerplate
Touchy Boilerplate 是一个用来创建移动web app,包括HTML模板,Meta tag等的工具。Touchy可以支持动态页面导航,固定页头,滚动内容,浏览历史记录等功能。Touchy使用jQuery或者 Zepto.JS。
7. Ripple:让移动开发测试更容易
在不同的平台上测试移动应用是一件令人头疼的事情。Ripple可以帮助你在不同的平台商测试并且调试你的HTML5移动应用。Ripple是一个chrome的扩展。它可以模拟每个设备的详细信息,例如user_Agent,Geolocation等等。
8. RestKit
Restkit是一个objective-c的开发框架,目的是简化并加快与Restful的web service交互。它提供了一个简洁的HTTP request/response API和一个强大的对象映射系统。
9. HTML5 兼容性表格
Mobile HTML5是一个表格,显示了不同设备/平台对HTML5特性的支持情况。包括Safari, Android, Blackberry, IE,Opera,Firefox,webOS和Symbian。
10. MobileESP:检测你的移动网页访问者
MobileESP项目提供了一套简单、轻量级的API让网站的开发者检测访客是不是使用移动设备,或者使用的是哪种移动设备。
11. TiggrTiggr是一个移动一个用创建工具,可以让你快速创建移动应用。你不需要写代码就能创建丰富的移动应用。
在过去的两年里,触屏设备飞速增长。iOS和Android设备让开发者和设计师开始重新思考他们的网页应用,以提供更好的触屏体验。
移动Web应用相对于本地的App有很多优势,虽然也有很多设计和开发上的挑战。这里列出了一系列有用的框架来帮助基于HTML的webapp开发。他们支持大部分流行的智能手机和平板。
- 渴切网免费网站健康诊断:http://www.keqie.com/
- W3C国际联盟组织官方网站:http://www.w3.org/
- HTML规范在线检测:http://validator.w3.org/
- CSS规范在线检测:http://jigsaw.w3.org/css-validator/
Resin
Windows下提升Resin默认的虚拟机内存大小
httpd.exe -Xmx1024m
参考外部文章
Resin远程debug配置手顺
配置方法:
(1)在resin 上部署需要测试的工程 例如:xiaonei_api_service
(2)修改配置文件并重启resin。
resin 3.0及更老一点的版本:
修改 /resin/bin/httpd.sh
args=".."中
追加 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9090
其中 address=9090 为jvm 远程debug 使用的端口
resin3.1 or 更新版本:
修改/resin/conf/resin.conf
追加 <jvm-arg>-Xdebug</jvm-arg>
<jvm-arg>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9090</jvm-arg>
10.2.9.3 上我已经做了修改。
(3)eclipse上下载需要测试的工程source,并配置好。编译成*.class文件。
(4)选中该工程, 又键debug as->open debug dialog->remote java application
新建一个配置,
输入resin服务器 ip 和debug用端口(例如9090)
done. Enjoy your code
connection.login("mtucker", "password");
connection.createChat("jsmith@jivesoftware.com").sendMessage("Howdy!");
// 创建连接. XMPPConnection conn1 = new XMPPConnection("jabber.org"); // 指定端口 XMPPConnection conn2 = new XMPPConnection("jabber.org", 5222); // 创建ssl连接. XMPPConnection connection = new SSLXMPPConnection("jabber.org");
一旦你创建了连接,你需要使用用户名和密码来登陆,你可以使用 XMPPConnection.login(String username, String password) 方法.一旦你完成登陆了,你可以通过 创建新的Chat或者是GroupChat对象来和其它人聊天.
操作 名册
名册让你能够跟踪其它在线的用户,用户可以被组织成为组,例如好友,同事,并且你可以发现谁 在线,谁不在线. 你可以使用 XMPPConnection.getRoster() 方法来取得好友名单,得到roster类.roster类允许你查找名册 实体,比如他们属于那个组,和当前的状态.
读写数据包
没一个从客户端发送到xmpp服务器的包都是xml格式的文本.org.jivesoftware.smack.packet 保护了封装 三种xmpp级别包:message,presence,IQ.Chat类和GroupChat类提供了高级别的类管理包自动的生成和发送, 但是你也可以手动创建它们.下面例子演示了改变你的在线情况,告诉其它人你不在线"外出捕鱼"去了.
//用presence.Type.UNAVILABLE作为参数创建一个presence描述你不在线. Presence presence = new Presence(Presence.Type.UNAVAILABLE); presence.setStatus("Gone fishing"); // 发送该包. con.sendPacket(presence);
Smack 提供了两种方式来读取包:
PacketListener,和 PacketCollector.
它们都使用PacketFilter实例来决定那些包需要处理.一个PacketListener使用事件风格的编程,packet collector 提供轮循和阻塞的操作. 因此,packet listener用来处理随即发送来的包,packet collector用来等待指定的包. Packet collectors and listeners使用XMPPConnection 对象来创建实例.