Learning to be IDE Free (PrDC 2015)

45
Learning to be IDE Free DAVID WESST

Transcript of Learning to be IDE Free (PrDC 2015)

Page 1: Learning to be IDE Free (PrDC 2015)

Learning to be

IDE FreeDAVID WESST

Page 2: Learning to be IDE Free (PrDC 2015)

What are we doing?

Page 3: Learning to be IDE Free (PrDC 2015)
Page 4: Learning to be IDE Free (PrDC 2015)

David Wesst

Page 5: Learning to be IDE Free (PrDC 2015)
Page 6: Learning to be IDE Free (PrDC 2015)
Page 7: Learning to be IDE Free (PrDC 2015)
Page 8: Learning to be IDE Free (PrDC 2015)
Page 9: Learning to be IDE Free (PrDC 2015)
Page 10: Learning to be IDE Free (PrDC 2015)

The Point

Page 11: Learning to be IDE Free (PrDC 2015)

The Point

Page 12: Learning to be IDE Free (PrDC 2015)

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

Page 13: Learning to be IDE Free (PrDC 2015)

Cross Platform Presentation

Java

Also applies to:

JavaScript / NodeJS

ASP.NET

Many, many, others

Page 14: Learning to be IDE Free (PrDC 2015)

The Toolbox

Page 15: Learning to be IDE Free (PrDC 2015)

What is in the IDE?

Source Control

Code Editor

Project Template

Dependency Management

Compilers

Test Runner

Deployment

Page 16: Learning to be IDE Free (PrDC 2015)
Page 17: Learning to be IDE Free (PrDC 2015)

My Tools

Java JDK

Atom

Maven 3.3.3

ConEmu+ Cygwin

Git / CVS

NodeJS / NPM

azure-cli

Page 18: Learning to be IDE Free (PrDC 2015)

DemoWELCOME TO THE TERMINAL

Page 19: Learning to be IDE Free (PrDC 2015)

Source

Page 20: Learning to be IDE Free (PrDC 2015)

Controlling the Source

Git

SVN

Mercurial

TFS

…CVS

Page 21: Learning to be IDE Free (PrDC 2015)

DemoUSE THE SOURCE SHAMELESS STAR WARS PUN

Page 22: Learning to be IDE Free (PrDC 2015)

CodeTHE POWER OF AN EDITOR

Page 23: Learning to be IDE Free (PrDC 2015)

Code Slinging

VIM, Emacs,

Atom.io, Visual Studio Code, Notepad++, jEdit

Page 24: Learning to be IDE Free (PrDC 2015)

Code Slinging

What should your editor do for you?

<audience answers here>

Page 25: Learning to be IDE Free (PrDC 2015)

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!

Page 26: Learning to be IDE Free (PrDC 2015)

DemoPICKING AND UNDERSTANDING AN EDITOR

Page 27: Learning to be IDE Free (PrDC 2015)

Test / Build / Run

Page 28: Learning to be IDE Free (PrDC 2015)

Project Templates & Dependencies

Java

Maven, Gradle

JavaScript

NPM (Server) & Bower (Client)

Express, Ember-Cli, etc…

.NET

Nuget, Chocolately

DNX (.NET eXecution Environment)

Page 29: Learning to be IDE Free (PrDC 2015)

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

Page 30: Learning to be IDE Free (PrDC 2015)

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!

Page 31: Learning to be IDE Free (PrDC 2015)

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

Page 32: Learning to be IDE Free (PrDC 2015)

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

Page 33: Learning to be IDE Free (PrDC 2015)

DemoMAVEN FOR FUN!

Page 34: Learning to be IDE Free (PrDC 2015)

PluginsMAKING DEVELOPMENT EASIER SINCE…FOREVER

Page 35: Learning to be IDE Free (PrDC 2015)

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

Page 36: Learning to be IDE Free (PrDC 2015)

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)?

Page 37: Learning to be IDE Free (PrDC 2015)

DemoMORE MAVEN-Y GOODNESS

Page 38: Learning to be IDE Free (PrDC 2015)

The Point

Page 39: Learning to be IDE Free (PrDC 2015)

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)

Page 40: Learning to be IDE Free (PrDC 2015)

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

Page 41: Learning to be IDE Free (PrDC 2015)

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

Page 42: Learning to be IDE Free (PrDC 2015)

The Point

Page 43: Learning to be IDE Free (PrDC 2015)

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

Page 44: Learning to be IDE Free (PrDC 2015)

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!

Page 45: Learning to be IDE Free (PrDC 2015)

Who am I?

David Wesst

University of Manitoba, Application Developer

Slides and Source Available Online