bare-knuckle web development

47
Bare-knuckle web development NDC 2013 Johannes Brodwall, Chief scientist Exilesoft Global

Upload: caesar

Post on 22-Feb-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Bare-knuckle web development. NDC 2013 Johannes Brodwall, Chief scientist Exilesoft Global. Bare-knuckle philosophy Demonstration of bare-knuckle web in .NET Conclusions. Part I:. The bare-knuckle philosophy. Fear => Pair Hubris => Speed (and fun). High impact with low ceremony. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Bare-knuckle web development

Bare-knuckle web development

NDC 2013Johannes Brodwall, Chief scientist

Exilesoft Global

Page 2: Bare-knuckle web development

• Bare-knuckle philosophy• Demonstration of bare-

knuckle web in .NET• Conclusions

Page 3: Bare-knuckle web development

Part I:

Page 4: Bare-knuckle web development

The bare-knuckle philosophy

Page 5: Bare-knuckle web development

• Fear => Pair• Hubris => Speed (and fun)

Page 6: Bare-knuckle web development

High impact with low ceremony

Page 7: Bare-knuckle web development

• Framework light• Test-driven

• No calculators

Page 8: Bare-knuckle web development

Light on framework

Page 9: Bare-knuckle web development

Frameworks solve 80% of the job…

Page 10: Bare-knuckle web development

… and makes the rest 10 times as hard

Page 11: Bare-knuckle web development

“Why did NHibernate suddenly slow down?”

Page 12: Bare-knuckle web development

“How do I make IIS behave the way I want?”

Page 13: Bare-knuckle web development

“Why is my routing misbehaving?”

Page 14: Bare-knuckle web development

“Why is my routing misbehaving?”

(what is routing, anyway)

Page 15: Bare-knuckle web development

Test-driven

Page 16: Bare-knuckle web development

Fast feedback cycle

Page 17: Bare-knuckle web development

“I can see how TDD works for toy examples…”

Page 18: Bare-knuckle web development

“… but how can we use it when we have all these

really complicated technologies???”

Page 19: Bare-knuckle web development

(Hint:“all these complicated technologies”

I think I see your problem right here...)

Page 20: Bare-knuckle web development

Don’t use a calculator…

Page 21: Bare-knuckle web development

Part II:

Page 22: Bare-knuckle web development

Demo: Phonebook web app

Page 23: Bare-knuckle web development

.NET

Page 24: Bare-knuckle web development

Part III:

Page 25: Bare-knuckle web development

What the heck am I getting at?

Page 26: Bare-knuckle web development

Build your app this way?

Page 27: Bare-knuckle web development

Probably not

Page 28: Bare-knuckle web development

I am most likely insane

Page 29: Bare-knuckle web development

(And we’re all going to cloud, anyway)

Page 30: Bare-knuckle web development

Understand what’s going on

Page 31: Bare-knuckle web development

Are you using technology to solve

your problems?

Page 32: Bare-knuckle web development

Or so that you don’t have to face your

problems?

Page 33: Bare-knuckle web development

... yet.

Page 34: Bare-knuckle web development

Thinking in tests

Page 35: Bare-knuckle web development

1.

Page 36: Bare-knuckle web development

Guiding test/Web tests/

Acceptance test/Usage Flow test

Page 37: Bare-knuckle web development

2.

Page 38: Bare-knuckle web development

Get the infrastructure to work =>

separate out responsibility

Page 39: Bare-knuckle web development

3.

Page 40: Bare-knuckle web development

Fine grained tests for internal logic

Page 41: Bare-knuckle web development

Shallow, then deep

Page 42: Bare-knuckle web development

Shallow, then deep(without changing

tests)

Page 43: Bare-knuckle web development

Conclusion:

Page 44: Bare-knuckle web development

YAGNI

Page 45: Bare-knuckle web development

No calculator until…

Page 46: Bare-knuckle web development

Don’t use a framework you couldn’t have

written yourself

Page 47: Bare-knuckle web development

Thank [email protected]

http://johannesbrodwall.comhttp://exilesoft.com/exilee

http://twitter.com/jhannes