2015年1月31日,作为KEYNOTE演讲嘉宾,我和来自全国各地的开发人员分享了作为一名MVP的一些体会。

Keynote – Open Source, Free Tools and Cross Platform
Keynote – Open Source, Free Tools and Cross Platform

今年是我加入微软全球最有价值专家项目的第八个年头了,回想起2007年第一次参加微软技术大会TechEd的时候,我还是一个刚入行的小兵,现在竟然可以站在大会的KEYNOTE上吹嘘一下自己的经历了。八年是一个不算短的时间,最让我自己满意的是这些年交到很多的好朋友,学到了很多的新东西。但越是如此,越是觉得有更多的东西想去尝试。

这次大会上和大家分享了3个话题:开源,免费和跨平台。做微软的技术年头多了的人都有这样一个特点,就是很容易把自己局限在这个技术圈子里面。当然微软的产品线很长,技术很丰富,基本上在工作中/生活中的方方面面都可以涵盖。可以当我们睁开双眼向外望去的时候,才发现这不过是广袤草原上的一座美丽的庄园而已。今年,我换掉用了多年的Windows操作系统,给自己添置了一台MacBook Pro,强迫自己去习惯,去适应完全不同的操作方式,工具和环境。那开始的1个星期还真是痛苦不堪,连最简单的拷贝粘贴都不会了,但是现在我渐渐习惯了Finder,喜欢上了Sublime,也可以用vmware来运行虚拟机了(没办法,网上银行那些弱智软件还是要用的);一切都需要变化,其实自己才是最难克服的障碍。

转自我的个人博客:http://anb.io/blog/opensource-freetools-crossplatform-mvp-comcamp2015-keynote/

开源

“Opening the source code enabled a self-enhancing diversity of production models, communication paths, and interactive communities.” – Wikipedia

开源所创建是软件行业真正需要的产品模型,沟通方式和互动社区。Wikipedia对于开源的这句描述真正诠释了开源的精髓。软件不是一个人,一个团队,一个公司可以通过自身的努力可以满足的,软件开发是程序员智慧的创造物,即便是爱因斯坦的超强大脑也无法预见所有的产品形式;沟通的重要性也往往被忽视,整日面对电脑的程序员往往被认为是不善于沟通的,其实是大家不了解程序员,他们通过指尖敲击出的优美旋律是只有其他同类才能理解的精美语言,代码才是程序员最好的沟通方式;围绕代码构建程序员沟通网络正是这些年开源社区成功所在,在GitHub这样的游乐场里,只有在clone/pull/push/branch/merge中才能体会其中的乐趣。

2014年对于微软和开源来说是非常重要的一年。其实,微软很早就已经开始了开源的步伐,但只在2014年才开始使用GitHub作为共享源代码的方式。放弃微软自己的开源平台CodePlex而使用开源社区的事实标准GitHub,说明微软确实意识到了开源的重要性,并乐于按照开源世界的方式来与全球的开发者合作。另外,也只有在2014年,我们才看到以下重量级的产品代码被开源出来。

  • .NET Home  https://github.com/Microsoft/dotnet
  • .NET Core CLR https://github.com/dotnet/coreclr
  • .NETFX https://github.com/dotnet/corefx
  • Roslyn https://github.com/dotnet/roslyn
  • Visual Studio F# https://github.com/Microsoft/visualfsharp
  • WinJS https://github.com/winjs/winjs

