How to Teach an Old Dog New Tricks, AtlasCamp US 2012

1,414 views

Published on

Andreas Knecht, Senior Developer

Learn how the JIRA developers - a team with mostly backend expertise - figured out how to write full client-side applications through the use of backbone, brace, qunit and REST! This talk will not only show you some techniques for writing client-side apps in Atlassian plugins, but how the increase in devspeed will make all your developers fall in love with developing complex Javascript applications.

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

  • Be the first to like this

No Downloads
Views
Total views
1,414
On SlideShare
0
From Embeds
0
Number of Embeds
427
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • How to Teach an Old Dog New Tricks, AtlasCamp US 2012

    1. 1. How to teach an old dognew tricksAndreas KnechtJIRA Developer 2
    2. 2. JIRA Team August 2012 3
    3. 3. 6 front-end developers JIRA Team August 2012 3
    4. 4. Need client-side features 4
    5. 5. Need client-side features• Better UX 4
    6. 6. Need client-side features• Better UX• Performance 4
    7. 7. Need client-side features• Better UX• Performance• Better REST API 4
    8. 8. BUT... 5
    9. 9. 6
    10. 10. JavaScriptdevelopment is hard! 6
    11. 11. Teaching an old dog new tricks 7
    12. 12. 3 Step Process 8
    13. 13. Read a book1 9
    14. 14. Spike it!2 10
    15. 15. Pick a framework3 11
    16. 16. Pick a framework3 11
    17. 17. Benefits 12
    18. 18. Documented Approach 13
    19. 19. Documented Approach Model Templating (View) View (Controller) 13
    20. 20. Engineer JavaScript vs 14
    21. 21. NAPI 15
    22. 22. NAPI 15
    23. 23. napi.js (691) 16
    24. 24. NoteDetailsView.js (56) EditNoteView.js (68) NoteModel.js (91) vs NoteCollection.js (43) NoteListView.js (58) NoteRowView.js (41) templates.soy (87) NoteToolsView.js (81) AddNoteView.js (94)napi.js (691) 16
    25. 25. NoteDetailsView.js (56) EditNoteView.js (68) NoteModel.js (91) vs NoteCollection.js (43) NoteListView.js (58) NoteRowView.js (41) templates.soy (87) NoteToolsView.js (81) AddNoteView.js (94)napi.js (691) (619) 16
    26. 26. Refactoring 17
    27. 27. Refactoring 17
    28. 28. Refactoring 17
    29. 29. Refactoring 17
    30. 30. Templating 18
    31. 31. Templating 18
    32. 32. Testing 19
    33. 33. Testing 19
    34. 34. Testing 917 tests 19
    35. 35. Testing 917 tests 29 parallel agents! 19
    36. 36. Testing vs 917 tests 29 parallel agents! 19
    37. 37. Testing vs 917 tests 785 tests 29 parallel agents! 19
    38. 38. Testing vs 917 tests 785 tests 29 parallel agents! 1 agent 19
    39. 39. Testing 19
    40. 40. More than unit tests 20
    41. 41. More than unit tests 20
    42. 42. More than unit tests 20
    43. 43. More than unit tests 20
    44. 44. More than unit tests 20
    45. 45. Devspeed 21
    46. 46. Devspeed• 10+ second saving• ~1.5 hours per week• Inline Edit: 10 hours/week! 22
    47. 47. Devspeed• 10+ second saving• ~1.5 hours per week• Inline Edit: 10 hours/week! 22
    48. 48. Devspeed• 10+ second saving• ~1.5 hours per week• Inline Edit: 10 hours/week! 22
    49. 49. Make the switch! 23
    50. 50. Thank you!

    ×