Your current filters are…
by Oliver Sturm
This full-day workshop sets out to describe the choices and opportunities available to programmers and architects alike, from a technical viewpoint with a .NET background. There will be room for questions, discussions and your own ideas!
Asynchronous programming is moving further into the mainstream with the introduction of the new async and await keywords. It is therefore becoming more and more important that we write async libraries for our own application stacks.
During this intensive day we will do a deep dive into how these new features work, and into the mechanics of how best to deliver asynchronous functionality in your applications, focusing not only on asynchronous compute but also on asynchronous IO, and how you can adapt existing old-style APIs to work with the new coolness.
by Jeff Prosise
For Windows developers, Windows Store apps are the future. This compelling new model can be used to write apps that run on desktops, tablets, and devices with other form factors.
In this pre-conference seminar, learn the essentials of writing Windows Store apps in XAML and C#, including how to craft modern UIs, how to build great touch interfaces, how to make your app come alive with live tiles and background tasks, how to integrate with the charms bar by implementing contracts, and a whole lot more.
.NET 4 introduced the new task abstraction, and C#5 will take advantage of integrating this into the language via the async and await keywords. In addition, the task abstraction promotes a new way of architecting asynchronous behaviour; not only for the client side but also for the server side, whether it be WCF or MVC. We will complete the session by building various async/await-friendly data structures.
by Brock Allen
This session provides an introduction to ASP.NET WebAPI, which is the de facto framework in .NET for building HTTP-based (and RESTful) services.
We will cover the motivation for HTTP-oriented services as an alternative to SOAP-based services. We’ll examine the major tenets of HTTP-based services including the importance of URIs, HTTP methods and status codes, content negotiation and hypermedia. We’ll conclude with the new client-side programming model for HTTP services with the HttpClient API.
by Dave Wheeler
Don Box famously coined the phrase “COM is love”. Fifteen years on, we’re still feeling the love for COM as we embrace its latest incarnation with WinRT.
This is a deep dive talk into all things WinRT, from the way that Windows 8 Store Applications get launched through to the language projections and the type system.
OWIN is a fairly new specification for modelling an HTTP server API for hosting web applications. The intent is to decouple the host from the application with the goal of providing a simpler programming model with potentially better performance than traditional web servers. While OWIN is a specification, Katana is Microsoft’s implementation of an OWIN host.
In this session we will further discuss OWIN, Katana and how to write applications and middleware that take advantage of this new and exciting hosting environment.
by Jeff Prosise
Tap two devices together and transfer data between them? You bet! Learn about the Near-Field Communication (NFC) API in Windows and Windows Phone and see how to put them to work to connect devices more easily than ever before. The future of networking is here, and it is spelled NFC!
“The free lunch was over” back in 2005, when it became clear that processor clock speeds were no longer obeying Moore’s law. If developers wanted applications to go faster they could no longer rely on greater clock speeds – they would need to think differently and restructure their code to take advantage of multiple cores in order to get better and better performance. It turns out that parallelizing anything but the most trivial piece of code is challenging.
.NET 4 attempts to assist the developer by providing support in the framework to assist parallelizing algorithms through the use of parallel constructs like Parallel.For, Parallel LINQ, and a variety of concurrent data structures. The framework vendors would like you to believe that the free lunch is now back, but whilst they can deliver a moderate free lunch, if you truly want a gut-busting free meal you will have to deploy a range of tricks for your algorithm to take full advantage of those multiple cores.
If you want your services to be usable by arbitrary clients like browsers and mobile/desktop native apps, you need to model them as “web APIs”.
ASP.NET Web API is the framework from Microsoft to build such services and software systems with .NET. To effectively secure web APIs you need to understand the fundamental application types, HTTP security and a bunch of new technologies like OAuth2 and JSON Web Tokens.
We’ll walk you through typical web API architectures and their security requirements, and explain how you can implement these applications using the .NET stack on the server and any technology on the client.
by Mike Taulty
If you’re building modern apps for Windows and Windows Phone then you’ll know that there are challenges in re-using code and XAML across the two platforms. In this session we’ll take a hands-on approach using code-based demos to investigate what code can be shared across Windows and Phone, and show some techniques for getting the most from that sharing.
So you’re ready to start that new and ambitious ASP.NET MVC project. Maybe you’re kicking off a new start-up, or just finally moving that old-and-crusty Web Forms project into the modern development world.
Either way, this talk will give you some easy things you can do immediately after creating that new MVC project that you will thank yourself for as your project grows in complexity.
by Oliver Sturm
Or at least it looks that way. Are you among those programmers who still code lots of loops? Especially the kind that don’t even have a “yield” statement somewhere? Do you frequently use the Add method on collection types?
These are ideas of sequential programming, and that’s outdated – seriously, it’s true.
Come to this talk and learn more about the background to this statement!
by Brock Allen
Identity management is the unglamorous (yet extremely important) task of managing account information for users (including passwords). Identity management in ASP.NET has had an interesting and somewhat tumultuous history. In this session we’ll discuss the important characteristics of proper identity management, and then we’ll survey the pros and cons of the various offerings in ASP.NET including membership, simple membership, and the most recent iteration with ASP.NET Identity.
For many .NET developers the GC generally works in the background largely unnoticed. However, a clear understanding of how the GC works and is tuned is critical to writing efficient .NET code, and has a big impact on how you design your code.
This talk looks at the GC in terms of how it works and is tuned, and gives recommendations about practices that will either help or hinder the GC.
Let’s face it, current trends and developments especially in the area of mobile platforms & devices and cloud computing will cause a re-thinking in architectural aspects for many software projects. If you ignore this today you may be in big trouble tomorrow. How can I integrate my systems and application parts in a lightweight and interoperable manner? How am I able to push data in near-real-time fashion from my services to my clients?
Christian Weyer will show you in a pragmatic way how to face these new challenges. Come and see all of this coming to life by using technologies and frameworks like ASP.NET Web API, SignalR, .NET- and HTML5-based clients – mobile or not.
For many developers, their use of debugging tools starts and ends with Visual Studio. However, there are a large number of problems for which Visual Studio provides very little support – particularly threading and memory management issues.
WinDBG and the plugin SOS.DLL bring a new set of tools to .NET developers which provide insights that help you solve bugs that you see during testing, but also allow you to diagnose issues occurring in production systems where the only data you can get is a crash dump file.
This session will look at new features in the new ASP.NET MVC 5 framework as well as the framework's supporting cast. From attributed routing to tips and tricks for the new Visual Studio editor, the goal is to provide experienced ASP.NET MVC 5 developers with all the information needed to move to the next version of ASP.NET and the MVC framework.
I’ve been developing, speaking and writing about the Windows Azure platform since its first release. I thought I was an expert on the subject until a few months ago, when I decided to start working on what has become one of the biggest platforms running on Windows Azure. Kidozen is an enterprise mobility platform currently powering hundreds of mobile applications and processing millions of messages every month. What did I learn? This session will explore the best practices, patterns and techniques that we’ve learned when building large scale, multi-data-centre Windows Azure applications in the real world. We will deep dive into some of the traditional patterns of Windows Azure applications such as data storage, messaging, caching, security, monitoring among many others. Additionally, we will cover some of the best practices and tools that you can use to streamline your Windows Azure application development in areas such as testing, continuous deployment, provisioning, etc. To keep things practical, we will provide a series of demos that will clearly illustrate the patterns and techniques covered in this session.
Every serious application needs authentication and authorization – and the .NET framework has provided built-in facilities for that since its very first version. Starting with .NET 4.5, Microsoft completely revamped the built-in identity and access control plumbing and APIs, and integrated the notion of token-based authentication and claims into the base class library. These important base technologies are actually the foundation for the new application types and scenarios you going to implement in the years to come using the brand new Katana security runtime. How can we take advantage of these new features? For which types of application do they make sense? What new scenarios can be enabled using these technologies?
In the early days of C# there was virtually a 1-1 mapping between C# and IL. Much has changed since C# 1, the developer is encouraged to simply describe their intent and the compiler builds the appropriate code.
This talk will dive under the hood and show how various C# features like iterator methods, anonymous methods, extension methods and dynamic all result in code gen by the C# compiler.
It’s a common opinion that you only have two options to let users enjoy a website from mobile devices: arranging a dedicated site or building a single responsive site which can adapt rendered content via CSS and media queries. This vision of the world, though, is quickly getting obsolete as it misses most of the role that devices have at present in the industry. A website agnostic of devices that just fits content into differently sized screens is too limiting.
Following the universal vision of apps that Microsoft is applying to Windows, this talk presents an approach to mobile website development that is universal and covers a selected number of device profiles like smartphone, tablet, wearable and desktop as a special case of the device. In more detail, we’ll see how to leverage device detection and ASP.NET display mode facilities to build a single website that switches views intelligently based on the capabilities of the detected device.
ASP.NET Web Forms is a very mature platform with great features and years of established best practices. Review some of the lesser known features such as adapters, response filters, external config files, substitution caching and more. Learn best practices such as base pages, global exception handling, validation controls, caching, etc. Discover useful techniques such as server side viewstate, page control tree processing and how to utilize “safe” functions. Understand new features for ASP.NET 4.5 Web Forms like model binding and unobtrusive validation. Web Forms aren’t dead, learn how to take full advantage of them for your web site.
by Oliver Sturm
Writing cool and pretty code is easy – anyone can do that! Hmmm, or maybe not. But we’re all great at laughing about really scary code, although it can be useful to spend some time thinking about it as well…
In this talk we’ll look at anti-patterns and similar constructs that can scare a C# developer.
There will be laughter, I promise!
The controller is the central element of any operation you perform in ASP.NET MVC. The controller is responsible for getting posted data, executing the related action and then preparing the view. More often than not, these apparently simple steps originate a lot of code. Worse yet, similar code ends up being used in similar methods and similar helper classes sprout up from nowhere. In this session, we’ll explore an approach to ASP.NET MVC design that simplifies the implementation of the controller classes mechanizing the steps to take.
ASP.NET MVC has gained broad adoption over the last year. This is in part due to its clean and simple design. However, one aspect that newcomers typically get hung up on is building pages that accept user input in various manners.
In this talk we’ll explore the powerful features of ASP.NET MVC that allow us to build rich forms that accept user input. We’ll begin by discussing the built-in HTML Helpers and Model Binding. Next we’ll add validation and show how we can do both client- and server-side validation using DataAnnotations. We’ll see that sometimes using domain models as our form-bound objects doesn’t make sense and so we will cover more advanced scenarios using View Models.
One of the most overlooked features in many languages is the support for regular expressions. There are many times where they are the perfect solution, yet many if not most programmers fear them. Well, fear not, we will review the basics of regular expressions and where they can be utilized effectively. We will study named groups which allow you to not only match expressions, but capture the a portion of the matched expression to be used for other purposes. We will then review some of the more advanced features in .NET, and how things like compiled regular expressions can make programs perform extremely fast. If you ever knew that regular expressions were the right solution but cowered away, come and face your fears…
Modern applications typically consist of Web API based back ends that can support arbitrary client technologies. They are cross-platform and (enabled for) mobile by definition. Modern applications can’t necessarily rely on enterprise technologies like Active Directory and traditional means of securing them don’t apply anymore.
To effectively master the security challenges of modern applications you need to learn a new set of technologies like OAuth2, OpenID Connect and JSON Web Tokens and understand the trade-offs involved.
Learn how all those pieces of the puzzle fit together and how to secure modern applications using .NET on the server and arbitrary technologies on the client.
by Juval Löwy
Architects always strive for modularity to achieve extensibility, maintainability and reuse. The technology for the modules, the glue, changes over time, from objects, to .NET to WCF. And yet, all of these introduce inherent complexity. When you design a highly modular system, it would be naive of you to expect that the only things you will do differently will be limited to design and technology. The development process itself needs to be modular, accommodating the complexity of the modules as a system.
In this intense session, Juval will share his original techniques, metrics and ideas, all practised in real life, allowing for a module-oriented development process. This talk presents a battle-hardened development process that you can immediately apply to achieve robust applications, manage requirements, and ensure faster time to market. You will also see how the various team members – the architect, the project manager and developers should work in concert, and their respective tasks and responsibilities towards the modules.
19th–23rd May 2014