Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Introduction to .NET Florin Olariu “Alexandru Ioan Cuza”, University of Iași Department of Computer Science ASP.NET Core Agenda Understanding ASP.NET Core 1.0 Web Technologies Using Static Content Using Dependency Injection with ASP.NET Defining Custom Simple Routing Creating Middleware Components Interview questions Understanding ASP.NET Core 1.0(1/6) Understanding ASP.NET Core 1.0(2/6) ASP.NET Web Forms is no longer part of ASP.NET Core 1.0. Understanding ASP.NET Core 1.0(3/6) ASP.NET Web Forms is no longer part of ASP.NET Core 1.0. ASP.NET MVC is still part of ASP.NET Core 1.0. Understanding ASP.NET Core 1.0(4/6) ASP.NET Web Forms is no longer part of ASP.NET Core 1.0. ASP.NET MVC is still part of ASP.NET Core 1.0. Converting ASP.NET Web Forms to ASP.NET MVC might be a lot of work. Understanding ASP.NET Core 1.0(5/6) ASP.NET Web Forms is no longer part of ASP.NET Core 1.0. ASP.NET MVC is still part of ASP.NET Core 1.0. Converting ASP.NET Web Forms to ASP.NET MVC might be a lot of work. ASP.NET MVC is based on the Model-View-Controller (MVC) pattern, which makes unit testing easy. Understanding ASP.NET Core 1.0(6/6) DEMO - TailspinSpyworks Web Technologies(1/17) Web Technologies(2/17) HTML Web Technologies(3/17) HTML HTML5 has been a W3C recommendation since October 2014 (http://w3.org/TR/html5) Web Technologies(4/17) HTML HTML5 has been a W3C recommendation since October 2014 (http://w3.org/TR/html5) With the features of HTML5, several browser add-ins (such as Flash and Silverlight) are not required anymore Web Technologies(5/17) HTML HTML5 has been a W3C recommendation since October 2014 (http://w3.org/TR/html5) With the features of HTML5, several browser add-ins (such as Flash and Silverlight) are not required anymore HTML5 adds new semantic elements that search engines are better able to use for analyzing the site(canvas, video, audio). Web Technologies(6/17) HTML HTML5 has been a W3C recommendation since October 2014 (http://w3.org/TR/html5) With the features of HTML5, several browser add-ins (such as Flash and Silverlight) are not required anymore HTML5 adds new semantic elements that search engines are better able to use for analyzing the site(canvas, video, audio). HTML5 also defines APIs for drag-and-drop, storage, web sockets, and much more. Web Technologies(7/17) CSS Web Technologies(8/17) CSS In the earlier days of HTML the list item tag <li> defined whether list elements should be displayed with a circle, a disc, or a square. Web Technologies(9/17) CSS In the earlier days of HTML the list item tag <li> defined whether list elements should be displayed with a circle, a disc, or a square. You can use flexible selectors to select HTML elements, and you can define styles for these elements. Web Technologies(10/17) CSS In the earlier days of HTML the list item tag <li> defined whether list elements should be displayed with a circle, a disc, or a square. You can use flexible selectors to select HTML elements, and you can define styles for these elements. In Visual Studio 2015, the web project templates make use of Twitter Bootstrap. Web Technologies(11/17) JavaScript and TypeScript Web Technologies(12/17) JavaScript and TypeScript. JavaScript enables accessing the document object model (DOM) from the HTML page. Web Technologies(13/17) JavaScript and TypeScript. JavaScript enables accessing the document object model (DOM) from the HTML page. JavaScript is a functional programming language that is not object-oriented, although object-oriented capabilities have been added to it. Web Technologies(14/17) JavaScript and TypeScript. JavaScript enables accessing the document object model (DOM) from the HTML page. JavaScript is a functional programming language that is not object-oriented, although object-oriented capabilities have been added to it. ECMAScript is the standard that defines the current and upcoming features of the JavaScript language. Web Technologies(15/17) JavaScript and TypeScript. JavaScript enables accessing the document object model (DOM) from the HTML page. JavaScript is a functional programming language that is not object-oriented, although object-oriented capabilities have been added to it. ECMAScript is the standard that defines the current and upcoming features of the JavaScript language. TypeScript syntax is based on ECMAScript, but it has some enhancements, such as strongly typed code and annotations. Web Technologies(16/17) JavaScript and TypeScript. JavaScript enables accessing the document object model (DOM) from the HTML page. JavaScript is a functional programming language that is not object-oriented, although object-oriented capabilities have been added to it. ECMAScript is the standard that defines the current and upcoming features of the JavaScript language. TypeScript syntax is based on ECMAScript, but it has some enhancements, such as strongly typed code and annotations. jQuery (http://www.jquery.org) is a library that abstracts browser differences when accessing DOM elements and reacting to events. Web Technologies(17/17) JavaScript and TypeScript. JavaScript enables accessing the document object model (DOM) from the HTML page. JavaScript is a functional programming language that is not object-oriented, although object-oriented capabilities have been added to it. ECMAScript is the standard that defines the current and upcoming features of the JavaScript language. TypeScript syntax is based on ECMAScript, but it has some enhancements, such as strongly typed code and annotations. jQuery (http://www.jquery.org) is a library that abstracts browser differences when accessing DOM elements and reacting to events. Angular (http://angularjs.org) is a library based on the MVC pattern for simplifying development and testing with single-page web applications. Using Static Content(1/5) Demo Empty project Global.json Project.json Debugging Startup file Environment variables launchSettings.json Using Static Content(2/5) Using Static Content(3/5) In order to enable static files we have to add the extension method UseStaticFiles() Using Static Content(4/5) In order to enable static files we have to add the extension method UseStaticFiles() Using Static Content(5/5) Demo Empty project Add UserStaticFiles() Create a static file and see the results Using Dependency Injection with ASP.NET(1/12) IoC/DI mechanisms Using Dependency Injection with ASP.NET(2/12) IoC/DI mechanisms Using Dependency Injection with ASP.NET(3/12) IoC/DI mechanisms Using Dependency Injection with ASP.NET(4/12) IoC/DI mechanisms PROS CONS Helps with adhering to the Dependency Inversion Principle (DIP) DI introduces a learning curve for some developers Allows objects to be easily swapped with replacements DI may require a significant overhaul of existing projects Facilitates the use of the Strategy Design Pattern (SDP) Project timelines may not allow DI Improves the testability of applications Enables loose coupling of software components Using Dependency Injection with ASP.NET(5/12) IoC/DI mechanisms Using Dependency Injection with ASP.NET(6/12) IoC/DI mechanisms Transient Using Dependency Injection with ASP.NET(7/12) IoC/DI mechanisms Transient Scoped Using Dependency Injection with ASP.NET(8/12) IoC/DI mechanisms Transient Scoped Singleton Using Dependency Injection with ASP.NET(9/12) IoC/DI mechanisms Transient Scoped Singleton Instance (special case of Singleton) Using Dependency Injection with ASP.NET(10/12) IoC/DI mechanisms Transient Scoped Singleton Instance (special case of Singleton) Using Dependency Injection with ASP.NET(11/12) IoC/DI mechanisms Transient Scoped Singleton Instance (special case of Singleton) Constructor injection Using Dependency Injection with ASP.NET(11/12) IoC/DI mechanisms Transient Scoped Singleton Instance (special case of Singleton) Constructor injection Action injection Using Dependency Injection with ASP.NET(12/12) DEMO Using controllers and views Using IoC and DI Verifying routes Creating midlleware Interview questions(1/1) One more thing…(1/2) One more thing…(2/2) “Truth can only be found in one place: the code.” by Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship Bibliography https://docs.asp.net/en/latest/tutorials/first-web-api.html - By Mike Wasson and Rick Anderson Nagel, Christian. Professional C# 6 and .NET Core 1.0 Chowdhuri, Shahed. ASP.NET Core Essentials Questions Do you have any other questions? Thanks! See you next time!