SlideShare a Scribd company logo
1 of 45
Learning to
be
IDE Free
DAVID WESST
What are we doing?
David Wesst
The Point
The Point
Goals for Today
 Dissect and understand your IDE
 Understand what you "need" and what you "want" as a developer
 Show you some tools you might not have seen
 Create a dialogue about our tools of choice
Cross Platform Presentation
 Java
 Also applies to:
 JavaScript / NodeJS
 ASP.NET
 Many, many, others
The Toolbox
What is in the IDE?
 Source Control
 Code Editor
 Project Template
 Dependency Management
 Compilers
 Test Runner
 Deployment
My Tools
 Java JDK
 Atom
 Maven 3.3.3
 ConEmu+ Cygwin
 Git / CVS
 NodeJS / NPM
 azure-cli
Demo
WELCOME TO THE TERMINAL
Source
Controlling the Source
Git
SVN
Mercurial
TFS
…CVS
Demo
USE THE SOURCE  SHAMELESS STAR WARS PUN
Code
THE POWER OF AN EDITOR
Code Slinging
 VIM, Emacs,
 Atom.io, Visual Studio Code, Notepad++, jEdit
Code Slinging
 What should your editor do for you?
 <audience answers here>
Code Slinging
 What should your editor do for you?
 Syntax Highlighting
 Compiler Errors / Language Linter
 Simplify File Management
 Autocomplete
 Intellisense
 Source Control Management
 Improve Productivity and Understanding!
Demo
PICKING AND UNDERSTANDING AN EDITOR
Test / Build / Run
Project Templates & Dependencies
 Java
 Maven, Gradle
 JavaScript
 NPM (Server) & Bower (Client)
 Express, Ember-Cli, etc…
 .NET
 Nuget, Chocolately
 DNX (.NET eXecution Environment)
Project Templates & Dependencies
 Maven
 Project Templates with archetypes
 Basic Commands (clean install and test)
 Manages Dependencies Consistently(Installs and Downloads across
machines)
 Check notes for POM and command details
Project Templates & Dependencies
 Yeoman
 Generators for any type of project on any platform
 Java (Jhipster)
 .NET (aspnet, aspnetdnx, aspnetdnx2)
 JavaScript (angular-fullstack, express)
 You can even write your own!
Red Light / Green Light (Test)
 Testing Framework + Test Runner
 Java
 JUnit or TestNG + Maven
 JavaScript
 Jasmine / Mocha with Chai / Qunit + NPM
 .NET
 NUnit or MSTest + Test Runner
Red Light / Green Light (Test)
 Testing Framework + Test Runner
 Java
 JUnit or TestNG + Maven
 JavaScript
 Jasmine / Mocha with Chai / Qunit + NPM
 .NET
 NUnit or MSTest + Test Runner
Demo
MAVEN FOR FUN!
Plugins
MAKING DEVELOPMENT EASIER SINCE…FOREVER
Plugins
 “Plugins”
 a.k.a. packages, gems, extensions, etc…
 Executables or shortcuts to tools and/or scripts that make tools quicker
to access and use
 Make up the bulk of the power of an IDE
 Examples
 Eclipse -> Run
 Visual Studio -> F5
Plugins
 “Plugins”
 Tools should be understood and explored prior to use
 Do you know what you’re adding to the project?
 …or
 Are you actually adding anything to the project (unintended or
otherwise)?
Demo
MORE MAVEN-Y GOODNESS
The Point
Quick Recap
 If you can use it from the terminal, you can script it
 Script = Code
 Any Tool should enhance your developer skill, not dull them
 Ask the question:
 Am I adding something to the project (intentionally, or unintentionally)
Quick Recap
 Be comfortable with your terminal
 Source Control is _always_ a terminal solution
 Code Editor is nothing more than a Text Editor
 Templates and Dependencies can be managed with tools
 Which tool does your team use?
 Plugins are powerful
 Just don’t let them dull your skills
Goals for Today
 Dissect and understand your IDE
 Understand what you "need" and what you "want" as a developer
 Show you some tools you might not have seen
 Create a dialogue about our tools of choice
The Point
Call to Action
 Open up your terminal and give it a shot
 Identify what tools you and your team are using
 Can they be used from the command line (I bet they can)
 What does your IDE do for you other than edit code?
 Can you script your common project tasks?
 .sh, .cmd, or otherwise
The Point
 Know what your IDE can do
 Learn the tools themselves, not just how to open the toolbox
 Terminal / Basic Code Editor is a great way to start
 Become a cross-platform developer by applying your development
