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

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Recently uploaded (20)

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 

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