Herding Code 60: Spark View Engine with Louis DeJardin

In this episode of the Herding Code Podcast, the guys talk to Louis DeJardin about the Spark View Engine.

  • Louis talks about how the Spark View Engine was inspired by NVelocity and hatched from a comment thread on Phil Haack’s blog.
  • Kevin asks about the HTML-like syntax syntax in a Spark view – how it was designed, how it looks, and some of the benefits of a view engine that looks like HTML.
  • Scott K asks about some of the similarities to Cold Fusion markup. After making Louis squirm a bit, Scott points out the big difference in his eyes is that Spark works as part of an MVC pattern, while Cold Fusion embedded too much logic in the markup.
  • Jon sets Kevin up to look really good by asking about a feature Kevin requested – safe by default HTML encoding.
  • Kevin asks about how Spark’s strongly typed ViewData and strongly typed models work.
  • Jon quizzes Louis about how Master Layouts differ from ASP.NET Webforms MasterPages, Kevin tries to stump him with questions about partial page caching.
  • Scott K and Louis talk about how Spark was developed, and how TDD made writing a view engine easy.
  • Kevin and Louis discuss how Spark is being used to generate more than HTML.
  • Jon asks about how he got all the smarts to write a parser / templating engine.
  • Scott K speculates about the potential for a custom view engine enabling vendors to offer controls for MVC. Louis tells him that he’s crazy, and the two discuss options for visual designers in the MVC world.
  • Jon asks some questions about how an HTML-based syntax like Spark could allow for a better designer surface, but Louis convinces him that an HTML-based syntax is probably the best design interface, both for developers and designers.
  • Kevin asks Louis about the Visual Studio integration for Spark.
  • Louis takes a listener question from Jeremy Miller about caching compiled views.
  • K Scott asks about using Spark’s JavascriptViewResult to do JSON powered updates with the same template for both initial and update rendering. Louis points out that it’s possible to write code that’s both c# and Javascript compatible, so it can be used both client-side and server-side. We all agree that’s crazy, but the right kind of crazy.
  • K Scott asks about his selection of different tracking, source hosting, etc. services for the Spark project.
  • Vladislav II asks about Dynamic Language support.
  • Lt. Col. George Armstrong Custer asks about runtime vs. development time compilation, and how Spark runs under medium trust.
  • Louis explains how Macros allow you to simulate creating reusable helpers inside your templates.
  • Faustus of Byzantium asked about partials are integrated into views.
  • Edward I asks about how performance compares to the Web Forms view engine, and if there are any important tips/tricks to get the best performance out of Spark.
  • Ned Ryerson remembers talking to Louis at PDC, when Louis was pitching Spark to Jeff Atwood The Terrible. Jeff went with the Web Forms view engine which led to his eventual demise in 2012.
  • Duke Konrad I of Masovia asks Louis about the use of multiple view engines in a website to ease transition.
  • Kevin closes with some questions about Spark, such as how it plays with ASP.NET MVC 2 and where the name Spark came from.
  • Postscript – Jon catches up with Louis to ask about his new position at Microsoft.

Show Links:

Download / Listen:

Herding Code 60: Spark View Engine with Louis DeJardin

[audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0060-Spark-View-Engine-with-Louis-DeJardin.mp3]

Herding Code 59: Web Standards with Milan Negovan

In this episode of the Herding Code Podcast, the guys sit down with Milan Negovan of ASP.NET Resources to discuss web standards, usability and accessibility.  Milan also shares his opinions on the onslaught of new technologies coming out of Redmond, why developers should avoid big conferences, the benefits of independent consulting, the motivation of Microsoft MVP Program and his impressions of ALT.NET.

  • The show kicks off with Milan’s explanation of semantic markup – thinking first about content and then presentation – and the Web Standards Trinity which includes Structure (HTML, XHTML, XML), Presentation (CSS), and Behavior (JavaScript). 
  • Milan talks about Quirks Mode vs Strict Mode. Jon asks about the benefits of XHTML especially with XHTML 2 recently being shot down in favor of HTML 5. 
  • Milan states that CSS has always been more of a recommendation rather than a true standard.  He asks why anyone would use skins and/or themes. Jon bites and guesses because it is a typical Visual Studio control-first option and themes (unlike cascading style sheets) are always applied last and may enforce corporate design standards. Milan also shares his frustration with the bloated, non-standard markup generated by ASP.NET Server Controls and he names names.  That’s right, DataGrid!  He’s talking about you.
  • Milan provides an overview of his impressive Microsoft.com redesign experiment and speaks briefly of Section 508 and his Color Blindness Simulator.
  • K Scott asks what a .NET developer should do to better adhere to web standards. Milan talks specifically about control development, ASP.NET MVC and the shift back to client-side development.
  • Milan speaks his mind about Silverlight’s poor usability.  He states Silverlight is being marketed to the wrong audience and it is not a replacement for JavaScript. Milan also calls out the educational gap for developers needing to act as designers. Shall I continue?  Jon agrees but provides a rebuttal. 
  • K Scott seeks Milan’s opinion on new technologies, big conferences, independent consulting, the Microsoft MVP Program and ALT.NET.  Milan shares that you’ll go insane if you try to learn everything which is coming out of Redmond and suggests that developers specialize.  Milan describes big conferences as nothing more than “booze and noise” and recommends developers avoid conferences like Mix and participate in the local community instead.  Milan talks about life as a business owner/independent consultant, job security and building one’s personal brand. Milan questions the motivation of the Microsoft MVP program and suggests it is merely another marketing channel for Microsoft.  Milan shares his positive impressions of ALT.NET and comments on the “remarkable crap” published by Patterns and Practices.  Scott K calls Milan out for being too much of a kiss-up marketing shill. Fin.

Show Links:

Book Recommendations from Milan

Download / Listen:

Herding Code 59: Web Standards with Milan Negovan

[audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0059-Web-Standards-with-Milan-Negovan.mp3]

Show notes compiled by Ben Griswold. Thanks!