knowledge across platforms!
Who am I?
 David Wesst
 University of Manitoba, Application Developer
 Slides and Source Available Online

More Related Content

What's hot

The state of testing @ Microsoft
The state of testing @ MicrosoftThe state of testing @ Microsoft
The state of testing @ MicrosoftRobert MacLean
 
Visual Studio: The best tool for web developers.
Visual Studio: The best tool for web developers.Visual Studio: The best tool for web developers.
Visual Studio: The best tool for web developers.Robert MacLean
 
Zero cost serverless Real time web app
Zero cost serverless Real time web appZero cost serverless Real time web app
Zero cost serverless Real time web appBarcamp Saigon
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best PracticesBrad Frost
 
SharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFXSharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFXMark Rackley
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScriptKevin Whinnery
 
iOS development best practices
iOS development best practicesiOS development best practices
iOS development best practicesMichal Juhas
 
Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012Stephen Hay
 
Android development war stories
Android development war storiesAndroid development war stories
Android development war storiesLope Emano
 
Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)webdagene
 
Beg, Borrow or Steal: The Art of Flashing Without Flashing
Beg, Borrow or Steal: The Art of Flashing Without FlashingBeg, Borrow or Steal: The Art of Flashing Without Flashing
Beg, Borrow or Steal: The Art of Flashing Without Flashingspjwebster
 
Javascript State of the Union 2015 - English
Javascript State of the Union 2015 - EnglishJavascript State of the Union 2015 - English
Javascript State of the Union 2015 - EnglishHuge
 
Building a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKitBuilding a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKitBenjamin LUPU
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Stephen Hay
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with CypressApplitools
 
Building cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile ServicesBuilding cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile ServicesKevin DeRudder
 

What's hot (20)

The state of testing @ Microsoft
The state of testing @ MicrosoftThe state of testing @ Microsoft
The state of testing @ Microsoft
 
Visual Studio: The best tool for web developers.
Visual Studio: The best tool for web developers.Visual Studio: The best tool for web developers.
Visual Studio: The best tool for web developers.
 
Zero cost serverless Real time web app
Zero cost serverless Real time web appZero cost serverless Real time web app
Zero cost serverless Real time web app
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best Practices
 
SharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFXSharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFX
 
Windows 8
Windows 8Windows 8
Windows 8
 
Mercurial
MercurialMercurial
Mercurial
 
JavaScript Toolkit
JavaScript ToolkitJavaScript Toolkit
JavaScript Toolkit
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScript
 
iOS development best practices
iOS development best practicesiOS development best practices
iOS development best practices
 
Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012Responsive Design Workflow: Webshaped 2012
Responsive Design Workflow: Webshaped 2012
 
Android development war stories
Android development war storiesAndroid development war stories
Android development war stories
 
Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)Brad frost: Atomic design (Webdagene 2014)
Brad frost: Atomic design (Webdagene 2014)
 
Beg, Borrow or Steal: The Art of Flashing Without Flashing
Beg, Borrow or Steal: The Art of Flashing Without FlashingBeg, Borrow or Steal: The Art of Flashing Without Flashing
Beg, Borrow or Steal: The Art of Flashing Without Flashing
 
Javascript State of the Union 2015 - English
Javascript State of the Union 2015 - EnglishJavascript State of the Union 2015 - English
Javascript State of the Union 2015 - English
 
Building a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKitBuilding a mobile app connected to WordPress with WP-AppKit
Building a mobile app connected to WordPress with WP-AppKit
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012
 
Handle the error
Handle the errorHandle the error
Handle the error
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with Cypress
 
Building cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile ServicesBuilding cross platform applications using Windows Azure Mobile Services
Building cross platform applications using Windows Azure Mobile Services
 

Similar to Learning to be IDE Free (PrDC 2015)

Interactive Development Environments
Interactive Development EnvironmentsInteractive Development Environments
Interactive Development EnvironmentsPhilip Johnson
 
Novice Programmers Workshop
Novice Programmers WorkshopNovice Programmers Workshop
Novice Programmers WorkshopAlec Clews
 
Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Mikkel Flindt Heisterberg
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Mikkel Flindt Heisterberg
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Bhavin Javia
 
Class 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurshipClass 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurshipallanchao
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software DevelopmentZeeshan MIrza
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to ProductionKarthik Gaekwad
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presentedVijayan Reddy
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Mikkel Flindt Heisterberg
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Ryan Baxter
 
Steps to write Selenium
Steps to write Selenium  Steps to write Selenium
Steps to write Selenium Rohit Thakur
 
