2007-09-29

手机safari的AJAX开发(包括iPhone)

关键字: iphone,ajax,gwt,mobile,safari
iPhone的browser是safari, 突然联想到NOKIA新的几款(也不算很新了)Symbian V9的手机都是safari, 就试了下AJAX, 竟然都可以用!  试了E61, E62, N70, N71, N75.  依此类推, E5x, N7x, N8x, 和N9x都是可以支持的, 呵呵.

我试了GWT的KitchenSink, 以上的几台机都可以用, 不过大概有5%的功能好像不行, 但不是很大的问题, 不用就是了.
JS的RENDER有点慢, 但已经很让人满意了.

最近在用GWT直接生成AJAX来测试iPhone的兼容程度, 同时测试其他款手机, 看看usability如何.
接下来会不间断的写些自己的体会和心得.

iPhone的屏幕会根据当前手机的orientation自动调节显示的orientation (横向或者竖向).
这个没有什么EVENT可以抓的, 所以要经常的POLL来检查方位有没有变化:
js 代码
 
  1. function updateLayout()  
  2. {  
  3.     if (window.innerWidth != currentWidth)  
  4.     {  
  5.         currentWidth = window.innerWidth;  
  6.   
  7.         var orient = currentWidth == 320 ? "profile" : "landscape";  
  8.         document.body.setAttribute("orient", orient);           
  9.     }  
  10. }  


另外一个iPhone开发者的好消息是新的iPod Touch就是iPhone-phone.  除了没有Phone的功能, 其他都有, 包括safari, wifi.
这使iPhone的用户群从100万(当前iPhone销售量)一下子猛增到1亿(iPod用户).  本来专门给iPhone做开发可能有点不合算, 现在是非常非常的合算.  而且NOKIA的高端机也可以运行相同的程序, 真是一箭N雕.  :)

希望大家多多交流MOBILE SAFARI的开发经验!
评论
larryzou 2007-11-20
mobile ajax不太实用的地方就是手机耗电,部分刷新还不如整个都刷,javascript render的效率问题。
目前看iphone填表单什么的,都是自己放大,然后用滚轴方式来填,这样根pc上的ajax效果有比较大的区别
lordhong 2007-10-07
sp42 写道
Aptana下有为iPhone开发的IDE支持plugins

多谢。。。下载ing。。。
sp42 2007-10-06
Aptana下有为iPhone开发的IDE支持plugins
lordhong 2007-10-03
afcn0 写道
小弟愚笨,手机哪里来的mouse呢...

晕翻。。。没有mouse还有手指啊。。。
afcn0 2007-10-03
小弟愚笨,手机哪里来的mouse呢...
sp42 2007-10-03
呵呵,有些键码之间的映射好像也有点另类:
    // safari keypress events for special keys return bad keycodes
    var safariKeys = {
        63234 : 37, // left
        63235 : 39, // right
        63232 : 38, // up
        63233 : 40, // down
        63276 : 33, // page up
        63277 : 34, // page down
        63272 : 46, // delete
        63273 : 36, // home
        63275 : 35  // end
    };
lordhong 2007-10-02
没有支持的EVENTS:
* document.onkeydown
* document.onkeypress
* document.onkeyup
* form.onsubmit
* formfield.ondblclick
* formfield.onmouseenter
* formfield.onmouseleave
* formfield.onmousemove
* formfield.onselect
* window.oncontextmenu
* window.onerror
* window.onresize
* window.onscroll

drag & drop 也不行, 呵呵!
lordhong 2007-10-02
IPHONE修改过的EVENT:
onmousedown (triggers after mouseup occurs but before mouseup is fired)

onmousedown的事件触发是在mouseup的一刹那发生的...
lordhong 2007-10-02
贴下IPHONE所支持的JAVASCRIPT EVENTS:
* form.onreset
* formfield.onblur
* formfield.onchange
* formfield.onclick
* formfield.onfocus
* formfield.onkeydown
* formfield.onkeypress
* formfield.onkeyup
* formfield.onmouseout
* formfield.onmouseover
* formfield.onmouseup
* window.onload
* window.onmousewheel
lordhong 2007-10-02
afcn0 写道
有没有mobile safari的模拟器呀,那样就好接触了,apple有没有把safari弄到windows mobile上面的计划呢

目前好像没有, 不过可以用WINDOWS下面的SAFARI来测试, WINDOWS MOBILE下面的SAFARI好像也有了, 不是很确定
afcn0 2007-10-02
有没有mobile safari的模拟器呀,那样就好接触了,apple有没有把safari弄到windows mobile上面的计划呢
lordhong 2007-10-02
DOJO,ICEfaces都宣布支持iPhone了。。。
EXT也要看看,NOKIA下面看起来不错啊!
-.-!不是很清楚canvas。。。
cryolite 2007-09-29
对canvas的支持好吗
sp42 2007-09-29
呵呵 最近看到extjs在Nokia E90上的表现...


发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

lordhong
搜索本博客
我的相册
037d85c1-c907-38c6-8640-2b52c9d299cb-thumb
IMG_0308
共 45 张
最近加入圈子
存档
最新评论