Angular Gotchas Best of Web…but watch out Responsive application build with HTML5 and Javascript Mike R. Emo Founder iEmoSoft consulting Featuring Nick.

Slides:



Advertisements
Similar presentations
John Culviner johnculviner.com DEMO CODE:
Advertisements

Randy Williams, MOSS MVP Senior Consultant Synergy Corporate Technologies.
Integrating OCS Presence with MOSS Matt Lawson Linda Nevils.
Dhananjay Microsoft MVP
Introduction to John johnculviner.com.
Supervisor: Amichai Shulman Students: Vitaly Timofeev Eyal Shemesh.
Client Side Dev. Toolkit HTML5 JavaScript CSS (and Less, but not today) Bootstrap Knockout.js Require.js (moving to Browserify) Toastr Visual Studio and.
INTRODUCTION The Group WEB BROWSER FOR RELATION Goals.
Simon Amrein Consultant Trivadis AG What is ASP.NET 4.0 Ajax Ajax Control Toolkit Microsoft Ajax Content Delivery Network jQuery jQuery Client Templates.
Introduction to John Culviner GitHub: github.com/johnculviner Blog:johnculviner.com
Introduction to John Culviner GitHub: github.com/johnculviner Blog:johnculviner.com
JavaScript Form Validation
SUNY Polytechnic Institute CS 490 – Web Design, AJAX, jQueryAngularJS AngularJS is a client-side JavaScript Framework for adding interactivity to HTML.
Introduction Marko Marić, Danulabs
AJAX in ASP.NET James Crowley Developer Fusion
Bob German Principal Architect A New on SharePoint Development Building Light-Weight Web Parts with AngularJS
Todd Snyder Development Team Lead Infragistics Experience Design Group.
1 Another group of Patterns Architectural Patterns.
Copyright © Terry Felke-Morris WEB DEVELOPMENT & DESIGN FOUNDATIONS WITH HTML5 7 TH EDITION Chapter 14 Key Concepts 1 Copyright © Terry Felke-Morris.
Web Scripting [PHP] CIS166AE Wednesdays 6:00pm – 9:50pm Rob Loy.
Introduction to Angular JS Sergey Barskiy Working Class Nobody Level: Introductory.
The Web Developer’s Toolbox Steve Fabian e:
ECA 225 Applied Interactive Programming1 ECA 225 Applied Online Programming basics.
Software Consultancy Services. Contents  Introduction  Vision  Mission  Expertise  Technology  Application Design  Services on offer  Showcase.
Hattan Shobokshi mvcdotnet.wordpress.com Web Development in the Past (Microsoft Stack)
School of Computing and Information Systems CS 371 Web Application Programming AJAX.
 Phone Gap is a mobile application development frame work based upon the open source apache cordova project. Developed by Nitobi software Bought by Adobe.
ExtJS Events By Aaron Conran. Events Events describe when a certain action happens. This could be a user action, a response to an Ajax call, etc. Events.
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
AJAX. Ajax  $.get  $.post  $.getJSON  $.ajax  json and xml  Looping over data results, success and error callbacks.
Introduction to PHP 1.What is PHP? What Is PHP?  php: hypertext preprocessor  Server-side scripting language—like ASP—scripts are executed on server.
Virtual techdays INDIA │ 9-11 February 2011 SESSION TITLE Kamala Rajan S │ Technical Manager, Marlabs.
AJAX CS456 Fall Examples Where is AJAX used? Why do we care?
A UTOMATICALLY SECURING WEB 2.0 APPLICATIONS THROUGH REPLICATED EXECUTION Ben Livshits Microsoft Research.
Copyright © Terry Felke-Morris WEB DEVELOPMENT & DESIGN FOUNDATIONS WITH HTML5 Chapter 14 Key Concepts 1 Copyright © Terry Felke-Morris.
Learn AngularJS by Building 10 projects. Introduction to AngularJS An Open source web application framework by Google Written in JavaScript offers complete.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
The New Face of ASP.NET ASP.NET MVC, Razor, and jQuery Ido Flatow | Senior Architect | Sela | This session is.
AngularJS. What is AngularJS  Javascript Framework  MVC  for Rich Web Application Development  by Google.
AngularJS and SharePoint
© Luxoft Training. All rights reserved AngularJS Introduction.
Building rich web applications with ASP.NET AJAX Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism Group,
Chapter 5 Angularjs. Content Overview How to program with Angularjs Directives Expressions Controllers Filters HTML DOM Forms and Includes Ajax Scopes.
Angular 4 + TypeScript Getting Started
Client Side Dev.
Extra Course
CS 371 Web Application Programming
Christian Website Design Services – Churchsquare.com
Walk on the Client Side take a… Nick Airdo Software Engineer
Open-O Client Project Proposal
CMPE 280 Web UI Design and Development November 7 Class Meeting
Web Programming– UFCFB Lecture 17
Jessica Betts, Sophia Pandey, & Ryan Amundson
SharePoint-Hosted Apps and JavaScript
Object-oriented programming
Best E-commerce Shopping Cart Software Development Company.
Top Reasons to Choose Angular. Angular is well known for developing robust and adaptable Single Page Applications (SPA). The Application structure is.
Step by Step - AngularJS
Self Service Giving and Pledge Display
Rich single page applications with SharePoint
Data Architecture DataView holds ref count on cache entry
AngularJS Michael Kang August 20th 2015.
Angular 2 Michael C. Kang.
Single Page Applications with jQuery or AngularJS
PART 1.
Client-Server Model: Requesting a Web Page
CMPE 280 Web UI Design and Development November 8 Class Meeting
02 | Angular Controllers Stacey Mulcahy | Technical Evangelist
Web Development & Design Foundations with HTML5 7th Edition
Get Complete Information on How To Fix Gmail Server Error 007How To Fix Gmail Server Error 007.
Presentation transcript:

