|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为各系统的API不同,代码调用API编写程序就会遇到很多不兼容的地方,比如net网页编程改写后的Serv-U就不能在手机上执行,手机的游戏也不能直接在微机上执行。在Mono平台开辟前应当做的第一个事变就是,调剂好意情,下降希冀值:
关于Linux当地C程序员而言,因为习气了猖狂和有魔力的当地C程序员开辟,因而关于Mono供应的诸多限定大概不太中意。大致而言,Mono和.Net程序一样,属于框架开辟的范围,关于框架开辟,最幸亏框架划定的局限能事情,不然会堕入伶仃无缘的地步。Mono没有C开辟那些探囊取物的工具,也不克不及对体系举行无穷的发掘,Mono存眷的是使用软件开辟,不是体系软件(Mono能够撑持当地服务开辟)。Mono撑持两品种型软件开辟,以WEB为中央的软件和以当地为中央的开辟。WEB包含惯例定以上的使用型网站开辟,也包含基于服务的模子开辟。因为服务如今成为软件开辟的中央而且敏捷退化。作为.Net替换平台,Mono显得很凌乱,次要由于.Net以服务为中央的计划在Mono上还没法完整发挥,由于Mono基本平台正处于2.x阶段,等09岁尾应当是一个新阶段。关于当地程序开辟,次要包含一GTK#和System.Windows为中央的图形界面程序开辟,还包含服务软件的开辟(linuxservice机构),也包含一Lucene.Net为基本的搜刮软件的开辟。
关于Windows.Net程序员而言,起首要极端下降希冀值,Mono没有壮丽的工具,缺少充足的第三方软件,而且工具之间的集成也做得不太好,代码编写大概不很流利,MonoDevelop也大概让你很扫兴,这些都是Windows上便宜的.Net开辟工具把我们惯坏了。Windows.Net程序员离开Mono的次要缘故原由有良多,多是由于猎奇,但愿迁徙本人的程序,想窥伺一下Mono完成以断定和本人想的差异有多远,更多的是要进修。就像把孩子放到艰辛的中央熬炼一样,离开Mono,你将会有一样的感到,十分的瘠薄。Mono工具还对照原始,文档也对照少,我以为这方却是进修的好中央,每次当我翻开MSDN,我城市看书惊讶,何等但愿堆集充足丰厚的Windows常识呀,可是MSDN让人感应很年夜很茫然,最初,仍是购置专著研讨更符合,其他要用的,用的时分在查材料吧。在Mono平台上材料十分少,这也是上风,关于C#言语自己而言,那是进修的好中央,就像C++一样,C#自己是一个诱人的言语值得研读一下,可是C#上牢牢绑缚的使用更合适临盆而不是进修,假如要进修,必要找一个单调一点、产物单一的情况,固然学好了赶忙返来,赶忙拥抱Windows:)
懂得平台之间的差异:
关于文件体系,Linux基于假造文件体系,这是Linux最乐成的计划之一,外表看起来就是,任何文件和资本都能够经由过程一"/"入手下手的文件来会见,文件之间的支解符是"/"。在Windows中,文件体系经由屡次笼统,开起来相似与以“C:”、“D:”如许的体例入手下手,而且文件之间的分开符利用"",这是良多程序不成移植的主要缘故原由,能够参考厥后的文章,懂得怎样进步程序的可移植性。
第二个差异就是换行符的分歧,在Windows平台,一个换行符意味着“",因为在字符终端时期,""的义务是使光标处于下一行的一律地位,而""则是使光标处于一行的开首,因而,往下一行入手下手则意味着要共同利用两个把持符;在Unix族平台,换行符则利用""暗示,这是汗青缘故原由,我料想是因为初期的时分终端程序的划定招致的。
关于Unicode,这如今应当不成成绩了,如今Linux多都在外部利用了Unicode,之前Linux在外部利用ASCII编码及其扩大。因为Windows在外部利用Unicode已很长时将了,.Net的Unicode撑持十分好,Char字符本省就是Unicode的,而且System.Text也为文本处置供应了诸多撑持。固然Mono完成了.Net的功效,可是我发明,体系对Unicode的处置不敷仔细,一个仔细计划的类库战争台,应当包管在年夜部分情形下体系的反响能和程序员预期的一样好,可是Mono没有做到,那是之前的事变了,因为MonoRunTime在一向改善,如今应当有年夜幅前进吧。文本处置一向都是盘算机迷信的基础成绩之一,一般情形下,处置多国编码的最简的举措是利用UTF-8,因为汗青缘故原由,很多接口并没有利用UTF-8,而是利用糟糕的转换。在Windows下,在.Net呈现之前,文本处置一向很让人头疼,歌颂.Net经常提的一个成绩就是:“岂非你还想实行字符串转换事情?”,看看char*、wchar_t*、_bstr_t、CComBSTR、CString、basic_string和System.String,旧事不胜回想呀,假如不跨库,不夸计划,那末字符串处置还算轻松,一旦要跨库跨平台跨计划,那末,字符串处置就是程序员的恶梦。
布局差异,Microsoft.Net是一个旨在创建伟大生态圈的小气案,但愿八面玲珑。由于Microsoft企业平台架构,Microsoft.Net可以更好的跟Windows的营业中心和体系中心无缝承继,在Microsoft.Net上,架构师、计划师和程序员看到的不单单是.Net,还包含大批运转的干系营业出路的企业服务和组建。在Mono上,因为必要以来第三方完成,依附大批的绑定来利用体系或其他软件的功效,偶然侯通明度不敷。没有MMC、域、MSMQ、WMI、事件撑持、服务架构、数据库服务等主要基本布局的撑持,这些在开辟初期就应当断定的要素,请断定Mono可以满意你的请求。另外一方面,这些在良多时分也是一个上风,有大批的第三方组建在完成这些功效,包含Apache和Mozilla和Postgrsql。
本文来自:http://www.ckuyun.com/mathphoenix/archive/2009/02/07/1385961.html
感觉很多控件都必须自己去写代码;用了WebMatrix感觉也不是很好,毕竟没有很强的WYSIWYG效果。现在就不知道如何是好了。 |
|