计算机发展迅速,到现在为止已经换代了好多次。我们只有把握住时代发展的脉搏才能适应乘风破浪,立马潮头。第前几个时代,大型机是主角,IBM是老大;后来MS看到了个人PC的市场,认为这才是未来发展趋势,所以成就了一个成功的微软;那么,未来10年是什么的时代呢?窃以为,更小巧的移动设备会是这一个时代的主角。所以,俺看好各类移动设备以后的软件前景(现在的软件很少,大多数是游戏)。
现在开发移动设备的软件大多直接用c++,也有人用java和.net。对于.net程序员来说,WM的市场占有率毕竟不是很高,如果能有一种技术可以让.net的程序跨平台在Symbian上运行,那就完美了。现在市场上还真有这样的产品,这就是Net60。
从第一个试用版到现在,Net60这个软件发布的挺快的。依俺看,这个产品在手机开发这一块会很有前途。这个公司设在南非(公司名字直接翻译为“红五实验室”?怪怪的),最新版本为v2.0。
所以,现在俺想系统的介绍一下这个产品。基本计划是:
1:整体介绍
2:开发准备
3:使用示例(red five lab提供的)。俺再多加一些解释。
4:我使用的测试例子(比如一个小的数独游戏和GPS等,看在写法,效率等等方面的问题;再比如其他方面,GPS,Socket等等)
整体介绍篇
这个系统的优点在于:
1:)适合以熟悉.net的开发人员。如果您已经是java或者c++高手可以跳过。
2:)现在的.net程序(为WM5或者WM6开发的)可以直接移植到symbian系统
3:)基本上一个手机所需要的功能,诸如SMS,Telephony,GPS,Sound,Vibration,Camera,OpenGL 3D等,都有了。并且他还支持sql 数据库。
废话不多说,先上图,看结构。
最底层当然是Symbian操作系统,要访问这个系统有三种途径:
l 直接通过c++
l 用java写程序,靠Java虚拟机来解释给Symbian系统
l 用.net写程序,靠RedFiveLabs的Net60来解释给Symbian系统
最有效率的估计是第一种方法的c++吧。但是问题是,俺不太熟悉c++,也不熟悉java,最顺手的工具就是.net,所以第三种方法最适合俺。
所以,从上图这个角度来讲,Net60算是一种和java虚拟机类似的.net运行于Symbian的虚拟机。
再来一张图,看看他具体的构件结构
从这个图里面可以看到,最底层是RedFiveLabs Runtime,这是一个运行时支持平台,用来加载程序、JIT编译、执行托管代码。他全面支持Symbian系统。
上一层是RedFiveLabs支持的类库。这些类库提供了大量的API,在更高的一个层次上来调用底层的Symbian系统。
这是具体的net60所支持的类库,基本上我们常用的都被支持。
基本类库 |
UI类库 |
WebService & XML |
数据访问 |
· System.*
· System.Collections.*
· System.ComponentModel.*
· System.Diagnostics.*
· System.Globalization.*
· System.IO.*
· System.Net.*
· System.Security.*
· System.Text.*
· System.Threading.*
· System.Reflection.*
· System.Resources.*
|
System.Windows.*
System.Drawing.*
|
System.Web.Services
System.XML.*
|
System.Data |
这是这个系统所支持的功能:(JIT编译器;丰富的类库;垃圾回收;小内存运行;支持debug;手机界面模拟;)
最顶层就是应用了,支持.net CF Apps,以及使用第三方.net类库的程序。所以,看上去我们可以重用以前为WM5或者WM6写的程序,直接移植到Symbian系统上。
后记:
下一篇计划写一下具体的开发步骤(WM的开发步骤,移植到Symbian的步骤)和Net60的几个工具(查看log等)