MVC In Depth, part 1

30
Wednesday, November 2, 11

description

A two-part journey through the recommended patterns for building complex, Model-View-Controller-centric applications with both Ext JS 4 and Sencha Touch.Ed Spencer leads the development of Ext JS and supporting projects. An expert with Ext JS and JavaScript in general and with several years experience with traditional server side frameworks, he has broad experience in API design and delivery. His passion is in crafting beautiful code that supports the world-class Sencha product line.

Transcript of MVC In Depth, part 1

Page 1: MVC In Depth, part 1

Wednesday, November 2, 11

Page 2: MVC In Depth, part 1

Ed Spencer

@edspencer - edspencer.net

MVC, Part 1

Wednesday, November 2, 11

Page 3: MVC In Depth, part 1

What?

Wednesday, November 2, 11

Page 4: MVC In Depth, part 1

Teamwork

I will make an awesome app

now

Wednesday, November 2, 11

Page 5: MVC In Depth, part 1

Teamwork

I will help you

Wednesday, November 2, 11

Page 6: MVC In Depth, part 1

Teamwork

Your app is now big and needs a professional

consultant

Wednesday, November 2, 11

Page 7: MVC In Depth, part 1

Teamwork

Wednesday, November 2, 11

Page 8: MVC In Depth, part 1

FailWednesday, November 2, 11

Page 9: MVC In Depth, part 1

TeamworkApps often need teams

Different people work different ways

We need standards

Wednesday, November 2, 11

Page 10: MVC In Depth, part 1

But AlsoCode needs to be organized

Best practices followed

Spaghetti Avoided

Wednesday, November 2, 11

Page 11: MVC In Depth, part 1

This has been solved before

Smalltalk 80 introduces MVC:

ModelView

Controller

Wednesday, November 2, 11

Page 12: MVC In Depth, part 1

ModelLoads and manages the application data.

Usually in response to requests from the View

Wednesday, November 2, 11

Page 13: MVC In Depth, part 1

ViewManages the display of information and

UI controls

Wednesday, November 2, 11

Page 14: MVC In Depth, part 1

ControllerListens for inputs from the user, updates

Model and View

Wednesday, November 2, 11

Page 15: MVC In Depth, part 1

Model

Wednesday, November 2, 11

Page 16: MVC In Depth, part 1

View

Wednesday, November 2, 11

Page 17: MVC In Depth, part 1

Controller

Wednesday, November 2, 11

Page 18: MVC In Depth, part 1

We already had this

It was just all over the place

Wednesday, November 2, 11

Page 19: MVC In Depth, part 1

Definitely FailWednesday, November 2, 11

Page 20: MVC In Depth, part 1

Solution: Use Standards

Wednesday, November 2, 11

Page 21: MVC In Depth, part 1

Standards

Common Usage Patterns

Common File Structure

Common Toolchain

Wednesday, November 2, 11

Page 22: MVC In Depth, part 1

Model

Wednesday, November 2, 11

Page 23: MVC In Depth, part 1

View

Wednesday, November 2, 11

Page 24: MVC In Depth, part 1

Controller

Wednesday, November 2, 11

Page 25: MVC In Depth, part 1

File Structure

Wednesday, November 2, 11

Page 26: MVC In Depth, part 1

File Structure

Wednesday, November 2, 11

Page 27: MVC In Depth, part 1

Common Toolchain

Wednesday, November 2, 11

Page 28: MVC In Depth, part 1

Easy by hand too

Wednesday, November 2, 11

Page 29: MVC In Depth, part 1

Live Code*

* Might end in disaster

Wednesday, November 2, 11

Page 30: MVC In Depth, part 1

Questions?

Wednesday, November 2, 11