一不小心加入水果党快半年了,也算得上是经历过微软和苹果两种技术的人。尽管不是那么的精通,但也是马马虎虎会用两个平台进行开发,写这篇文章完全是涂鸦之作,是一个用过两家公司技术的人的个人小看法。
微软和苹果都不小心成为过的全球最大的
科技公司,
他们的技术算得上是无与伦比的。最近学习了
iOS开发中的core data,看过之后才晓得它就是一套orm的框架,可以使用多种存储体,C<span style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #222222; line-height: 21px;">oreData可以选用sqlite,
XML等作为实际的数据存储方式,一般采用sqlite</span>。
自己仔细看过CoreData之后
发现跟.net的Entity
Framework非常类似。一开始给我的感受是:技术都是类似的。Core data和Entity Framework从实体的定义到属性的验证,思想相差无几,不同的是一个使用了C#/VB.net,一个用objective-c。总觉得存在不同的地方,哪里呢。
仔细找了一下苹果xcode的数据库访问的框架,好像只有core data一种。打开vs2010,看看微软的数据库访问框架,太多了。简单总结一下,最主要的有下面几种,如果还有欢迎补充。<br> 1、Entity Framework<br> 2、Linq<br> 3、ado.netentitydatamodel
这时你可以看到他们的区别。微软提供的技术方案太多,可供选择的方案也就太多,上面的技术还充斥着各种
版本,技术、版本更新太快,所以.net
程序员跟着学很累。
原因是,微软也不是闲着没事干,微软它是纯粹做软件的,软件是它的专长啊。别看orm可以设计好几种,这里只谈ORM技术感觉太狭隘了。从微软的产品角度看,就说说我经常用的微软产品:windows、sqlserver、Visual
Studio、IE、
Office都是一到两年升级一个版本,所以微软偏重软件。
而apple是软硬件
结合的公司,偏重硬件。搞一套orm给你用就可以了,让你能存储数据,查询数据就行了,甚至可以没有自己的数据库产品。大部分精力可以投入到硬件(iPhone/ipad)的设计上。apple的软件技术更新没微软那么快,iOS开发人员不会那么累,但是apple的硬件
设备贵,学习的门槛高了点。如果用户觉得iphone太贵,弄一个
iPod touch,iphone4推出不久就开始iphone5的广告。所以apple就主要是卖硬件的,但是app store出现之后有点点不同了,软件照样也能赚钱。所以可以说apple软件做硬件都赚大钱,做软件也能赚钱,
这让我想起了一句话:What Andy gives, Bill takes away 。但是遇到apple这样软硬兼备的公司,请问这句话未来还适用吗?