the state of the art on net
play

The State of the Art on .NET 12 Months of Things To Learn Amanda - PowerPoint PPT Presentation

The State of the Art on .NET 12 Months of Things To Learn Amanda Laucher amanda.laucher@thoughtworks.com @pandamoniel Josh Graham joshua.graham@grahamis.com @delitescere Sunday, December 5, 2010 Negative connotations about the ecosystem A


  1. The State of the Art on .NET 12 Months of Things To Learn Amanda Laucher amanda.laucher@thoughtworks.com @pandamoniel Josh Graham joshua.graham@grahamis.com @delitescere Sunday, December 5, 2010

  2. Negative connotations about the ecosystem A lot of innovation from other platforms being applied Very smart people using the platform as it’s the best choice for their circumstance Not just the “alt” .NET community Daunting for new developers High signal-to-noise Sunday, December 5, 2010

  3. Languages Sunday, December 5, 2010

  4. 1. F# • What it is • Microsoft’s official functional language on the CLR • Static type inference, multi-paradigm: FP + OO • OCaml-esque • Source now publicly available! • Geeks • Don Syme (MSR) Sunday, December 5, 2010

  5. 1. F# • Why look at it? • Business asking for “faster”? • Different way of thinking • Helps you understand LINQ and functional abstractions in C# • Functional languages “buzz” Sunday, December 5, 2010

  6. 1. F# • Resources • Matt Podwysocki http://weblogs.asp.net/podwysocki/ • Planet F# http://feeds.feedburner.com/planet_fsharp • Hub FS http://cs.hubfs.net • Phillip Trelford http://www.trelford.com/blog/ • Books: • Programming F# (Smith) • Expert F# (Syme, Granicz, Cisternino) • Beginning F# (Pickering) • Real World Functional Programming (Petricek, Skeet) • F# for Scientists (Harrop) Sunday, December 5, 2010

  7. 2. HTML5 • What it is • The next version of HTML, still in review • More semantic markup • <small>, <header>, <footer>, <article>, <section>, <nav>, <aside>, <summary>, … • built-in validation (new types, required), regex patterns • groupings: <hgroup>, <figure>, • Audio / Video • Canvas • Drag and drop • Local storage • localstorage • contenteditable • Quotes not needed on attributes Sunday, December 5, 2010

  8. 2. HTML5 • Why look at it • Many browsers supporting parts of it • See the deprecated elements that will be obsolete • Resources • W3C • Web Hypertext Application Technology Working Group (WHATWG) • HTML 5 Doctor http://html5doctor.com/ Sunday, December 5, 2010

  9. 3. C# 5 “await” • What it is • Continuation Passing Style • Syntactic sugar for specifying what happens when an asynchronous task is complete • Creates continuation for execution by the task after it completes • Doesn’t actually “wait” or block the current flow • Geeks • Eric Lippert (MS) • Why look at it • More easily express event sources and chains of events • Easier to create a better user experience • Resources • Eric’s blog http://blogs.msdn.com/b/ericlippert/archive/tags/async/ Sunday, December 5, 2010

  10. 4. Reactive Extentions (Rx) • What it is • Declarative glue for event processing and asynchronous computation • Filters, LINQ expressions • Subscribe to sequence and error • .NET, Silverlight, JavaScript • Geeks • Erik Meijer (MS) Sunday, December 5, 2010

  11. 4. Reactive Extentions (Rx) • Why look at it • Vastly simplified abstraction for handling events and dealing with asynchrony • A “list” of event messages, a success or failure event • Rx manages sequencing of events, exceptions, callbacks, timeouts • Resources • Rx team blog http://blogs.msdn.com/b/rxteam/ • Rx design guidelines http://go.microsoft.com/fwlink/? LinkID=205219 Sunday, December 5, 2010

  12. Tools Sunday, December 5, 2010

  13. 5. Fluent NHibernate • What it is • “Fluent interface” DSL (http://martinfowler.com/bliki/FluentInterface.html) • Declare mappings in code, not XML! • Geeks • James Gregory (Proof of Concept) • Paul Batum (F1 Solutions) • Why look at it • Simpler configuration of ORM • Many conventions not requiring config • XML is a turd for this type of work • Resources • Website http://fluentnhibernate.org/ Sunday, December 5, 2010

  14. 6. TDD Enablers • NUnit • xUnit.net • MSTest • RhinoMocks • Moq • TypeMock • Cucumber / Cuke4Nuke Sunday, December 5, 2010

  15. 6. TDD Enablers • What it is • Automated tests • Executable specifications • Unit and acceptance tests • Mocks, stubs • Why look at it? • Application layers • Organize your code • Customer collaboration • “Professional” thing to do Sunday, December 5, 2010

  16. 6. NUnit • Geeks • Charlie Poole, Jamie Cansdale, Gary Feldman • Jim Newkirk, Alexei Vorontsov, Mike Two, Philip Craig • Resources • Website http://nunit.org/ • Books • Test-Driven Development in Microsoft .NET (Newkirk, Vorontsov) • Pragmatic Unit Testing in C# with NUnit (Hunt, Thomas) Sunday, December 5, 2010

  17. 6. RhinoMocks • Geeks • Oren Eini (Ayende Rahien) • Resources • Website http://www.ayende.com/projects/ rhino-mocks.aspx • Book http://en.wikibooks.org/wiki/ How_to_Use_Rhino_Mocks Sunday, December 5, 2010

  18. 6. Moq • Geeks • Daniel Cazzulino (kzu) • Resources • Website http://code.google.com/p/moq/ • kzu’s blog (http:// www.clariusconsulting.net/blogs/kzu/) Sunday, December 5, 2010

  19. 7. IoC Containers • Unity • NInject • Spring.NET • Structure Map • Windsor Sunday, December 5, 2010

  20. 7. IoC Containers • What it is • Automate dependency injection • Interceptors, AOP • Non-intrusive logging, transaction management and auditing • Why look at it? • Helps to decouple project dependencies • Application layering • Simplify testing across layers Sunday, December 5, 2010

  21. 7. Windsor • Geeks • Ayende Rahien, Jonathon Rossi, et al • Resources • Website http://www.castleproject.org/ container • http://dotnetslackers.com/community/ members/simoneb.aspx Sunday, December 5, 2010

  22. 7. Structure Map • Geeks • Jeremy D. Miller (Dovetail Software) • Resources • Website http://structuremap.net/ structuremap/ • Chad Myers http://dotnetslackers.com/ articles/designpatterns/ IntroductionToStructureMap.aspx Sunday, December 5, 2010

  23. Infrastructure Sunday, December 5, 2010

  24. 8. Azure • What it is • Microsoft’s cloud service • Platform for development • Geeks • David Cutler (MS) • Simon Raik-Allen (MYOB) • Why look at it? • Platform to more simply manage scalability and reduce startup costs • Loads of facilities for .NET devs to get into the cloud • Resources • Azure in Action (Hay, Prince) • Team blogs http://blogs.msdn.com/windowsazure • Brian Prince http://brianhprince.com/ Sunday, December 5, 2010

  25. 9. MEF • What it is • Managed Extensibility Framework • Component and plugin architecture • DI as a strategy for composing the different extensions • Geeks • Glenn Block, Wes Haggard (MS) • Why look at it? • Application extensibility • Avoiding monolithic software • Dynamically composing an application’s feature set at runtime • Resources • Website http://www.codeplex.com/MEF • Bill Kratochvil http://www.global-webnet.net/BlogEngine/ • Jason Olson http://www.managed-world.com/ • Magnus Mårtensson http://blog.noop.se/ • Sidar Ok http://www.sidarok.com/ Sunday, December 5, 2010

  26. 10. RavenDB • What it is • Document database for .NET • Stores schema-less JSON • Geeks • Oren Eini (Hibernating Rhinos) • Why look at it? • Documents are a simple but useful abstraction (cf key/value) • Fields that are optional or of dynamic type • Optional or varying sized “child” collections • Low impedance with object graphs • Very easy entry into NoSQL on .NET • Resources • Website http://ravendb.net/ • Code of Rob http://codeofrob.com/ Sunday, December 5, 2010

  27. 11. Windows 7 Mobile • What it is • Mobile development using .NET tools • VS2010, Silverlight, XNA, Expression Blend, Emulator • Geeks • Dragos Manolescu • Why use it • Mobile development using familiar tools • Extend the reach of you application • Resources • Website http://create.msdn.com/ • http://wp7guide.codeplex.com/ • Sunday, December 5, 2010

  28. 12. Guerilla SOA • What it is • An agile approach to implementing distributed computing, system integration, and web-based services • Messages, Events, Consumer-Driven Contracts • Lightweight WCF, templates, parsing • Geeks • Dr Jim Webber (Neo Technology) • Ian S. Robinson (ThoughtWorks) • Dr. Savas Parastatidis (MS) Sunday, December 5, 2010

  29. 12. Guerilla SOA • Why look at it? • Successful SOA • Avoid bloated middleware • Loosely-coupled, cohesive, efficient services • REST, in practice • Resources • REST in Practice http://restinpractice.com/ • Patric Fornasier’s SOYA http://soya.sourceforge.net • Jim Webber’s blog http://jim.webber.name/ • Ian “Consumer-driven Contracts” Robinson’s blog http:// iansrobinson.com/ Sunday, December 5, 2010

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend