◦If you lost Eclipse, could you still produce quality code? If Visual Studio or IntelliJ don't provide you with a specific tool, are you still able to use it comfortably? If you're troubled by these questions, don't worry because you are not the only one! Over the years, developers tend to forget their roots and grow overly comfortable with their IDE. But, it's not the IDE that makes us developers, it's our mad coding skills and software knowledge! In this session David will bring you back to the days where a text editor was just a text editor, and command line was king and go through creating, building, deploying an application without an IDE.
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
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!
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
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.
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
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
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/
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/
References
Vim - http://www.vim.org/download.php
Atom - https://atom.io/
VS Code - https://code.visualstudio.com/
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
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
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