{"id":36848,"date":"2016-07-13T14:38:43","date_gmt":"2016-07-13T21:38:43","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/webdev\/?p=7435"},"modified":"2021-11-01T04:40:31","modified_gmt":"2021-11-01T11:40:31","slug":"notes-from-the-asp-net-community-standup-july-12-2016","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/notes-from-the-asp-net-community-standup-july-12-2016\/","title":{"rendered":"Notes from the ASP.NET Community Standup &#8211; July 12, 2016"},"content":{"rendered":"<p>This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes,\u00a0<a href=\"https:\/\/twitter.com\/shanselman\">Scott Hanselman<\/a>,\u00a0<a href=\"https:\/\/twitter.com\/damianedwards\">Damian Edwards<\/a>,\u00a0<a href=\"https:\/\/twitter.com\/jongalloway\">Jon Galloway<\/a>\u00a0and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams.<\/p>\n<p>Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video of their discussion to YouTube for later reference. The guys answer your questions LIVE and unfiltered. This is your chance to ask about the why and what of ASP.NET! Join them each Tuesday on live.asp.net where the meeting\u2019s schedule is posted and hosted.<\/p>\n<p>This week\u2019s meeting is below:<\/p>\n<div style=\"text-align: center\">\n  <iframe width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/HAjUJOc7yW4\" allowfullscreen><\/iframe>\n<\/div>\n<p>This week, Scott is coming to us from the DotNetFringe conference in Portland where they evidently placed him in a dark room.\u00a0\u00a0 Jon Galloway couldn&#8217;t make it to the standup this week, so there are no links to share. Today&#8217;s guest is Steve Sanderson, a member of the ASP.NET team for the last 6 months or so and is a founder of the KnockoutJS project.\u00a0 He&#8217;s been investigating using JavaScript frameworks to help improve ASP.NET Core.\u00a0 Steve&#8217;s project is called ASP.NET JavaScript services and can be found on GitHub]<a href=\"https:\/\/github.com\/aspnet\/JavaScriptServices\">4<\/a>.<\/p>\n<p>The project gives you a good starting point for building web applications using various JavaScript frameworks.\u00a0 In particular, there are yeoman templates available for Angular 2 Knockout, React, and React with Redux.\u00a0 You can acquire the templates in a shell with the command :<\/p>\n<pre>npm install -g yo generator-aspnetcore-spa<\/pre>\n<p>This will allow you to generate a base-project with the command:<\/p>\n<pre>yo aspnetcore-spa<\/pre>\n<p>Steve showed us the Angular 2 version of this template, walked through the structure and configuration of the Angular code working with ASP.NET Core.\u00a0 The template&#8217;s TypeScript is built and managed with WebPack and Steve showed us the advantages of this toolset combined with ASP.NET Core.\u00a0 Additionally, Steve enabled hot-module reloading within the configuration of the ASP.NET Core application and his application was updated live in the browser as TypeScript code was saved within his application.<\/p>\n<p>Steve then showed us a second configuration option that uses NodeJS to precompile the JavaScript application that is then served by the Kestrel server as static content and without the Angular framework.\u00a0 This prerender configuration is enabled with an asp-prerender-module tag helper attribute, which Steve tells us is enabled by default in his project template.<\/p>\n<p>Then Steve showed us the ReactJS enabled project template that comes with the Yeoman generator we installed above.\u00a0 The template outputs the same demo functionality and user-interface, except it was written with ReactJS and TypeScript.\u00a0 As a bonus feature to this sample, and a feature of React, this sample can persist its page state across browser state.\u00a0 This enables a great JavaScript development experience where you can edit content directly in the developer tools panel of the browser and the content panel will update appropriately.<\/p>\n<p>Finally, Steve showed us the React-Redux template that was installed and how you can use the redux browser plugin to make debugging much easier with snapshots of your client-side application state made available in your browser.<\/p>\n<h2>Summary<\/h2>\n<p>Please download the JavaScript services and follow the instructions from the <a href=\"https:\/\/github.com\/aspnet\/JavaScriptServices\">GitHub repository<\/a> and let us know what you think.\u00a0 If you like this project, star it on GitHub and write about it on your own blog.\u00a0 Post your questions as issues in that GitHub repository and we&#8217;ll review them to determine how we should proceed with this work.\u00a0 Steve also has a great post <a href=\"http:\/\/blog.stevensanderson.com\/2016\/05\/02\/angular2-react-knockout-apps-on-aspnet-core\/\">introducing the project<\/a> on his blog that you should check out.\u00a0 We would love to hear your thoughts about this approach in the space below, and we&#8217;ll be sure that Steve and his team see your comments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. [&hellip;]<\/p>\n","protected":false},"author":405,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197,7509],"tags":[7501],"class_list":["post-36848","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aspnet","category-aspnetcore","tag-communitystandup"],"acf":[],"blog_post_summary":"<p>This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/36848","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/405"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=36848"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/36848\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=36848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=36848"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=36848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}