移动开发领域,一种语言通吃多个开发平台Windows Phone/Android/iOS-介绍猴子平台。(转)
移动开发领域,一种语言通吃多个开发平台Windows Phone/Android/iOS
通常的原生开发工具及语言如下
1)Windows Mobile/Phone:
I)原生APP:
开发工具:Visual studio 2008+C#/Mobile,Visual studio 2010+C# /,自带模拟器,技术嘛Silverlight/XNA均可
开发工具:Delphi XE2 +Firemonkey+FPC
其他的还有spaceport
III)混合APP(Hybird App):
借由PhoneGap+HTML5+Javascript,你可能重新学习HTML5+Javascript到深入级别了。通过PhoneGap的不同平台进行编译。
2)Android:
I)原生APP:
开发工具:eclipse 需要ADT插件,开发语言Java
开发工具:mono for android/C#,你可以使用MonoDevelop或者Visual studio/Mono plugin...,需要java环境运行模拟器。
开发工具:估计2012年到2013将推出,英巴卡迪诺正在开发Android的编译环境,官方称,
现在还是通过Delphi X2 2 导出到PhoneGap上编译。
其他的还有spaceport
III)混合APP(Hybird App):
借由PhoneGap+HTML5+Javascript,你可能重新学习HTML5+Javascript到深入级别了。通过PhoneGap的不同平台进行编译。
3)iOS:
I)原生APP:
开发工具:Objective C语言,Mac os系统
开发工具:monotouch for ios/C#,你可以使用MonoDevelop或者Visual studio/Mono plugin...,需要java环境运行模拟器。
开发工具:Delphi XE2 +Firemonkey
III)混合APP(Hybird App):
借由PhoneGap+HTML5+Javascript,你可能重新学习HTML5+Javascript到深入级别了。通过PhoneGap的不同平台进行编译。
此外还有其他的手机平台,例如诺基亚的塞班,Plam,黑莓(手机我见过一款,真不知道怎么回事),手机太多了系统太多了,希望开发一套解决方案就搞定也就成了移动互联开发领域头痛的事情。
1)基于浏览器的Web APP开发。
WAP/HTML5.0的Web网站系列,这种按照WEB机制进行开发,几乎大部分系统都能使用,市场仍然很广,不可否认无论你使用PHP,.NET,JAVA也好,WEB大军依然是最多的,WEB应用有他无法比拟的优势。而且还有市场价值。
免费的,基本上很快学习一下WML,或者HTML5就行了。
2) WEB APP/HTML5通过PhoneGAP开发原生应用
这个也比较流行,毕竟支持的平台相当广泛,据说通吃7大移动开发平台,而且PhoneGAP开源,很多人看好。
但是你明白PhoneGAP的机制,核心依然是WEB,外边包裹了糖衣,我认为,慢说支持7大平台,只要PhoneGAP出现各种包,所有平台支持也非常有可能,而且容易,
开发难度低,只要你会HTML5+Javascript基本上,而且还支持JQuery MobileE库,Web开发正常开发,最后包括一下,对于特殊开发查查API就完全可以搞定。
开发要小心速度问题,一不小心,PhoneGap的杂种速度会很慢,而且各个平台的兼容性你要小心测试。。
但是我试验的速度不知道咋回事,不怎么快。
3)英巴卡迪诺的Firemonkey开发Windows Phone7/IOS(收费)
Firemonkey据我了解,可能内部使用的是FPC的机制,现在不支持Linux/Android,但是明年或者今年就会推出Android版本。
原生程度很高,速度很快是没有问题的,但是开发语言限于Borland C++/Borland Delphi的老牌程序员能搞,不过不难。开发效果不错。真正在一个平台上的一套代码。
4)Novell的MONO平台
免费的,但是可能收取服务费的,同英巴卡迪诺一样,现在已经支持Windows Phone7/Android/iOS了,更重要的还支持大量的C#开发者,你可以使用C#开发这些应用了。不同的平台代码是不同的,更多的给C#开发人员提供了福音。
此外平板或者游戏平台还有Spaceport(基于HTML5)多平台平台等。
5)Mono和FireMonkey的机制和原理是类似,我们可以叫做"猴子平台"。
Mono:西班牙语为猴子的意思。基于开源的跨平台语言环境,Mono 是一个基于C#的的开源跨平台环境
Firemoney:直接翻译:就是火猴子,不管什么猴子,基于开源的跨平台语言环境,是基于FPC(Pascal语言)的跨平台环境。
Java:Java是Sun公司推出的跨平台的语言环境,现在归Oracle。更多指的是JAVA环境本身。
最近体验了一下MonoDevelp相当不错,只要会C#就可以开发相当不错的IOS应用!一般只要会ADO.NET+C#即可,不是深入讨论不需要最烂的语言Obj C,但是为了查询版主,需要你能够懂obj C即可,obj c本质上和C++不沾边,我认为哪个语言更像,C+Lisp+smalltalk的杂种狗。读起来,既不像C,也不像lisp.
label1 =[[UILabel alloc] init];
label1.text =@"Hello";
NSString * str = [[NSString alloc] initWithFormat:@"%@",@"abc"];
这么简单的句子:
alloc分配内存,ini初始化,设置对齐需要发送消息,就是大杂烩,那个参考smalltalk听说专家说的(单词有错),
我看来,不想指针,更像lisp的脱壳子语法。
[[UILabel alloc] init];实现,是执行里面,脱掉马甲,在执行外边的乌龟壳,你的面向对象的思考就丢失了,
更多适应简单C和LISP标记表达。当然习惯就很好。
但是JAVA和C的思想完全不同,虽然同族。但是思想模式完全不同。
可见MonoDevelop的意义。
Mono是开源的的,这个一个好消息,mono for android有一定的意义,但是意义不强,毕竟Java也不难。mono for android相对ADT快很多,但是如果熟练ADT不强。
我试过Firemonkey的开发速度更快,毕竟Delphi RAD创造了开发的奇迹,但是Firemonkey要购买DELPHI XE2,现在懂DELPHI都是老牌的程序员,比如我,我都放弃好久了。我真正体验了开发效率,更加傻瓜开发IPhone,相比Mono差不多了,但是我还是推荐Mono,我更加看好开源的环境支撑起来的大舞台。
HTML5:是WEB应用的未来,毕竟WEB的主流依然强劲,也是最大的开发群体,这个前景更加广阔。而且完全通吃。自身的局限吗,例如3D表现力,离线,SQL等,在HTML5都发展起来,而起3D的未来也不遥远,我认为原生为基础,WEB才是高薪的所在。其实难度比原生简单,但是市场觉得我们这个程序的命运。
相关的图书很多,各位多学习跟上这个时代的潮流。
猴子时代+HTML5的新时代来临。
综上所述:
1)首先:你根据上面的描述,可以发现除了第一种web,Mono外,基本上原生的开发基本上都是开发平台提供商开发根据各种平台开发了针对性平台,你可以一次使用一种语言进行和计算机沟通,多次编译就可以了。非常方便缩小了开发周期而已。
2)第二你可以看到Android系统逐渐成为市场的新霸主,微软也在奋勇直追,三国形式已经形成。
然而其他的比如塞班等逐渐淡化,诺基亚看到了低端,不知道诺基亚要做什么,要放弃吗??
3)第三,开发移动开发不是很难了,越来越容易了。那个蹩脚的Objective C都能替换,IOS的市场会更大,但是Objective C开发人员群多了C#,C++,DELPHI了
==================================================================
开发越来越快,只要有市场,没有什么做不到!!