Building Scalable Development Environments
Building Scalable Development EnvironmentsBuilding Scalable Development Environments
Building Scalable Development EnvironmentsShahar Evron
 
iOS Development at Scale @Chegg
iOS Development at Scale @CheggiOS Development at Scale @Chegg
iOS Development at Scale @CheggGalOrlanczyk
 
Spring roo for entrepreneurs
Spring roo for entrepreneursSpring roo for entrepreneurs
Spring roo for entrepreneursMans Jug
 
Java Consulting tips for Beginners
Java Consulting tips for BeginnersJava Consulting tips for Beginners
Java Consulting tips for BeginnersSathish Chittibabu
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0Jasmine Conseil
 
Practices of agile developers
Practices of agile developersPractices of agile developers
Practices of agile developersDUONG Trong Tan
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldLorna Mitchell
 

Similar to Learning to be IDE Free (PrDC 2015) (20)

Interactive Development Environments
Interactive Development EnvironmentsInteractive Development Environments
Interactive Development Environments
 
Novice Programmers Workshop
Novice Programmers WorkshopNovice Programmers Workshop
Novice Programmers Workshop
 
Automated tests
Automated testsAutomated tests
Automated tests
 
Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...
 
Class 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurshipClass 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurship
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to Production
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
 
Steps to write Selenium
Steps to write Selenium  Steps to write Selenium
Steps to write Selenium
 
Building Scalable Development Environments
Building Scalable Development EnvironmentsBuilding Scalable Development Environments
Building Scalable Development Environments
 
iOS Development at Scale @Chegg
iOS Development at Scale @CheggiOS Development at Scale @Chegg
iOS Development at Scale @Chegg
 
Spring roo for entrepreneurs
Spring roo for entrepreneursSpring roo for entrepreneurs
Spring roo for entrepreneurs
 
Java Consulting tips for Beginners
Java Consulting tips for BeginnersJava Consulting tips for Beginners
Java Consulting tips for Beginners
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
Practices of agile developers
Practices of agile developersPractices of agile developers
Practices of agile developers
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 

Recently uploaded

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 

Recently uploaded (20)

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 

Learning to be IDE Free (PrDC 2015)

  • 2. What are we doing?
  • 3.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 12. Goals for Today  Dissect and understand your IDE  Understand what you "need" and what you "want" as a developer  Show you some tools you might not have seen  Create a dialogue about our tools of choice
  • 13. Cross Platform Presentation  Java  Also applies to:  JavaScript / NodeJS  ASP.NET  Many, many, others
  • 15. What is in the IDE?  Source Control  Code Editor  Project Template  Dependency Management  Compilers  Test Runner  Deployment
  • 16.
  • 17. My Tools  Java JDK  Atom  Maven 3.3.3  ConEmu+ Cygwin  Git / CVS  NodeJS / NPM  azure-cli
  • 21. Demo USE THE SOURCE  SHAMELESS STAR WARS PUN
  • 22. Code THE POWER OF AN EDITOR
  • 23. Code Slinging  VIM, Emacs,  Atom.io, Visual Studio Code, Notepad++, jEdit
  • 24. Code Slinging  What should your editor do for you?  <audience answers here>
  • 25. Code Slinging  What should your editor do for you?  Syntax Highlighting  Compiler Errors / Language Linter  Simplify File Management  Autocomplete  Intellisense  Source Control Management  Improve Productivity and Understanding!
  • 27. Test / Build / Run
  • 28. Project Templates & Dependencies  Java  Maven, Gradle  JavaScript  NPM (Server) & Bower (Client)  Express, Ember-Cli, etc…  .NET  Nuget, Chocolately  DNX (.NET eXecution Environment)
  • 29. Project Templates & Dependencies  Maven  Project Templates with archetypes  Basic Commands (clean install and test)  Manages Dependencies Consistently(Installs and Downloads across machines)  Check notes for POM and command details
  • 30. Project Templates & Dependencies  Yeoman  Generators for any type of project on any platform  Java (Jhipster)  .NET (aspnet, aspnetdnx, aspnetdnx2)  JavaScript (angular-fullstack, express)  You can even write your own!
  • 31. Red Light / Green Light (Test)  Testing Framework + Test Runner  Java  JUnit or TestNG + Maven  JavaScript  Jasmine / Mocha with Chai / Qunit + NPM  .NET  NUnit or MSTest + Test Runner
  • 32. Red Light / Green Light (Test)  Testing Framework + Test Runner  Java  JUnit or TestNG + Maven  JavaScript  Jasmine / Mocha with Chai / Qunit + NPM  .NET  NUnit or MSTest + Test Runner
  • 35. Plugins  “Plugins”  a.k.a. packages, gems, extensions, etc…  Executables or shortcuts to tools and/or scripts that make tools quicker to access and use  Make up the bulk of the power of an IDE  Examples  Eclipse -> Run  Visual Studio -> F5
  • 36. Plugins  “Plugins”  Tools should be understood and explored prior to use  Do you know what you’re adding to the project?  …or  Are you actually adding anything to the project (unintended or otherwise)?
  • 39. Quick Recap  If you can use it from the terminal, you can script it  Script = Code  Any Tool should enhance your developer skill, not dull them  Ask the question:  Am I adding something to the project (intentionally, or unintentionally)
  • 40. Quick Recap  Be comfortable with your terminal  Source Control is _always_ a terminal solution  Code Editor is nothing more than a Text Editor  Templates and Dependencies can be managed with tools  Which tool does your team use?  Plugins are powerful  Just don’t let them dull your skills
  • 41. Goals for Today  Dissect and understand your IDE  Understand what you "need" and what you "want" as a developer  Show you some tools you might not have seen  Create a dialogue about our tools of choice
  • 43. Call to Action  Open up your terminal and give it a shot  Identify what tools you and your team are using  Can they be used from the command line (I bet they can)  What does your IDE do for you other than edit code?  Can you script your common project tasks?  .sh, .cmd, or otherwise
  • 44. The Point  Know what your IDE can do  Learn the tools themselves, not just how to open the toolbox  Terminal / Basic Code Editor is a great way to start  Become a cross-platform developer by applying your development knowledge across platforms!
  • 45. Who am I?  David Wesst  University of Manitoba, Application Developer  Slides and Source Available Online

