SignalR allows us real-time communication between web pages and the server in ASP.NET. Check out this video uploaded to YouTube by a poster, that goes in-depth on this great new performance enhancement to ASP.NET..
By Don Burnett-Microsoft Expression Blend MVP 2012-2013
The Microsoft MVP Summit is always a fun event with exciting people and fun happenings. Much of the session content is under NDA so I cannot speak to most of it more than to say that I had a great time conversing with some of the brightest and best thought leaders out there. I have been totally blessed to have this experience for five years. I wanted to thank Microsoft for the great time and allowing us to have this experience.
This summit was a great opportunity to network about issues affecting the user community and explore solutions that are possible and very community grounded. I was very excited by this summit because there were many people interested in working with each other and a sense of new togetherness that there are again exciting times ahead for technology engagement in an open inclusive for all methodology. I saw a lot of change from within especially from Microsoft that has completely changed my over all outlook and direction for the future.
Prolific Technology Releases Ahead
There were a few releases out there this week that show us some exciting things that are ahead. Here are a few of the public announcements this week that were exciting that gives us a glimpse into the direction for the coming year..
Blend is Back
Quoted from the Blend Insider: http://blendinsider.com/technical/announcing-visual-studio-2012-update-2-ctp-2013-01-30/
“The CTP of Visual Studio 2012 Update 2, as it bring forwards a number of improvements for the XAML developer. The following are some of the key improvements you will find in this release:
WPF, Silverlight and SketchFlow support in Blend
Blend for Visual Studio now support WPF, Silverlight and SketchFlow projects in the same version of Blend (support for these was previously available only as a standalone Preview release of Blend). With this CTP release, Blend now supports developing Windows Store, Windows Phone, WPF and Silverlight apps without needing to have multiple versions of Blend on the same machine. The table below highlights the various platforms that are now supported in Blend for Visual Studio 2012:
Illustrator and Photoshop import support for Windows Store XAML apps
Blend now allows you to import Adobe Illustrator and Photoshop files into Windows Store XAML apps, using the same workflows that you have been familiar with in WPF, Silverlight and Windows Phone. In addition, we have also enabled copying and pasting graphics from Illustrator directly into your XAML design surface.
Performance and Reliability
We have been actively working on improving the performance and reliability of using the XAML design surfaces in Visual Studio and Blend, as well as the XAML editor in VS. While our work is not yet complete, we have addressed a significant amount of feedback that we received in this release – particularly in areas where the XAML designer would take a long time to load for large projects. The following is a quick sampling of areas where you might see improvements in this release.
In addition to this, we also fixed approximately 30% of all issues that were submitted by you via Microsoft Connect. We continue to make progress on addressing more issues as fast as we can. “
ASP.NET and Web Tools 2012.2 Update
From John Galloway’s Blog: http://weblogs.asp.net/jgalloway/archive/2013/02/18/announcing-the-asp-net-and-web-tools-2012-2-release.aspx
Visual Studio Web Tooling Enhancements
With today’s release, all of the ASP.NET templates have updated versions of jQuery, jQuery UI, jQuery Validation, Modernizr, Knockout, and other open source NuGet packages. Note: your existing projects will continue to use the older packages unless you update them.
Web site projects now have the same publish experience as web application projects, including new support for publishing to Windows Azure Web Sites. You can selectively publish files, update local to remote files or vice versa, and see the differences between local and remote files.
The Visual Studio 2012 editor has several improvements. With today’s update VS now supports syntax highlighting for:
The HTML editor provides Intellisense for Knockout bindings. There is even first-class support for editing LESS files, complete with syntax highlighting, Intellisense, and validation. The editor also supports pasting JSON as a .NET class.
Copy any JSON data into the clipboard, use a Paste Special command to paste it into a C# or VB.NET code file, and Visual Studio will automatically generate .NET classes inferred from the JSON.
Mobile Emulator support adds extensibility hooks so that third-party emulators can be installed as a VSIX. The installed emulators will show up in the F5 dropdown, so that developers can preview their websites on a variety of mobile devices. Read more about this feature in Scott Hanselman’s blog entry on the new BrowserStack integration with Visual Studio.
ASP.NET Web API Enhancements
With today’s release, ASP.NET Web API now provides support for OData endpoints that support both ATOM and JSON-light formats. With OData you get support for rich query semantics, paging, $metadata, CRUD operations, and custom actions over any data source. Read more about ASP.NET Web API OData support at http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api.
New built-in tracing functionality now lets you easily diagnose problems with Web API whether you’re running in Visual Studio or on Windows Azure. Tracing output from Web API is automatically written to the Visual Studio output window, IntelliTrace, and any other trace listener that you would like, including Windows Azure Diagnostics. The output shows the full Web API pipeline for all requests, including any exceptions or errors that occur, what controller and action were selected, model binding, the format that was negotiated, and the response.
Updated Web API projects now contain a link to an automatically generated help page that shows how to call your web API. The help page shows all of your API endpoints, the HTTP verbs they support, parameters, and sample request and response messages. You can customize the help page as you like, including adding documentation and test client functionality. This makes it really easy to create documentation pages for developers calling your services.
ASP.NET SignalR is a new library for ASP.NET developers that simplifies the process of adding real-time web functionality to your applications. Real-time web functionality is the ability to have server-side code push content to connected clients instantly as it becomes available.
You may have heard of the HTML5 WebSocket API that enables efficient bidirectional communication between the browser and server. SignalR uses Websockets when it is supported by the browser and the server, and gracefully falls back to other techniques and technologies when it is not (best of all your application code can stay the same regardless of which is being used).
Included in today’s release is Visual Studio 2012 template support for creating SignalR projects as well as adding SignalR support to existing Web Forms and MVC applications:
Read more about SignalR at http://www.asp.net/signalr.
ASP.NET Web Forms Enhancements
ASP.NET Friendly URLs enable you to remove the .aspx extension from your Web Forms pages, making your sites’ URLs look cleaner. You can also pass parameters to pages as segments of the URL. For example, instead of ProductDetails.aspx?id=5 you can have ProductsDetails/5. With Friendly URLs you can also easily support mobile devices by creating mobile versions of pages:
- YourPage.aspx – This is the page that will be rendered by default on a browser.
- YourPage.Mobile.aspx – This is the version of the page that will be rendered by default on a mobile browser.
- YourPage.Device.aspx – You can write your own code to map a user-agent string to a specific device name. For example, you could have pages for Windows Phone, iPhone, and Android devices.
ASP.NET MVC Enhancements
A new Facebook Application template makes writing Facebook Canvas applications using ASP.NET MVC really easy. In a few simple steps, you can create a Facebook application that gets data from a logged in user and integrates with their friends. The template includes a new library to take care of all the plumbing involved in building a Facebook app, including authentication, permissions, accessing Facebook data and more. This lets you focus on building the business logic in your app. The Facebook apps you can build with this new template are hosted on the web and displayed inside the Facebook chrome via an iframe.
Single Page Applications
If you don’t want to use the new Knockout template there are 4 new community-created templates. These templates were built using the improved Custom MVC Template support:
- BreezeJS template that uses BreezeJS and Knockout for data binding and templating
- Ember template uses the latest version of Ember and Handlebars
- DurandalJS template is built using the new MVVM library DurandalJS as well as Knockout
- Hot Towel uses BreezeJS, DurandalJS, Knockout, require.js and Bootstrap
You’ll see even more templates in the months ahead.
Windows Azure Authentication Enhancements
A new pre-release of Windows Azure Authentication is also now available for MVC, Web Pages, and Web Forms. This feature enables your application to authenticate Office 365 users from your organization, corporate accounts synced from your on-premise Active Directory, or users created in your own custom Windows Azure Active Directory domain. For more information, see the Windows Azure Authentication tutorial. “
What does all of this bring to the Microsoft Web Platform ?
All of this integration and new functionality is a total productivity bombshell for designers, developers and anyone looking for streamlined development solutions. Did I mention that the ASP.NET Web Platform has went open source under the ONE ASP.NET banner ? It’s an exciting time for their platform as it moves forward with real-time updating via SignalR, Facebook at the Template level, and things like Classes from a JSON data paste..
Towards a more connected world and an internet of things.. Go! Go! Gadgeteer..
Let’s Build Something..
Does anyone remember Microsoft’s SPOT watches A.K.A.
Smart Personal Object Technology) ?
Well that was how Microsoft’s .NET Micro Framework and that platform came to life, and is now exploding in the do-it yourself electronics sector is exploding.. From Robotics, to Weather, to do-it yourself medical monitoring devices, this is the platform to do it with and the best thing about it is the fact that it is Free and Open Source and you probably have it already in devices (including your cable set top box) and don’t even know it..
.NET Micro Framework is an open source platform that expands the power and versatility of .NET to the world of small embedded applications. Desktop programmers can harness their existing .NET knowledge base to bring complex embedded concepts to market on time (and under budget). Embedded Developers can tap into the massive productivity gains that have been seen on the Desktop.
Browse the Product Showcase to see what’s available. Choose from a variety of starter kits or build your own assortment. At a minimum, you’ll need:
- A mainboard, such as GHI Electronics Fez Spider or Fez Hydra, or the Sytech NANO
- A red USB module, to connect to your computer and power the mainboard.
- Modules to plug into your mainboard: sensors, displays, storage, networking, input and more! Starter kits like the Fez Spider Starter Kit and the Sytech NANO Basic Kit give you lots of modules to work with.
Don’t forget to check out the very cool array of Gadgeteer-compatible Seed Studio modules, including accelerometer, GPS, gyro, moisture sensor and more!
Up to now, embedded devices have been quite effectively created using mostly C and C++, why do we need C#? Certainly there will remain applications for which C and C++ are the right technology to use but there are two reasons to consider using a managed environment for these devices.
The first is the efficiency of creating and maintaining devices in managed code. Desktop developers who have made the move to managed code are typically converted by the productivity increases that they experience. With the increase in 32 bit processors and the need to support higher level functionality like a TCP/IP stacks, an environment like NETMF can make development much less expensive and risky.
This is related to the other reason for .NET on small devices. More and more the devices that we are making are not isolated implementations but parts of much larger solutions that stretch to services and web sites and the cloud. With .NET, you have a programming model and tool chain that spans that entire solution space. There is less need to hire different staff and support different tools and operating systems for the various parts of the solutions.
Summit Project Weather Station in the Cloud
At the Summit I put together a weather station, just about the only NON-NDA activity that I can talk about and boy it was fun.. After assembling the hardware and connecting it to USB for power and debugging I was excited to see my first foray into electronics projects was a success..