Demo:
File->New Project
Demo: Bundling &
Minification
<script src=”@Url.Content(“~/Scripts/Site.js”)”></script>




<script src=”~/Scripts/Site.js”></script>
@{
     string myClass = null;

     if (someCondition) {
          myClass = ”shinyFancy”;
     }
}

<div @{if (myClass != null) { <text>class=”@myClass”</text> } }>Content</div>
@{
     string myClass = null;

     if (someCondition) {
          myClass = ”shinyFancy”;
     }
}

<div class=”@myClass”>Content</div>
Database
Migrations
Demo: Database
Migrations with EF
Why Web APIs?
Build Richer Apps
Reach More Clients
+ 100%   + 50%   + 3400%   + 235%   + 71%   + 86%   + 46%   + 63%


 Source: www.programmableweb.com – current APIs: 4535
Embrace HTTP
Demo: Building
  a Web API
Demo: Calling a Web
API from JavaScript
Demo: Unit Testing
   a Web API
Mobile Web
Adaptive   Display    Mobile
Rendering   Modes     Template
Demo: Mobile Web
https://github.com/signalr/
Client – JavaScript                              Server - .NET
var hub = $.connection.chat;                     public class Chat : Hub
                                                 {
hub.addMessage = function (msg) {                    public void SendMessage(string message)
    $("#msgs").append("<li>" + msg + "</li>");       {
};                                                       Clients.addMessage(message);
                                                     }
$.connection.hub.start().done(function() {       }
    $("#send").click(function() {
        hub.sendMessage($("#msg").text());
    });
});
Demo: SignalR
http://myserver.com/products
public class
   public void
        WebClient        new WebClient



                                    “result"


                                new Uri "http://www.bing.com/"

   public ActionResult
       return
public class

   public async Task ActionResult

      WebClient       new WebClient

                      await           "www.bing.com/"

      return
The Microsoft® Accelerator for Windows Azure will host ten companies for a three month, on site, deep immersion
program focused on building businesses that take advantage of the cloud. Through this program, Microsoft and TechStars will
help entrepreneurs, engineers and innovators bring to life a range of business ideas that leverage the possibilities enabled by
Windows Azure’s cloud platform.
Program Dates:               August 27 to November 29
Program Venue:               Seattle, Washington, USA
Application Deadline:                  June 29, 2012

Every company participating in the program will receive:
 An investment of $20,000, managed by TechStars
 Development kit with the latest Windows and Windows Phone hardware
 $60,000 in Azure credit through Microsoft BizSpark Plus
 Demo Day presentation to angel investors, VCs, media, and industry influentials
The Microsoft Accelerator for Windows Azure is being powered by TechStars using
the same mentor driven methodology pioneered and proven by them in New York,
Boulder, Seattle and Boston.

Startups - Apply Now:
aka.ms/azureaccelerator
Questions

Scott Guthrie at Dot Net Startup meetup

  • 3.
  • 5.
  • 6.
  • 7.
    @{ string myClass = null; if (someCondition) { myClass = ”shinyFancy”; } } <div @{if (myClass != null) { <text>class=”@myClass”</text> } }>Content</div>
  • 8.
    @{ string myClass = null; if (someCondition) { myClass = ”shinyFancy”; } } <div class=”@myClass”>Content</div>
  • 9.
  • 11.
  • 12.
  • 13.
  • 14.
    + 100% + 50% + 3400% + 235% + 71% + 86% + 46% + 63% Source: www.programmableweb.com – current APIs: 4535
  • 15.
  • 16.
    Demo: Building a Web API
  • 17.
    Demo: Calling aWeb API from JavaScript
  • 19.
  • 21.
  • 22.
    Adaptive Display Mobile Rendering Modes Template
  • 24.
  • 25.
  • 26.
    Client – JavaScript Server - .NET var hub = $.connection.chat; public class Chat : Hub { hub.addMessage = function (msg) { public void SendMessage(string message) $("#msgs").append("<li>" + msg + "</li>"); { }; Clients.addMessage(message); } $.connection.hub.start().done(function() { } $("#send").click(function() { hub.sendMessage($("#msg").text()); }); });
  • 27.
  • 28.
  • 29.
    public class public void WebClient new WebClient “result" new Uri "http://www.bing.com/" public ActionResult return
  • 30.
    public class public async Task ActionResult WebClient new WebClient await "www.bing.com/" return
  • 33.
    The Microsoft® Acceleratorfor Windows Azure will host ten companies for a three month, on site, deep immersion program focused on building businesses that take advantage of the cloud. Through this program, Microsoft and TechStars will help entrepreneurs, engineers and innovators bring to life a range of business ideas that leverage the possibilities enabled by Windows Azure’s cloud platform. Program Dates: August 27 to November 29 Program Venue: Seattle, Washington, USA Application Deadline: June 29, 2012 Every company participating in the program will receive:  An investment of $20,000, managed by TechStars  Development kit with the latest Windows and Windows Phone hardware  $60,000 in Azure credit through Microsoft BizSpark Plus  Demo Day presentation to angel investors, VCs, media, and industry influentials The Microsoft Accelerator for Windows Azure is being powered by TechStars using the same mentor driven methodology pioneered and proven by them in New York, Boulder, Seattle and Boston. Startups - Apply Now: aka.ms/azureaccelerator
  • 34.

Editor's Notes

  • #3 Modern Web Development
  • #16 Use HTTP as an Application Protocol – not a Transport Protocol
  • #17 Add Implement Get() for all and Get() for singleShow Content NegotiationShow Odata SupportShow using Post()Content-Type: application/json{ &quot;Name&quot;:&quot;blah4&quot;, &quot;UnitPrice&quot;:45.56}// POST /api/productspublic HttpResponseMessage&lt;Product&gt; Post(Product product){db.Products.Add(product);db.SaveChanges();var result = new HttpResponseMessage&lt;Product&gt;(product, HttpStatusCode.Created);result.Headers.Location = new Uri(Request.RequestUri, &quot;/api/products/&quot; + product.ID.ToString());return result;}