Learning to be IDE Free (PrDC 2015)
-
Upload
david-wesst -
Category
Software
-
view
410 -
download
3
Transcript of Learning to be IDE Free (PrDC 2015)
Learning to be
IDE FreeDAVID 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
DemoWELCOME TO THE TERMINAL
Source
Controlling the Source
Git
SVN
Mercurial
TFS
…CVS
DemoUSE THE SOURCE SHAMELESS STAR WARS PUN
CodeTHE 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!
DemoPICKING 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
DemoMAVEN FOR FUN!
PluginsMAKING 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)?
DemoMORE 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