MIX BOY的开发文档关于MIX BOY的介绍在, 摸我MIX BOY开发文档为了省事下面的MIX BOY就简称MB因为iPod Touch和iPhone功能基本类似,这里就只用Touch代替没有说明的话提到的Safari都是iPod Touch/iPhone上的Safari开始在 开发iPhone/iPodTouch版本的MB之前其实很早就做出了PC上的版本,用你的PC浏览器就可看到了(m.ccok.me),PC版的功能比 较简单,因为当时自己是为了兴趣做出来玩的,后来买了 Touch, 觉得在用Touch听歌时只能通过自己电脑同步音乐或者是安装一些app(现在的听歌app大都是国外的)来收听,这样比较麻烦,你想像在PC上一样访问 一些自己常去的音乐网站随意听点歌,在Touch上就不方便了。在技术上, Safari本身就不支持传统的embed标签播放音乐,剩下的就只有Flash播放器了,然而Touch上的Safari把Flash的功能也阉割了, 这样就挡掉大部分的音乐网站了,你可以说你通过别的手段让Touch的Safari支持Flash播放,但这毕竟是非标准的手段,如果这样开发出来的话你 就得要求你的网站用户都得Hack这个手法了,这样你就挡掉了很多访问你网站的用户。因此就得寻找其他的解决办法了。现在开发Touch版的MB遇到的问题就是:1.音乐从什么地方来2.怎样在Touch的Safari上播放音乐3.用户界面以及具体技术的实现问题的解决1.因为之前PC版MB已经解决了这个问题,就不多考虑了。音乐的来源是yahoo的mp3搜索,就是抓取yahoo的搜索结果,过滤出结果中的音乐地址,然后再呈现给用户。
2.关于音乐在Touch的Safari中播放,PC版的MB是用的Flash播放音乐的,现在就是怎样在Touch的Safari上播放了,一次我偶然(我火 星了吗)发现如果你直接打开一个以mp3结尾的URL地址时,Safari会自动用你Touch里的QuickTime播放这个音乐,这样也就可以理解为 什么YouTube可以在Touch上播放了,也就是只要是一个以媒体格式结束的URL地址,Touch都会自动用QuickTime打开播放的,当然前 提是QuickTime支持这种媒体格式。所以现在问题就解决了,所要做的只是抓取yahoo mp3搜索结果的音乐地址,然后直接把地址作为超链接让用户去点就可以了。但事情往往没想的那么简单,在做的过程中,你若直接把一个音乐地址给用户去点,Safari就会:
1.要 么在当前窗口打开QuickTime播放音乐,当音乐播放完毕,会回到刚才你浏览的网页页面,但它会重新刷新的,因为MB采用了AJAX技术,就是异步传 输数据的模式,简单说就是不用等待页面刷新,数据动态载入页面的意思,所以重新刷新页面就会导致用户之前的所有操作丢失,就好像你刚来到MB一样,当然这 个这个问题是可以用过技术解决的,但是“重新刷新”页面的这个动作你是无法阻止Safari去执行的,这样给用户的体验就非常不好。 2.要么重新打开一个窗口(地址标签中加了target=”_blank”属性),这样的体验就不用说有多糟了,你看到的就是,Safari先把你当前浏览的窗口变小,然后重新打开一个窗口启动QuickTime,这个过程是蛮漂亮的,但给用户的体验还是太繁琐了。因此问题现在就又有了。后来终于想到的解决办法就是:使用隐藏iframe。在首页中嵌入一个隐藏的iframe标签,既宽高都是0,当用户点击音乐的链接时把这个音乐的地址赋给iframe的src地址,这样就解决上面的问题了,让Safari在隐藏的iframe中加载音乐,然后再启动QuickTime的窗口,这也就是用户应该看到的,这样就和YouTube在Touch中的体验一样了。当然现在还是有一个小问题的,就是当那个音乐地址无效产生报错的页面的话,报错页面就会显示在iframe中了,此时你把iframe的宽高设置为0或者把iframe放在一个display:none的div中时也是没用的,不过这样不怎么影响用户的体验,因为报错是在页面最下面的,一般人看不到。3.剩下的就是用什么技术去实现了,因为是在移动平台上的开发,所以页面不能太臃肿和复杂,加快用户的访问速度是很重要的,这里用的就是AJAX了,感兴趣的同 学可以去google下。而且根据Touch上Safari的特点可以做出类似于本地app体验的WEB应用程序,当然MB这里没有刻意去模仿本地app 的用户体验方式,更贴近于传统的WEB应用。
解决了上面几个问题,剩下就是怎样去实现了,因为是WEB平台,实现的技术有太多 种,PHP,.NET, JSP, Python, Ruby on Rails随你, MB用的是Ruby on Rails技术,这也保证了MB的开发速度,除去之前搜索部分的功能已经开发了出来,剩下的工作总共用了不到15个小时完成的,中间加上一顿午饭和晚 饭:)好了,自我感觉介绍的差不多了,最起码把MB开发的核心框架都说了,至于具体再具体的技术操作,有兴趣的同学可以M我。
2009-03-17 16:39:01, 900 reviews, comment
send to mailbox
MIX BOY--自己写的音乐搜索程序
MIX BOY,第一个iPhone上的网站出炉啦!
MIX BOY在Apple Web App列表中已经排在第一了:)
MIX BOY播放列表功能
少年,不点下广告吗!
all by shitou
blog comments powered by Disqus