JJ

THE UN-INTEGRATED DEVELOPMENT
ENVIRONMENT
Joel Byler
@joelbyler
January 9, 2014
CodeMash 2.0.1.4
Kalihari Resort
Sandu...
WHO AM I?
 





JOEL BYLER

 Aspiring Software Craftsman
 Organizer for Cleveland Ruby

Brigade (aka CleRb)
 Enterpris...
WHY DO WE USE AN IDE?
 Syntax Highlighting
 Code Completion
 Refactoring Tools
 Project Navigation
 Debugger

Monday,...
ADDITIONAL THINGS AN IDE DOES
 Build on Save
 Run Tests
 Deploy to Server
 Dependency Management

Monday, January 13, ...
THINGS AN IDE SHOULD NOT DO
 Block you from saving
 Make YOU wait!!!
 Interact with social media

5

Monday, January 13...
WORKFLOW

Install
dependencies

I want to know when
the tests fail!

Red

Green

Refactor

I also want to know
when the te...
WORKFLOW
Should NOT require a specific IDE
Should not require an IDE at all!
DANGER: what happens when you

depend too m...
DISCLAIMER
During the course of this session we are going to see
a number of tools for various different languages.
I’m no...
EASY TO REMEMBER? 6 “G”S
Growl - notifications
Guard - ruby
Grunt - javascript
Gradle - java
Giles - .net auto tester
...
RUBY
 Dependency Management
 bundler
 Automated Tester
 guard
 Code Analysis
 rubocop

Monday, January 13, 14
BUNDLER=>DEPENDENCY MANAGEMENT
RAKE => TASK RUNNER
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/Bun...
RUBOCOP=>CODE ANALYSIS
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/Rubocop.mov

12

Monday, Januar...
GUARD=>AUTOMATED TASK RUNNER
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/Guard.mov

13

Monday, Ja...
JAVASCRIPT
 Dependency Management
 npm
 Automated Tester
 grunt watch
 Code Analysis
 jshint

Monday, January 13, 14
NPM=>DEPENDENCY MANAGEMENT
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/npm.mov

15

Monday, Januar...
GRUNT => TASK RUNNER
JSHINT => CODE QUALITY ANALYSIS
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/G...
GRUNT WATCH=>AUTOMATED TASK RUNNER
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/GruntWatch.mov

17
...
JAVA
 Dependency Management
 gradle dependencies { .. }
 Automated Tester
 guard

(gradle is not there yet)
 Code Ana...
GRADLE => TASK RUNNER
FINDBUGS => CODE ANALYSIS
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/Gradle...
GUARD=>AUTOMATED TASK RUNNER
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/GuardJetty.mov

20

Monda...
C#
 Dependency Management
 Nuget
 Automated Tester
 Giles
 Code Analysis
 Gendarme

Monday, January 13, 14
NUGET=>DEPENDENCY MANAGEMENT
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/media/nuget.mov

22

Monday, Ja...
GILES => AUTOMATED TASK RUNNER
GENDARME => CODE ANALYSIS
https://github.com/joelbyler/unintegrated_dev_env/raw/
master/med...
RESOURCES
Demo Source
https://github.com/joelbyler/unintegrated_dev_env
Ruby Rogues - Tool Sharpening
http://rubyrogues.co...
RESOURCES CONTINUED
Java Resources
http://www.gradle.org/
http://findbugs.sourceforge.net
C# and Visual Studio Resources
ht...
THAT’S A WRAP!
Joel Byler
@joelbyler

Monday, January 13, 14
COME FLOAT WITH US!
Located on a 10,000 square foot boat on the
Cleveland waterfront, our team exemplifies
how Agile value...
Upcoming SlideShare
Loading in …5
×

Un-integrated Development Environment

1,400 views

Published on

Lets look at what it takes to do some of the things that an IDE normally does for you, and consider how some tools that work great outside of an IDE can help to make us less dependent on the large memory consuming software that we use to develop with. Remember how a lot of us learned how to code using a simple text editor and some command line tools? Well, those command line tools are still there and available for you to use in your scripts. A tool like guard can help to compile and test our code and growl will keep us notified of the current status of our build. There are lots of tricks that can be used for all languages from ruby on a Linux box to C# on Windows. There is a simple life outside of the IDE!

Links to the videos are provided for the demo slides.