以上仅仅是一部分,通过 Microsoft on GitHub (http://microsoft.github.io/) 你可以看到更多的微软开源项目。

另外一个微软与开源的重要合作渠道是 MS OpenTech(https://msopentech.com/),在这你可以看到更多有意思的项目,比如VM Depot。 VM Depot 是微软为云计算所提供的虚拟机模版库,包括各种定制版本的Ubuntu, CentOS模板,配置好的MySQL模板,可以直接使用的GitLab, Jenkins模版都可以直接从上面下载,或者直接部署到你的Azure环境中。

值得一提的是,2014年微软在上海大规模扩招了很多工程师为MS OpenTech工作,相信大家很快就会看到微软与国内的开源社区有更多的合作。

更新:就在我写这篇博客的时候,又一件具有里程碑意义的事情发生了,那就是微软宣布Windows 10将为RaspberryPI 2免费提供一个版本供所有的创客们使用。看到这个消息我也兴冲冲的想去马上买一个 PI 2来玩,可惜全部脱销。

免费

2014年的另外一件大事就要算Visual Studio社区版的发布了,这是一款与专业版具备同等功能的 免费 Visual Studio版本。之前微软也为不同类型应用的开发者提供过Express版本的Visual Studio供大家免费试用,但是Express有两个致命的问题造成了大家对这个版本并不感冒。

  • 只能针对某种特定的应用程序类型做开发,比如你使用Windows Phone版本的Express是无法做web开发的;而反过来也不成。
  • 无法使用插件。vs有大量的插件可以帮助开发人员提高开发效率,比如大家熟悉的Resharper,以及Web开发利器Web Essential都是通过插件提供的。无法使用插件使得Express变的非常鸡肋。

如上图:社区版没有以上限制,你可以用它完成包括前端,后端,数据库,报表,app等各种应用类型的开发,也可以自由的使用你喜欢的插件。估计对这个事情最头疼应该是Eclipse了,而在它后面更加头痛的就是IBM了。

链接:Visual Studio 2013 社区版下载地址 无需注册,直接下载。

本次 MVP ComCamp 2015 的KEYNOTE上我使用社区版本演示了Apache Cordova的支持,使用完全的免费的工具和一套html/javascript代码完成Windows Phone/Android/iOS应用的开发,调试和打包。具体的演示大家可以看下面的视频。

关于Apache Cordova

支持使用html/javascript来进行移动APP开发,你可以借助自己在Web开发中的技能和掌握的框架来完成手机应用的开发,Apache Cordova则通过插件为你提供访问诸如摄像头,地理位置等设备访问的javascript借口,并提供编译,调试和打包的工具链帮你完成手机app包的创建。更多关于Apache Cordova的内容可以访问以下网址进行了解

  • Visual Studio Apache Cordova 工具 http://www.visualstudio.com/en-us/explore/cordova-vs.aspx
  • Apache Cordova 开发项目首页 http://cordova.apache.org/
  • Apache Cordova 与PhoneGap的关系http://www.makehybridapps.com/2014/06/09/cordova-vs-phonegap-the-differences-and-which-one-to-use/

跨平台

上面使用Visual Studio社区版和Apache Cordova所进行的跨平台开发其实只是跨平台的一部分,对于开发人员来说我们每个人都有自己的喜好的操作系统,工具,而现代的软件开发已经不紧紧是一个Editor和编译器可以搞定的事情了。代码管理,任务管理,自动编译,测试,打包,发布等等环节对于一个开发人员来说都是必不可少的。同时,搭建开发环境这件事情其实是每个开发人员心里的痛(为什么我们都是重装电脑的高手,这里的心酸估计只有同样是程序员的你知道。。。)。

如果,你只需要打开浏览器就可以完成我上面所说的一切,那世界该是多么的美好。可以利用云计算将所有的开发环境都放到云端,而你需要的只是一个浏览器。。。世界从此清静了。

在MVP ComCamp2015 KEYNOTE中我演示了如何借助Visual Studio Online和微软云计算Azure来构建这样一个完全位于云端的开发环境,具体内容请大家看视频。

关于Visual Studio在线开发平台

  • Visual Studio Online http://www.visualstudio.com/
  • Microsoft Azure http://www.windowsazure.cn/
  • Visual Studio “Monaco” http://blogs.msdn.com/b/monaco/

下载演示中的Node Standup App https://github.com/ups216/NodeStandupApp

感谢所有的社区朋友,微软mvp项目组的同事们,特别是我的老同事周文洋帮我一起完成了keynote上的精彩演示。

转载于:https://www.cnblogs.com/wuyida/p/6300142.html

开源,免费和跨平台 - MVP ComCamp 2015 KEYNOTE相关推荐

  1. 分享一个.NET平台开源免费跨平台的大数据分析框架.NET for Apache Spark

    今天早上六点半左右微信群里就看到张队发的关于.NET Spark大数据的链接https://devblogs.microsoft.com/dotnet/introducing-net-for-apac ...

  2. 一款开源免费且快速,高效和安全的跨平台备份程序:Restic使用教程

    一款开源免费且快速,高效和安全的跨平台备份程序:Restic使用教程 Restic是使用Golang写的一款开源免费且快速,高效和安全的跨平台备份程序,可以存储在本地,云存储服务或远程文件服务器上,并 ...

  3. 开源,免费,跨平台——白鹭引擎(Egret Engine)

    http://blog.zinewow.com/post/376.html Egret Engine(白鹭引擎)是一款使用 TypeScript 语言构建的开源免费的移动游戏引擎.白鹭引擎的核心定位是 ...

  4. Motrix - 清爽开源免费的全能下载工具 (跨平台、支持 BT / 磁力链 / 百度网盘)

    简介 Motrix 是一款开源免费且界面非常清爽简约的全能型下载软件,它跨平台支持 Windows.Mac.Linux 三大系统,可以支持下载 HTTP.FTP.BT.磁力链接以及下载百度网盘等资源 ...

  5. Riot-IM:是一个开源免费的即时通讯聊天协作工具,功能丰富且跨平台——Riot-IM

    Riot-IM 介绍  Riot-IM ,一个新型的协作平台,可以在 iOS.Android.Web 端运行,完全由自身控制的通用安全聊天应用程序.支持多大25种语言(支持中文),且还在不断地增加!可 ...

  6. 2d开源游戏引擎linux,Corona实验室开源Corona,免费和跨平台2D游戏引擎

    Corona实验室昨天宣布,它正在制作免费和跨平台的2D游戏引擎Corona,根据GPLv3许可证和商业许可证作为开源提供.构建和发布的许可证保持不变,并且更改仅适用于引擎的源代码. Corona是一 ...

  7. 开源,免费,跨平台的devops批量运维工具,《卡死你3000》简介

    大家好! 又到了分享的时间,今天给大家分享一款,开源,免费跨平台的devops批量运维工具.让我们先听听,作者是怎么吹的: 简介 作者道: 开源+免费+跨平台安装+100%兼容shell, 跨平台:主 ...

  8. 开源免费的HTML5游戏引擎

    青瓷引擎的成长 青瓷引擎自2015年4月项目启动开始,7月首次亮相2015年ChinaJoy,便得到业界的极大关注,随后开启限量测试,收到数百个开发者团队的试用申请及反馈,期间经历了18个内测版本,完 ...

  9. 开源免费的HTML5游戏引擎——青瓷引擎(QICI Engine) 1.0正式版发布了!

    http://www.cnblogs.com/qici/p/5047464.html 青瓷引擎的成长 青瓷引擎自2015年4月项目启动开始,7月首次亮相2015年ChinaJoy,便得到业界的极大关注 ...

最新文章

  1. TNS-12518 Linux Error:32:Broken pipe
  2. Linux系统中ctrl+c、 ctrl+z、 ctrl+\ 产生的信号名称
  3. 用函数求10个数的平均值_Excel AVERAGEIF函数条件求平均值
  4. Oracle数据文件的备份与恢复
  5. qt 背景和控件布局_Qt控件背景图片设置总结
  6. C和指针之多维数组一行存满后会轮到下一行
  7. 七月文章导读【TCP/IP相关】:解密 TCP/IP;什么是公网ip?什么是内网ip?为什么ip地址通常以192.168开头?
  8. ostringstream 的清空数据方法
  9. Linux内核学习编译流程
  10. 采样次数不同平均值不一样_认知的不同,才有不一样的人生
  11. ArcGIS连接pg数据库
  12. win10磁盘使用率100%的解决方法
  13. PID控制器开发笔记之十二:模糊PID控制器的实现
  14. linux连ftp超时,ftp上传超时的一种解决方案
  15. 2021大厂Java高级面试题及答案,附面试答案
  16. 数据库基本术语DDL,DML, DCL
  17. 十六进制颜色值和ARGB颜色值的转换
  18. 2048android源代码,VasSonic Android源码解析
  19. 生活杂谈之万网域名注册过程详解
  20. 私有化场景下大规模云原生应用的交付实践

热门文章

  1. sql中exists替换in的区别
  2. lenovo Think Centre TCM 开发环境搭建
  3. html visibility 替代服务器端控件 visable属性!
  4. WebBrowser加载完毕后再往下执行
  5. Redundant Connection (684)
  6. react源码解析之stack reconciler
  7. ls 命令还能这么玩?看一下这 20 个实用范例
  8. git使用--提交代码
  9. 《C语言编程——零基础初学者指南(第3版)》一第1章 什么是C程序设计1.1 什么是程序...
  10. 从市场的角度来看技术的学习