Any technical conference is definitely a good experience for developers and TechEd definitely sits in the top rank. The TechEd conference is the place where you get to learn so many cool things, like new domains and how people tackle problem solving, that impact how you think about problem solving more efficiently. The conference provides a platform where you get exposed to new terminology and lets you meet many peers.
TechEd is the place where Microsoft makes huge marketing attempts, where they share many exciting new things to attract customers. It also provides a place for other vendors to set up marketing booths. I must mention the food, where they catered for folks who have special needs such as kosher, halal, gluten free, pure vegetarian (which is where I belong :)), etc.
TechEd is primarily for four days. Day 1 started with a keynote address from Microsoft officials followed by individual breakout sessions in which attendees can choose sessions based on their specific interests. The sessions are basically divided into categories to target different audiences, such as application developers, sysops, DBAs, mobile, security etc. Attendees can download the channel9events app to easily manage their agenda by subscribing to sessions in advance. Microsoft Azure and cloud solutions were predominant in this year’s TechEd conference, and, from the way it sounded, predominant in Microsoft’s future. There were many sessions related to the future of ASP.NET and how it drives future application development practices. The event ended with a grand party thrown for all attendees in the Houston Astros Minute Maid park right in the downtown area, and I had chance to go on a field trip.
Personally, the coolest feature I learned on this trip is the “Browser Link” extension. Browser Link is a channel between your Visual Studio IDE and any open browser. This will allow dynamic data exchange between your web application and Visual Studio. When Browser link is enabled, Visual Studio acts as a SignalR server, to which multiple clients (the browsers) can connect.
Below are some of the highlights that are more helpful mainly to developers.
This is next version of .Net, which is under alpha with some cool features:
- Clear separation of client app development vs. web and services
- Supports specialized frameworks to target client apps and web/services separate
- Web/service application frameworks are more cloud optimized
- Everything is open-source
- Totally modular and all DLLs including framework DLLs ship through NuGet packages
- The change to .cs files does not require build.
Compile without build. All you need is to refresh app in browser.
Bin folder is empty and all binaries are in memory. The code gets compiled by Roslyn compiler.
A couple of resources to learn more about vNext:
Below, three talks related to the above but more in-depth:
Applying S.O.L.I.D. Principles in .NET/C#
These are very basic principles/suggestions, but yet they get ignored by many developers while implementing classes as part of application development. These are the principles that every developer must follow while designing classes. They help to keep the code much cleaner and reduce the chances of introducing bugs while implementing enhancements or while the code is in maintenance phase.
Deep Dive into Dependency Injection and Writing Quality Code and Testable Software
An injection is the passing of a dependency (a service) to a dependent object (a client). The service is made part of the client’s state. Passing the service to the client, rather than allowing a client to build or find the service, is the fundamental requirement of the pattern.
- The pattern separates the creation of a client’s dependencies from its own behavior, which allows program designs to be loosely coupled and to follow the dependency inversion and single responsibility principles.
- Dependency injection allows a client to remove all knowledge of a concrete implementation that it needs to use.
- Dependency injection allows a team of developers focus on separate pieces of functionality and integrate them when ready.
The URLs below explain the pattern in detail with examples and talk about the various DI containers available.
The speaker took enough time to talk about things to give a sense of what new features/goals Microsoft has as part of their future releases, followed by a demo showing some features in action.
- One ASP.NET… One UI layer, one dependency injection, one routing, one caching, etc.
- 100% open source… Accepting contributions, decoupled releases
- Cross-platform… Mac, Unix, Apache, Mono, etc.
- Cloud optimized… Smaller footprint, opt-in model, OWIN based, SxS.
- Runtime is part of application
- BYOT – Bring Your Own Tools
- Grunt, Bower, NPM are better with Visual Studio
- New project system
- Best of website – and web application projects + more
- Automate everything
- Command line interfaces, light weight
- Web essentials
- Continues to be the main playground. You’re invited
- Data and services… Web API, EF, SignalR, cloud services
- Server-side… Web pages, MVC, Razor
- Client-side… Angular, bootstrap
- Backed by the cloud… For production, for testing, for development
SignalR – Building Real-Time Applications with ASP.NET SignalR
ASP.NET SignalR is a library for ASP.NET developers to add real-time web functionality to their applications. Real-time web functionality is the ability to have server-side code push content to the connected clients as it happens, in real time. SignalR takes advantage of WebSocket, an HTML5 API that enables bi-directional communication between the browser and server.
Here are a few of the sessions I could make while I was there:
Debugging Tips and Tricks in Visual Studio 2013
Big Data Talk about the Internet of Things
For a relief from Dev sessions, here is one I attended for a change, which talks about “How You Can Hack-Proof Your Clients and Servers in a Day”
Using Service Bus to Connect to the Internet of Things
Another area of this year’s TechEd’s primary focus is Microsoft Azure, and you will find many talks on channel9.msdn.com related to Azure. As part of your MSDN subscription, you get some free space on Azure servers where you can play by building/deploying your applications. Almost every speaker emphasized the importance of making use of those free credits on Azure servers. So get there and go through the experience and we may see Azure in action in FNC applications one day. 🙂
You can watch online or download streams or PowerPoint slides of all the talks of TechEd 2014 at http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014#fbid=