Angular Gotchas Best of Web…but watch out Responsive application build with HTML5 and Javascript Mike R. Emo Founder iEmoSoft consulting Featuring Nick Thurow

$Scope Shared vs. Isolate

app.directive("fullName", function(){ return { scope: false, template: …" };

app.directive("fullName", function(){ return { scope: false, template: …" }; myCtrl (Controller) $scope.firstName = ‘Mike’ $scope.lastName = ‘Emo’ fullName (Directive) $scope.age=31 myCtrl $scope firstName: ‘Mike’ lastName: ‘Emo’ age: 31

app.directive("fullName", function(){ return { scope: false, template: …" }; myCtrl (Controller) $scope.firstName = ‘Mike’ $scope.lastName = ‘Emo’ fullName (Directive) $scope.age=31 myCtrl $scope firstName: ‘Mike’ lastName: ‘Emo’ age: 31 They share the SAME scope

app.directive("fullName", function(){ return { scope: true, template: …" }; myCtrl (Controller) $scope.firstName: ‘Mike’ $scope.lastName: ‘Emo’ fullName (Directive) $scope.age: 31 myCtrl $scope firstName: ‘Mike’ lastName: ‘Emo’ fullName scope INHERITS from controller scope fullName $scope age: 31

app.directive("fullName", function(){ return { scope: { }, template: …" }; myCtrl (Controller) $scope.firstName = ‘Mike’ $scope.lastName = ‘Emo’ fullName (Directive) myCtrl $scope firstName: ‘Mike’ lastName: ‘Emo’ fullName $scope Isolate Scope

app.directive("fullName", function(){ return { scope: { family:’=’ }, template: …" }; myCtrl (Controller) $scope.firstName = ‘Mike’ $scope.lastName = ‘Emo’ fullName (Directive) myCtrl $scope firstName: ‘Mike’ lastName: ‘Emo’ fullName $scope family: ‘Emo’ Isolate Scope TWO WAY Binding

An Angular Module

Controllers { productsCTRL checkoutCTRL } Controllers { productsCTRL checkoutCTRL } An Angular Module

Controllers { productsCTRL checkoutCTRL } Controllers { productsCTRL checkoutCTRL } Filters { * currency * orderBy * filter distinctCategories } An Angular Module

Controllers { productsCTRL checkoutCTRL } Controllers { productsCTRL checkoutCTRL } Filters { * currency * orderBy * filter distinctCategories } Constants { ‘productsURL’, ‘api/products/getProducts’ ‘maxRetries’, ‘15’ } An Angular Module

Controllers { productsCTRL checkoutCTRL } Controllers { productsCTRL checkoutCTRL } Filters { * currency * orderBy * filter distinctCategories } Constants { ‘productsURL’, ‘api/products/getProducts’ ‘maxRetries’, ‘15’ } Factories { … } An Angular Module

Controllers { productsCTRL checkoutCTRL } Controllers { productsCTRL checkoutCTRL } Filters { * currency * orderBy * filter distinctCategories } Constants { ‘productsURL’, ‘api/products/getProducts’ ‘maxRetries’, ‘15’ } Factories { … } Directives An Angular Module

Controllers { productsCTRL checkoutCTRL } Controllers { productsCTRL checkoutCTRL } Filters { * currency * orderBy * filter distinctCategories } Constants { ‘productsURL’, ‘api/products/getProducts’ ‘maxRetries’, ‘15’ } Factories { … } Directives An Angular Module Module(s) “Dependencies”

listOfProducts.html SportzApp Module “Bucket”

mainCtrl $scope listOfProducts.html SportzApp Module “Bucket”

mainCtrl $scope cart (factory) listOfProducts.html SportzApp Module “Bucket”

mainCtrl $scope checkoutCTRL $scope cart (factory) listOfProducts.html SportzApp Module “Bucket”

mainCtrl $scope checkoutCTRL $scope cart (factory) listOfProducts.html cartSummary.html placeOrder.html thankYou.html SportzApp Module “Bucket”

Web Server Client Machine

Web Server Client Machine Angular Controllers Angular Directives

Web Server Client Machine Angular Controllers Angular Directives Local Server Ajax Cache Factory Biz Log

Recap Don’t overuse modules

Recap Don’t overuse isolate scope

Recap Don’t overuse modules Don’t overuse isolate scope Consider Directives and reusability

Recap Don’t overuse modules Don’t overuse isolate scope Consider Directives and reusability Don’t overuse watches

Recap Don’t overuse modules Don’t overuse isolate scope Consider Directives and reusability Don’t overuse watches Do consider local server pattern

Recap Don’t overuse modules Don’t overuse isolate scope Consider Directives and reusability Don’t overuse watches Do consider local server pattern Keep directives and controllers thin

Recap Don’t overuse modules Don’t overuse isolate scope Consider Directives and reusability Don’t overuse watches Do consider local server pattern Keep directives and controllers thin Remove event handlers when applicable to avoid memory leaks

Angular Gotchas Best of Web…but watch out Responsive application build with HTML5 and Javascript Mike R. Emo Founder iEmoSoft consulting Featuring Nick Thurow

Contact Info Mike Emo Blog: TheMikeEmo.com Phone: Nick Thurow Solution