1. ASP.NET MVC 4Danijel MalikArtifis Danijel Malik s.p.Twitter:
@DanijelMalikEmail: danijel@artifis.si Nivo 300
2. About me Developer Developer Developer Tech Lead Developer
Architectwho you? No youre not!!! Developer Developer Tech Leadcome
onstop it alreadyyoure a developer!!!! Nivo 300
3. New features Bundling/Minification Support Database
Migrations Mobile Web Web APIs Real Time Communication Asynchronous
Support Works with VS 2010/.NET 4 and built-into VS11 Nivo 300
4. Bundling and Minification Improve loading performance of
JavaScript and CSS Reduce # and size of HTTP requests Works by
convention (no configuration required) Fully customizable and
extensible Nivo 300
5. DEMOBundling & minification Nivo 300
6. Razor improvements Razor now resolves ~/ within all standard
HTML attributes From this: To this: @ Nivo 300
7. Conditional Attribute Enhancements From this: @{ string
myClass = null; if (someCondition) { myClass = shinyFancy; } }
class=@myClass } }>Content
Nivo 300
8. Conditional Attribute Enhancements To this: @{ string
myClass = null; if (someCondition) { myClass = shinyFancy; } } Will
automatically omit attribute name if value is null
Content
Nivo 300
9. Database Migrations EF Code First provides a
convention-over-configuration based development approach Migrations
== code-oriented approach to evolve DB schema Code focused
Developer friendly Can be used to generate SQL change scripts to
pass off to a DBA Nivo 300
10. DEMODatabase Migrations Nivo 300
11. Mobile Web Adaptive Rendering Use of CSS Media Queries
within default project templates Display Modes Selectively adapt
views based on devices Mobile Optimized Templates jQuery Mobile
Nivo 300
12. Mobile Web Development ASpectrum Adaptive Display Mobile
Rendering Modes Template Nivo 300
13. DEMOMobile Web Nivo 300
14. DEMOWeb API Nivo 300
15. Web API Hosting Multiple ways to host and expose Web APIs:
Within ASP.NET applications inside IIS, IIS Express, VS Web Server
Self hosted within any custom app (console, Windows Service, etc)
Same programming model Maximum flexibility Nivo 300
16. DEMOWeb API hosting Nivo 300
17. Asynchronous Support Why use async on a server? Enables
more efficient use of threads and server resources How does it
work? Your controller class yields to ASP.NET when calling a remote
resource, allowing the server thread to be re-used while you wait
When remote call returns, controller is re-scheduled to complete
Reduces # of threads running -> increases scalability Use of
async on server is not exposed to browsers/clients
http://myserver.com/products -> same URL can be implemented in
ASP.NET using either a synchronous or async controller Nivo
300
18. Async in MVC Todaypublic class Products : AsyncController {
public void IndexAsync() { WebClient wc1 = new WebClient();
AsyncManager.OutstandingOperations.Increment();
wc1.DownloadStringCompleted += (sender, e) => {
AsyncManager.Parameters[result"] = e.Result;
AsyncManager.OutstandingOperations.Decrement(); };
wc1.DownloadStringAsync(new Uri("http://www.bing.com/")); } public
ActionResult IndexCompleted(string result) { return View(); }} Nivo
300
19. Async in MVC with VS 11public class Products : Controller {
public async Task IndexAsync() { WebClient web = new WebClient();
string result = awaitweb.DownloadStringAsync("www.bing.com/");
return View(); }} Nivo 300
20. VPRAANJA?Po zakljuku predavanja, prosimo, izpolnite
vpraalnik.Vpraalniki bodo poslani na va e-naslov, dostopni pa bodo
tudipreko profila na spletnem portalu konference www.ntk.si.Najlepa
hvala! Nivo 300