Introduction to All Rights Reserved © CodeValue Shay Friedman Shay Friedman is a Co-Founder of CodeValue and Leader of its Web division. He is a Microsoft C# MVP and the author of IronRuby Unleashed. Shay started his way with computers at the age of 8 and since the age of 16 he’s been working professionally. He has experience with various programming languages like C#, JavaScript and Ruby as well as various technologies like HTML5, AngularJS, ASP.NET MVC, Ruby on Rails, Windows Azure and more. Shay has been working as a consultant and a trainer at CodeValue and has spoken in numerous international conferences like TechEd, NDC, Oredev, RubyKaigi and others. [email protected] | @ironshay http://IronShay.com | http://CodeValue.com Agenda • AngularJS Overview • Better HTML • Services • Angular for Applications • Best Practices Module 1: AngularJS Overview Traditional Web Applications (1) Request (2) Runs logics (3) Generates HTML Web server (4) Response Pros: Cons: • Everything is handled in the server • Server works very hard • Most code is written in a single • UI is generated on the server programming language • Major performance hit for users • Not a smooth user experience Single Page Applications (1) Request (2) Runs logics (3) Generates JSON (5) Generates UI API web server (4) Response • Pros: • Cons: – Full separation of concerns – More programming – Smooth and performant user experience languages to master – Less load on the server – Usually requires modern browsers Single Page Applications • Also known as “SPA” • The goal is to make the web work as smooth as desktop applications • Web sites are just like any other client-server applications: – UI is responsible for itself – State! – Calls to the server are done via services, not postbacks