devintersection asp.net mvc & jquery mobilesddconf.com/brands/sdd/library/lessons_from_a... ·...
TRANSCRIPT
![Page 1: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/1.jpg)
ngLessons
K. Scott Allen
@OdeToCode
![Page 6: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/6.jpg)
Three Things
Needs
Cautions
Plans
![Page 8: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/8.jpg)
Need: Robust Error Handling
![Page 9: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/9.jpg)
Catch At The Top Of The Chain
![Page 10: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/10.jpg)
Need: Consistent Error Handling
![Page 15: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/15.jpg)
Decorators For Instrumentation
![Page 16: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/16.jpg)
Sanitize Decorator Output
![Page 17: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/17.jpg)
Decorators For Debugging
![Page 19: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/19.jpg)
Need: $http Interceptors
![Page 29: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/29.jpg)
Use $controller With What You Need
![Page 30: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/30.jpg)
Possibly Redefine The SUT
![Page 34: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/34.jpg)
Use Controller As
Explicit in the view
Simplifies tests
![Page 36: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/36.jpg)
Avoid: $rootScope Abuse
Let’s store errors
Let’s store loading messages
Let’s store user profile
Let’s store configuration constants
![Page 43: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/43.jpg)
Think About: Your Router
Look at UI-Router
![Page 44: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/44.jpg)
Think About: A Better $http
BreezeJS
Restangular
Caching, configuration, offline…
![Page 47: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/47.jpg)
Resolve Pros
View appears with data ready
Easier to stay somewhere is there is an error
Easier to test controllers
![Page 49: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/49.jpg)
Move Resolve To A Service
![Page 51: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/51.jpg)
Think About: Authentication and
Authorization
![Page 52: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/52.jpg)
Cookies or Tokens?
Cookies
Sent with every request
Susceptible to CSRF
Difficult to use across domains
Tokens
Offer more control, no forgeries
Work across domains
Require more code
![Page 53: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/53.jpg)
Logins and Redirects
GET /secret redirect redirect GET /secret
![Page 55: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/55.jpg)
Think About: Basic Abstractions
Controller
Model
Service
Directive
Filter
![Page 56: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/56.jpg)
Think About: Code Standards
![Page 57: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/57.jpg)
Think About: Directory Structure
I like feature based
![Page 58: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/58.jpg)
apps
movieApp
module.js
templates
specs
js
dashboard
common
![Page 59: DEVintersection ASP.NET MVC & jQuery Mobilesddconf.com/brands/sdd/library/Lessons_From_A... · Title: DEVintersection ASP.NET MVC & jQuery Mobile Author: Scott Allen Subject: From](https://reader033.vdocuments.site/reader033/viewer/2022060300/5f081d027e708231d4206747/html5/thumbnails/59.jpg)
Summary
Error handling
Decorators, interceptors
Custom directives
Code style and structure