This was originally presented at CodeMash v2.0.1.4 in Sandusky, Ohio on January 9, 2014

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Un-integrated Development Environment

  1. 1. JJ THE UN-INTEGRATED DEVELOPMENT ENVIRONMENT Joel Byler @joelbyler January 9, 2014 CodeMash 2.0.1.4 Kalihari Resort Sandusky, OH Monday, January 13, 14
  2. 2. WHO AM I? JOEL BYLER  Aspiring Software Craftsman  Organizer for Cleveland Ruby Brigade (aka CleRb)  Enterprise Java developer  Actively growing my Ruby and JavaScript skills Monday, January 13, 14
  3. 3. WHY DO WE USE AN IDE?  Syntax Highlighting  Code Completion  Refactoring Tools  Project Navigation  Debugger Monday, January 13, 14
  4. 4. ADDITIONAL THINGS AN IDE DOES  Build on Save  Run Tests  Deploy to Server  Dependency Management Monday, January 13, 14
  5. 5. THINGS AN IDE SHOULD NOT DO  Block you from saving  Make YOU wait!!!  Interact with social media 5 Monday, January 13, 14
  6. 6. WORKFLOW Install dependencies I want to know when the tests fail! Red Green Refactor I also want to know when the tests pass! Continuous integration Advice here is always helpful! 6 Monday, January 13, 14
  7. 7. WORKFLOW Should NOT require a specific IDE Should not require an IDE at all! DANGER: what happens when you depend too much on your IDE? 7 Monday, January 13, 14
  8. 8. DISCLAIMER During the course of this session we are going to see a number of tools for various different languages. I’m not claiming that any of these tools or techniques are great ideas but these exercises are intended to give you something to consider the next time you reach for your IDE and notice how many things it may be doing for you when you can do them yourself outside of the IDE. 8 Monday, January 13, 14
  9. 9. EASY TO REMEMBER? 6 “G”S Growl - notifications Guard - ruby Grunt - javascript Gradle - java Giles - .net auto tester Gendarme - .net code analysis 9 Monday, January 13, 14
  10. 10. RUBY  Dependency Management  bundler  Automated Tester  guard  Code Analysis  rubocop Monday, January 13, 14
  11. 11. BUNDLER=>DEPENDENCY MANAGEMENT RAKE => TASK RUNNER https://github.com/joelbyler/unintegrated_dev_env/raw/ master/media/BundleInstall.mov 11 Monday, January 13, 14
  12. 12. RUBOCOP=>CODE ANALYSIS https://github.com/joelbyler/unintegrated_dev_env/raw/ master/media/Rubocop.mov 12 Monday, January 13, 14
  13. 13. GUARD=>AUTOMATED TASK RUNNER https://github.com/joelbyler/unintegrated_dev_env/raw/ master/media/Guard.mov 13 Monday, January 13, 14
  14. 14. JAVASCRIPT  Dependency Management  npm  Automated Tester  grunt watch  Code Analysis  jshint Monday, January 13, 14
  15. 15. NPM=>DEPENDENCY MANAGEMENT https://github.com/joelbyler/unintegrated_dev_env/raw/ master/media/npm.mov 15 Monday, January 13, 14
  16. 16. GRUNT => TASK RUNNER JSHINT => CODE QUALITY ANALYSIS https://github.com/joelbyler/unintegrated_dev_env/raw/ master/media/Grunt.mov 16 Monday, January 13, 14
  17. 17. GRUNT WATCH=>AUTOMATED TASK RUNNER https://github.com/joelbyler/unintegrated_dev_env/raw/ master/media/GruntWatch.mov 17 Monday, January 13, 14
  18. 18. JAVA  Dependency Management  gradle dependencies { .. }  Automated Tester  guard (gradle is not there yet)  Code Analysis  gradle findbugsMain  Deploy [bonus]  gradle jettyRun Monday, January 13, 14
  19. 19. GRADLE => TASK RUNNER FINDBUGS => CODE ANALYSIS https://github.com/joelbyler/unintegrated_dev_env/raw/ master/media/Gradle.mov 19 Monday, January 13, 14
  20. 20. GUARD=>AUTOMATED TASK RUNNER https://github.com/joelbyler/unintegrated_dev_env/raw/ master/media/GuardJetty.mov 20 Monday, January 13, 14
  21. 21. C#  Dependency Management  Nuget  Automated Tester  Giles  Code Analysis  Gendarme Monday, January 13, 14
  22. 22. NUGET=>DEPENDENCY MANAGEMENT https://github.com/joelbyler/unintegrated_dev_env/raw/ master/media/nuget.mov 22 Monday, January 13, 14
  23. 23. GILES => AUTOMATED TASK RUNNER GENDARME => CODE ANALYSIS https://github.com/joelbyler/unintegrated_dev_env/raw/ master/media/GilesGenarme.mov 23 Monday, January 13, 14
  24. 24. RESOURCES Demo Source https://github.com/joelbyler/unintegrated_dev_env Ruby Rogues - Tool Sharpening http://rubyrogues.com/129-rr-sharpening-toolswith-ben-orenstein/ Ruby Resources http://guardgem.org/ http://bundler.io/ Monday, January 13, 14 JavaScript Resources http://gruntjs.com/ https://npmjs.org/
  25. 25. RESOURCES CONTINUED Java Resources http://www.gradle.org/ http://findbugs.sourceforge.net C# and Visual Studio Resources http://testergiles.herokuapp.com/ http://nuget.codeplex.com/ http://www.mono-project.com/Gendarme Monday, January 13, 14
  26. 26. THAT’S A WRAP! Joel Byler @joelbyler Monday, January 13, 14
  27. 27. COME FLOAT WITH US! Located on a 10,000 square foot boat on the Cleveland waterfront, our team exemplifies how Agile values & principles are practiced. Come float, deliver, and learn with us, or leverage our expertise to help you change your company culture. @leandog leandog.com GDI Monday, January 13, 14

×