最近咨询我浏览器的人太多了,所以我开了个专版,专门讨论手机浏览器的实现
地址是:
http://javaeye.5d6d.com/forum-47-1.html
第一步: Wap Explorer原始资料整理
这个是我设计这个浏览器的第一步:
昨天完成了一个小程序,所以今天有比较空闲了,前阵子自己设计了j2me的UI,所以对在一手机画布上绘制UI也算是比较有心得的。所以今天突发奇想,不如自己定制一个wap浏览器来玩下。
自己以前也做过wap网站,所以也知道它的大概个标签,想来通过xml包解释这些标签不难,现在把我的个人想法发到这里来,希望各位爱好者提供建议。
1:设计一个可组装的UI以提供对xml解释后的支持。(基本上是采用以前的UI设计方式)。
2: 采用网站流行的xml解释包,对wml进行解释,主要构思是采用一个2维表进行数据结构的保存。
3:session机制,这方面是个难度,记得以前设计wap的时,在测试的时候发现有些手机并不支持session。个人想法是在手机上保存一个sessionId,然后发送这个Id,并时刻保持这个Id与服务器的一致。
4:解释机制,是否是一边解释一边显示,还是全部下载完,解释完在显示,在技术上的难度来讲,第一个无疑是比较困难的,但是第二个在用户体验方面存在比较大的缺陷。
5:缓存机制,主要难点是记录用户的操作,以及判断服务器内容是否改变,从而决定是否重新下载,还是直接从缓存中获取。
以上几点我只对第一点有把握,第2个估计看下文档就ok了,其他方面我还没有比较多的认识
第二步:Wap Explorer V1.0 && 手机开发前景
哈哈。我的wap浏览器1.0版本的出来了。
解释下功能先
1.调整字体大小
2.调整界面颜色
3.可以定制自己的首页。
4.可以浏览公司很简单的wap页面。
5.其他
未实现的功能有:
1,WapPage控制问题,对一些基本的控制未完成。比如数据果多。怎么样浏览才可以实现分页面。
2,解释复杂页面问题。不能解释一些不规则的wap,比较包含特殊符合,或者其他为见果的。wap页面比较要很严谨才可以。
3,一些功能为能实现,比如下载图片,保存图片到本机根保存网页,收藏夹,智能数据收集(比如记录用户的操作习惯,实现相应的规则,再者就是,记录表单数据,用户操作记录等,
4. 数据下载进度条未实现。
5.。还有很多很多。想到再发上来。
设计的总体结构是:
自己实现了一个UI。
整体采用MVC结构。具体可参照源代码。我想对其他的j2me应用也是有参考价值的。
联网采用多线程。相信很多用户对于多线程编程印象也是很深刻的。线程怎么样根界面打交道我想也是个很大的学问。我在这个版本的程序中我觉得对这段代码也是有参考价值的。
最后是想讨论下,关于j2me的前途问题。j2me出来的时间也算久了。但对于商业应用来说是比较少的(出了游戏)我见过比较成功的应用级别上都是一些类型QQ聊天程序。想UCWEB则是一个用kjava写的网页客户端,听过挺多人用的。
像opera公司也出了个mini的wap浏览器,我下载用了下,感觉也很一边,特别是这几天地震把光纤给搞坏了。所以你用mini来上网也是很慢的。我
估计代码了肯定是做了代理服务器,先把用户请求发送到那边的服务器,然后在发送到客户端,这样对于客户端来说。做的工作就少了很多。
不管怎么样都好。对于企业应用来说。并不是想sun官方所期待的那样。现在window mobile发展势头很多。它倡导的是娱乐生活,对于娱乐方面的功能来说。我想现在能出其左右的是没有的。
不过是那个技术,那个体系相对于程序员来说,意义也不大,我们只需要把握好基础的东西。其他的其实也就没什么了。说白了,真是一个工具而已。我们现在不缺少工具,只是缺少灵感,缺少idea。
对于策划一个产品。创新一个产品,有时候我们是想不到这么多的。还真的需要有专门的人来做。他可以不懂技术。他只懂需求就行了。
昨天根市场部的同事去吃饭。发现做市场也是件很辛苦的事情,他要考虑的事情其实比我们做技术的人更多。压力也更大。都说我们拿不到什么钱,其实也是有原因
的。我们只需要按照需求来做。比如我们的技术能力达到了那个层次。如果我们不想活的太累
的话,我们大可不必思考改怎么做,只需要知道这样做就行了。做市场就不同了。他要考虑,我产品做出来有没有收益,还要找技术。我这个产品能不能做。一步步
都要设计好需求,变成他要去了解用户需求,又要了解技术开发者的需求。。。。。。。
哈哈。说了这么多废话。说话正题了。 对于Wap Explorer V1.0,大家可以热烈的讨论。希望爱好手机开发的朋友能多交流。
还有我们放开手脚讨论手机开发的前途j2me也好,mobile也罢,再者就是liunx或者是sysmain等等。能说的都说出来吧。
现在暂时不把源代码发布上来,讨论热烈的话,或者迟点再发几个截图上来。根代码。 大家期待吧。。。。。。。。
第三步:
Wap Explorer 图片预览
前几天说要设计一个Wap浏览器的,经过上个礼拜天的设计,基本已经把UI的框架搭建出来了。不过对于wap的Wml解释器还没写,一来这方面比较难写,没有实践过,二来这几天公司有事情忙。所以就停了下来,不过趁着今天下午有空,我发些设计好的截图给大家看。
在UI里我实现了对字体的控制已经对皮肤(所谓的皮肤只是换换颜色而已)的控制
艾可惜只能发3个附件。
{1E0DF53D-767F-4C53-93F1-74D307C3E874}0.jpg |
描述: |
|
文件大小: |
17 KB |
看过的: |
文件被下载或查看 161 次 |
下载
|
{58DB28A3-11CB-4F4A-B864-B9282BF44468}0.jpg |
描述: |
|
文件大小: |
13 KB |
看过的: |
文件被下载或查看 65 次 |
下载
|
{D1C1BED4-7807-4D6A-A6E5-832166EC8ADA}0.jpg |
描述: |
|
文件大小: |
10 KB |
看过的: |
文件被下载或查看 59 次 |
下载
|
第4步:
Wap Explorer 初步设计源代码
字: J2ME
刚才在我的Q群里面讨论了下关于Wap Explorer的开发。里面的朋友建议我把开发的过程写到blog,以方便学习与讨论。现在我把我写好的代码公布出来。并说明我的设计结构。(在此说明下,对于里面的UI设计我前面写过很多文章)
一个UI包--包括了所有的界面实现接口等,Wap的显示也主要是通过这个包里面的东西划出来的。
里面有两个核心的东西,Part--控件接口, Panel--Form接口。
比如超链接,TextFiel,SoftButton等都是Part, 弹出窗口,FormPanel都是Panel。
一个Wap引擎。这部分未实现,等大家参考。我参考过jxml等开源的东西,觉得基本上可以实现自己的功能,不过我还是想和大家写一个,一来可以相互学习提高。二来也可以多了解下关于xml(这方面我很菜)。
一个网络连接引擎--主要是下载数据用的。
一个RMS包。主要是用来保存用户数据的。
对了。在源代码里之看wuhua包下面的就行了,其他的都是一些网站找来的代码
这里还有个问题是,怎么样可以使Wap引擎跟UI跟网络连接引擎很好的结合呢。
提出一些参考:
1,一边下载,一边解释,一边显示(这是最完美的方案,比如firefox就是这样)这样对操作有大量图片资源的时候有很好的体验。我们可以先显示出文字,然后在一边下载图片。
2,全部下载完在解释,显示(相对与上面的方案来说)这是比较容易的。但是显示会很慢。给用户造成很不好的体验。
还有很多的其他要求。。。。。。。。
|