Last week, I delivered a speech on MVP ComCamp2015 Conference Keynote, shared some of my experience as a MVP in the past 8 years. In 2007, I attended my first TechEd as newbie and now I’ve been learn a lot with community friends and grown up as real developer.
I shared 3 topics on the KEYNOTE: Open Source, Free Tools and Cross Platform. It’s quite normal that a Microsoft developer will only focus the technologies in our own area, the long product line and various technologies that Microsoft provided kind fulfil every aspect you can think of in our job and life. However, software industry is not like other traditional fields, the diversity and fast development in software technologies has generated endless learning source and areas that we can conquer. In 2014, I replaced my beloved Windows PC with a fancy MacBook Pro and forced myself to get used to it. It was difficult in the beginning 1 week, even Copy&Paste became an issue that I needed to google about. But now, I get used to Finder, fall in love with Sublime and installed vmware to run those stupid online banking software which are only targeting Windows. I’m not saying I don’t love Windows any more, I’m just trying to explore a bigger world from my well-known continent.
Open Source
“Opening the source code enabled a self-enhancing diversity of production models, communication paths, and interactive communities.” – Wikipedia
Software products have never been something that a individual, a team or a company can manage by themselves. It requires extensive team work, communication and community eco-system to help each others. As the core of software, source code is way that developers communicate. Developers speak our own languages, and only the same kind can feel what we are trying to express through the plain text formatted beautiful poem. Use GitHub as a playground and interact around code by clone/pull/push/branch/merge, is how a developer community should be built and it’s already proven to be a success.
2014 is an important milestone for Microsoft in term of Open Source movement. The software giant who benefitted from traditional licenses model finally caught up the pace of the industry, and wisely placed their source code on GitHub instead of CodePlex. Finally, we can clone and send pull request to these essential piece of source code made by Microsoft from GitHub:
- .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
You will see more from Microsoft on GitHub (http://microsoft.github.io/) .
Another channel that Microsoft setup with Open Source community is MS OpenTech (https://msopentech.com/). You can find many interesting projects here, e.g. VM Depot provides thousands of Open Source based VM templates, including customised Ubuntu, CentOS, ready-to-go MySQL, GitLab and Jenkins VMs, you can simply copy them to your Azure account, up and running in a few minutes. In 2014, Microsoft has hired many tenant people for MS OpenTech team in Shanghai, China. I believe there will be more interesting projects from MS OpenTech in the next few years.
Update: Just when I’m working on this blog post, Microsoft made another announcement that they will provide a free Windows 10 version for the $35 computer Raspberry PI 2. I’m so excited and tried to place an order, but it’s totally out of stock. Anyway, take a look at this Business Insider article, looks like Satya Nadella made another wise decision.
Free Tools
Visual Studio Community Edition is a free version of Visual Studio equivalent to Professional edition in term of features. You will think of Express is the free edition of Visual Studio, but limitation on the project type and plugin capabilities make Express not very useful. With VSCE, you have them all, it’s a full-featured IDE and it’s FREE.
As shown above, you can create a solution with VSCE with backend, frontend, database, reporting and mobile app all together. In the same time, keep your 3rd party tools around, e.g. Reshaper, Web Essential etc.
Link:Visual Studio 2013 Community Edition Download No registration, No activation.
On the KEYNOTE, I demoed using VSCE with Apache Cordova tools to build, debug and package a HTML/Javascript based Mobile app which could be run on Windows Phone/Andorid/iOS. Watch the video below to know more about it.
If below video doesn’t work for you, click on http://youtu.be/qpYHj2xvG28
About Apache Cordova
You can use HTML/Javascript to developer a mobile APP, taking advantages of all your skills and familiar framework that you learnt from Web development, and use them to build your APP targeting all mobile platforms. Apache Cordova also provides plugins that you can use to access hardware like camera, GeoLocation, battery etc; all of these interfaces are exposed as javascript libraries. Read the following to know more …
- Visual Studio Tools for Apache Cordova http://www.visualstudio.com/en-us/explore/cordova-vs.aspx
- Apache Cordova Project http://cordova.apache.org/
- Apache Cordova vs. PhoneGap http://www.makehybridapps.com/2014/06/09/cordova-vs-phonegap-the-differences-and-which-one-to-use/
Cross Platform
With the Free Tools and Open Source above, you can expand your capabilities to other platform as a Microsoft developer. This is not enough, even you are running a MacOS, Linux or simply a mobile phone, you should be able to developer any type of application without having to worry about setting up the environment on your device. With Cloud, you can just open up your favourite browser and start coding, all the build, debugging and packaging can happen in a much more powerful computer in the Cloud.
In the KEYNOTE, I also demoed using Visual Studio Online, Microsoft Azure to setup such a cloud based development environment, watch this video to know more …
If below video doesn’t work for you, click on https://www.youtube.com/watch?v=EJNLtzka_gQ
About Visual Studio Online
- Visual Studio Online http://www.visualstudio.com/
- Microsoft Azure http://www.windowsazure.cn/
- Visual Studio “Monaco” http://blogs.msdn.com/b/monaco/
Download the demo source code from GitHub for “Node Standup App” https://github.com/ups216/NodeStandupApp
Thanks for all the community friends, MVP team, especially Jacky Zhou to help me during this conference.