Editor's Notes

  1. It's not just knowing which wrench to use, but to know how to use the wrench, and where in the grand scheme you're supposed to use it.
  2. Introduction to Cygwin and ConEmu Basic commands, make up scripts. Scripts are programmable Node & NPM provide extra power that crosses platforms Azure cli Babel All major tools have foundation in the terminal
  3. CVS Init cvsrepo, create sandbox, checkout repo, add and commit file Git - Init repo (local), add a file, create second repo, pull and demonstrate checkout lock, add file and push to new branch, then merge in original
  4. References jEdit - http://www.jedit.org/index.php Vim - http://www.vim.org/download.php Atom - https://atom.io/ VS Code - https://code.visualstudio.com/
  5. References jEdit - http://www.jedit.org/index.php Vim - http://www.vim.org/download.php Atom - https://atom.io/ VS Code - https://code.visualstudio.com/
  6. References Vim - http://www.vim.org/download.php Atom - https://atom.io/ VS Code - https://code.visualstudio.com/
  7. Editing Code with Vim Move to Atom.io / Visual Studio Code for Ease of Use Talk about cross-platform usage and Visual Studio Code Check out plugins for Atom.io
  8. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">   <modelVersion>4.0.0</modelVersion>   <groupId>prdc</groupId>   <artifactId>dw-javawebapp</artifactId>   <packaging>war</packaging>   <version>1.0-SNAPSHOT</version>   <name>dw-javawebapp Maven Webapp</name>   <url>http://maven.apache.org</url>   <dependencies>     <dependency>       <groupId>junit</groupId>       <artifactId>junit</artifactId>       <version>3.8.1</version>       <scope>test</scope>     </dependency>   </dependencies>   <build>       <finalName>dw-javawebapp</finalName>       <plugins>           <plugin>               <groupId>org.apache.tomcat.maven</groupId>               <artifactId>tomcat7-maven-plugin</artifactId>               <version>2.2</version>           </plugin>       </plugins>   </build> </project>
  9. Reference: http://jhipster.github.io/installation.html
  10. http://maven.apache.org/surefire/maven-surefire-plugin/examples/junit.html
  11. http://maven.apache.org/surefire/maven-surefire-plugin/examples/junit.html
  12. mvn archetype:generate -DgroupId=ca.prdc -DartifactId=java-quickstart -DarchetypeArtifactId=maven-archetype-quickstart mvn clean install mvn test java -cp target/java-quickstart-1.0-SNAPSHOT.jar ca.prdc.App Generate an application Clean and Install Run Tests Package and Run
  13. mvn archetype:generate -DgroupId=ca.prdc -DartifactId=java-webapp -DarchetypeArtifactId=maven-archetype-webapp mvn clean install mvn tomcat7:run Generate a Tomcat Application Update the POM to include the Tomcat Runner Clean and run it Deploy to Tomcat instance