Bare-knuckle web
development
DevDay.LK
Johannes Brodwall, Chief scientist
Exilesoft Global

@jhannes
It can be fun and
productive to use the basic
tools
• Philosophy
• Demonstration
• Ruminations
Part I:
Why
•

Learn new technologies
OR
• Learn new things about your
technology
High impact with
low ceremony
•

Framework light
• Test-driven
• No calculators
Light on framework
How much time do you
spend
•

•

•
In debugger?
Waiting for build?
On Stackoverflow?
Frameworks solve 80%
of the job…
… and makes the rest 10
times as hard
Test-driven
Fast feedback cycle
“I can see how TDD works
for toy examples…”
“… but how can we use it
when we have all these
really complicated
technologies???”
(Hint:
“all these complicated technologies”

I think I see your problem
right here...)
“Don’t use a
calculator…”
Part II:
Demo: Phonebook
web app
What can you
learn?
•
•
•
•
•
•
•
•

Test for web applications
Specifying requirements with tests
The difference between
realistic slow tests ...
Part III:
Ruminations
Those are my
principles, and if you
don't like them... well,
I have others.

- Groucho Marx
Build your app this
way?
Probably not
Well, why not?
I am most likely
insane
Or...
The reasonable man adapts himself to
the world:
the unreasonable one persists in trying
to adapt the world to himself.
The...
Understand what’s
going on
«Don’t reinvent the
wheel»
Are you using
technology to solve
your problems?
Or so that you don’t
have to face your
problems?
... yet.
Overheated brain
95 % test coverage
95 % test coverage
5-10 seconds
95 % test coverage
5-10 seconds
< 1 day to create
«framework»
SOAP:
2.

1.
Construct XML
POST on HttpURLConnection
@Override
public String getCountryByIp(String ipAddress) {
Document soapRequest =
soapElement("S:Envelope",
$("S:Body",
ws...
No friction
Conclusion:
No calculator
until…
Don’t just learn new
technologies

.
Don’t just learn new
technologies
=> Learn new approaches,
techniques and features about
the technology you use
Thank you
jbr@exilesoft.com
http://johannesbrodwall.com
http://exilesoft.com/exilee
@jhannes

Believe nothing on the faith...
DevDay.lk - Bare Knuckle Web Development
Upcoming SlideShare
Loading in …5
×

DevDay.lk - Bare Knuckle Web Development

1,231 views

Published on

Can you go faster with less weight? In 45 minutes, I build a web server with an address book with tests firsts and no frameworks. What can you do if you really understand what's going on?

Published in: Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,231
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DevDay.lk - Bare Knuckle Web Development

  1. 1. Bare-knuckle web development DevDay.LK Johannes Brodwall, Chief scientist Exilesoft Global @jhannes
  2. 2. It can be fun and productive to use the basic tools
  3. 3. • Philosophy • Demonstration • Ruminations
  4. 4. Part I:
  5. 5. Why
  6. 6. • Learn new technologies OR • Learn new things about your technology
  7. 7. High impact with low ceremony
  8. 8. • Framework light • Test-driven • No calculators
  9. 9. Light on framework
  10. 10. How much time do you spend • • • In debugger? Waiting for build? On Stackoverflow?
  11. 11. Frameworks solve 80% of the job…
  12. 12. … and makes the rest 10 times as hard
  13. 13. Test-driven
  14. 14. Fast feedback cycle
  15. 15. “I can see how TDD works for toy examples…”
  16. 16. “… but how can we use it when we have all these really complicated technologies???”
  17. 17. (Hint: “all these complicated technologies” I think I see your problem right here...)
  18. 18. “Don’t use a calculator…”
  19. 19. Part II:
  20. 20. Demo: Phonebook web app
  21. 21. What can you learn?
  22. 22. • • • • • • • • Test for web applications Specifying requirements with tests The difference between realistic slow tests (aka “integration”) and limited fast tests (aka “unit”) Dependencies in your tests What does the web server do? Refactoring shortcuts Growing design Alternatives to HTML templates (maybe)
  23. 23. Part III:
  24. 24. Ruminations
  25. 25. Those are my principles, and if you don't like them... well, I have others. - Groucho Marx
  26. 26. Build your app this way?
  27. 27. Probably not
  28. 28. Well, why not?
  29. 29. I am most likely insane
  30. 30. Or...
  31. 31. The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. - George Bernard Shaw
  32. 32. Understand what’s going on
  33. 33. «Don’t reinvent the wheel»
  34. 34. Are you using technology to solve your problems?
  35. 35. Or so that you don’t have to face your problems?
  36. 36. ... yet.
  37. 37. Overheated brain
  38. 38. 95 % test coverage
  39. 39. 95 % test coverage 5-10 seconds
  40. 40. 95 % test coverage 5-10 seconds < 1 day to create «framework»
  41. 41. SOAP: 2. 1. Construct XML POST on HttpURLConnection
  42. 42. @Override public String getCountryByIp(String ipAddress) { Document soapRequest = soapElement("S:Envelope", $("S:Body", wsxElement("wsx:GetGeoIP", $("wsx:IPAddress", ipAddress)))); Document soapResponse endpoint.postRequest(getSOAPAction(), soapRequest); return $(soapResponse).xpath("/Envelope/Body/*") .xpath("GetGeoIPResult/CountryName").text(); }
  43. 43. No friction
  44. 44. Conclusion:
  45. 45. No calculator until…
  46. 46. Don’t just learn new technologies .
  47. 47. Don’t just learn new technologies => Learn new approaches, techniques and features about the technology you use
  48. 48. Thank you jbr@exilesoft.com http://johannesbrodwall.com http://exilesoft.com/exilee @jhannes Believe nothing on the faith of traditions. Do not believe a thing because many people speak of it. Do not believe on the faith of the sages of the past. Do not believe what you yourself have imagined. After examination, believe what you yourself have tested and found to be reasonable - Buddha

×