前言
2016年5月11日,我在新浪微博上留言“不是我不明白,这世界变化快啊! 坐在微软的办公室里研究了一宿Ubuntu Linux,五年前想都不敢想”,并配发了一张Ubuntu gcc编译开源项目时的截屏。是啊,这个世界变化真是太快了!别说五年前,就是三年前,一直从事微软技术路线的我也没有想过未来将要在Linux 上部署我的应用。
微软公司在新任CEO 的带领下开始踏上了新的征程,迅速地开始向开源领域转型。公司向开源领域转型的第一个动作就令人瞩目,微软首席执行官 Satya Nadella 在2014年10月直接对媒体喊出了“Microsoft Loves Linux”!紧接着,微软在2014年年底宣布.NET Core 要支持跨平台,操作系统囊括了Linux、OS X 甚至FreeBSD,并且将.NET Core 的代码放到了Github 上。然后,微软又推出了广受好评的轻量级跨平台的IDE: Visual Studio Code。至今开源界已经给Visual Studio Code 贡献了上千个扩展插件。进一步,微软宣布SQL Server将在2017年正式支持Linux,并且通过收购Xamarin 公司一举揽收了Gnome和Mono 项目的创始人Miguel de Icaza这种开源界明星级别的人物进入公司……
微软公司目前已经和开源界展开了紧密的合作,从云端大数据平台到移动端开发,在微软的产品中你都可以看到世界著名开源软件基金会Apache 的身影。现在再讨论“要不要开源?要不要跨平台?”已经毫无意义了。微软的工程师现在只关心一个项目或者产品的哪部分要开源?要支持几种操作系统平台?
为什么要写这样一本书?这是一个好问题!经过这三年微软向开源和跨平台领域的转变,微软已经在开源和跨平台领域构建出了一套自己的技术体系。从服务器端的.NET Core、ASP.NET和Web API,到Web 端的TypeScript 脚本语言,再到移动端的Apache Cordova 和Xamarin,微软已经可以支持开发者使用完全开源和跨平台的技术构建自己的应用。再配合免费的Visual Studio Community版本以及支持Git版本控制的Visual Studio Online,开发者可以不花一分钱就可以在微软的平台上实现基于开源项目的应用程序生命周期管理。在李克强总理提倡的“大众创业,万众创新”的大潮中,微软现在的开源技术体系架构可以帮助创业者和开发人员大大降低创业的门槛和成本,迅速地将自己的创新想法变成现实。
作者编写这本书,主要是为了通过一个非常简单的电商项目,将目前微软开源跨平台的技术体系结构串联起来,帮助创业者和开发人员了解和掌握如何使用微软的开源跨平台技术来迅速构建自己的应用。然后启用微软云Azure 的力量,快速部署和集成,迅速地将自己的技术产品和想法推广到每个用户手中。
本书不是一本单独讲解某个微软开源技术的图书。恰恰相反,本书是把微软开发工具和开发服务(Visual Studio 2015、Visual Studio Online),微软开源开发技术(.NET Core1.0、Apache Cordova、Xamarin)和微软云(Azure)等各种相关技术串联起来的一本书。通过本书读者可以了解到如何利用这些开源、免费的工具和技术构建自己的应用。
本书的代码全部开源,读者有兴趣可访问https://github.com/micli/MuscleFellow 获取本书相关的源代码。同时读者也可以通过访问http://musclefellow.chiancloudapp.cn 来体验已经部署好的网站和Web API。
本书的创作始于2016年1月,截止到2016年7月2日。期间,.NET Core 从beta 8 演进到1.0 RTM。种种变化也给作者写作带来极大的痛苦,很多工作在每次.NET Core 新版本发布之后都要重新调整,很多章节的内容也因此全部失效而永远无法与读者见面。
如何高效地阅读本书
对于已经非常熟悉微软战略的读者,可以直接从第3章开始阅读。对于云计算和微软战略不是很熟悉的读者,建议从头开始阅读。
从本书第5章开始,将涉及开发和代码。建议读者从Github上下载代码,再与本书内容对照着学习和阅读。
本书适合哪些读者
本书适合那些对使用微软技术构建应用以及对微软云平台Azure 部署应用感兴趣的人员,也适用于对开源技术感兴趣的读者。同时,本书对有志于互联网创业,尤其是期望快速搭建应用的创业者极具参考价值。
致谢
首先,我要感谢我的家人,尤其是我的女儿。在女儿需要陪伴成长的年纪,我占用了大量本属于她的时间去写作。尤其是连续写作两本书的情况下,使得我很长一段时间都没有好好地陪她。我对我的女儿充满了愧疚。此外,我也非常感谢我内心深爱的那个人。
其次,我要感谢我的同事刘颖老师和清华大学出版社的盛东亮编辑。本书的成书是和你们的鼓励和支持密不可分的。
最后,我还想感谢胡德民(Peter Hu) 和我的老板赵立威。在最近一年的时间里,胡德民帮我安排了很多与微软开源、跨平台相关的技术演讲,使我有机会全方面地接触微软相关的开源技术,尤其是Xamarin。同时,我的老板赵立威也非常支持我的写作,在写作过程中给予我很大的鼓励和支持。
作者联系方式
由于作者能力有限,书中难免会有疏失之处,请读者多多谅解也请不吝赐教。
电子邮件地址: mic_lee2000@foxmail.com
微博: @迈克尔老李