javascript tools overview

24
JAVASCRIPT TOOLS OVERVIEW Atlanta JavaScript Users Meeting November 15, 2010 Scott Povlot

Upload: scott-povlot

Post on 12-May-2015

1.803 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: JavaScript Tools Overview

JAVASCRIPT TOOLS OVERVIEW

Atlanta JavaScript Users Meeting

November 15, 2010

Scott Povlot

Page 2: JavaScript Tools Overview

TOOLS

If you only have a hammer, everything looks like a nail

Page 3: JavaScript Tools Overview

TOOL COST

Free! Low Cost

Open Source Public Domain Shareware

Page 4: JavaScript Tools Overview

TOOLS OVERVIEW

Development Debug Deployment

Page 5: JavaScript Tools Overview

DEVELOPMENT

Page 6: JavaScript Tools Overview

DEVELOPMENT

Write JavaScript code As quickly and efficiently as possible

Edit HTML and CSS At least for reference purposes

Reference Javascript Documentation Core language documentation Jquery or other library documentation

Page 7: JavaScript Tools Overview

BELOW BASIC

Notepad.exe

Features?

Page 8: JavaScript Tools Overview

STEP UP

Notepad++ Syntax Highlighting Backup Save Auto Indent Plugin integration

http://notepad-plus-plus.org/

Page 9: JavaScript Tools Overview

OTHER ADVANCED TEXT EDITORS

Microsoft Windows PSPad

http://www.pspad.com/ TextPad

http://www.textpad.com/

Apple Mac TextMate

http://macromates.com/

Cross Platform (Unix, Linux, Mac, Win) vi/Vim Emacs

Page 10: JavaScript Tools Overview

INTEGRATED DEVELOPMENT ENVIRONMENT (IDE)

Integrated Project File Management FTP Deployment Source Code Version Control Web Server

Syntax Highlighting Error Highlighting Code Completion Debug Integration

Page 11: JavaScript Tools Overview

INTEGRATED DEVELOPMENT ENVIRONMENT

Aptana Studio Eclipse Plugin http://www.aptana.com/

NetBeans IDE http://netbeans.org/

Komodo Edit http://www.activestate.com/komodo-edit

Page 12: JavaScript Tools Overview

KOMODO EDIT

Page 13: JavaScript Tools Overview

NETBEANS IDE

Page 14: JavaScript Tools Overview

APTANA STUDIO

Demo

Page 15: JavaScript Tools Overview

DEBUG

Page 16: JavaScript Tools Overview

DEBUG

Mozilla Firefox Firebug Venkman

IE 8 Developer Tools

Chrome/Safari Developer Tools JavaScript Console

Other Firebug Lite

Page 17: JavaScript Tools Overview

DEBUG

Firebug http://getfirebug.com/

Features Inspect and edit HTML Tweak CSS to perfection Monitor network activity Debug and profile JavaScript Explore the DOM Execute JavaScript on the fly Logging for JavaScript

Page 18: JavaScript Tools Overview

DEPLOYMENT

Page 19: JavaScript Tools Overview

DEPLOYMENT

Lint Minification

Page 20: JavaScript Tools Overview

LINT

What is JSLint? JSLint is a JavaScript program that looks for problems in

JavaScript programs. It is a code quality tool. JSLint is a JavaScript syntax checker and validator.

JavaScript is a sloppy language, but inside it there is an elegant, better language. JSLint helps you to program in that better language and to avoid most of the slop.

Warning!JSLint will hurt your feelings.

JSLint http://www.jslint.com/

JavaScript Lint http://www.javascriptlint.com/

Google Closure Linter http://code.google.com/closure/utilities/

Page 21: JavaScript Tools Overview

MINIFICATION

Douglas Crockford’s JSMin http://www.crockford.com/javascript/jsmin.html

Dean Edward’s Packer http://dean.edwards.name/packer/

Online Javascript Minifier http://jscompress.com/

Google Closure Compiler http://code.google.com/closure/compiler/

YUI Compressor http://developer.yahoo.com/yui/compressor/

Dojo ShrinkSafe http://shrinksafe.dojotoolkit.org/

Page 22: JavaScript Tools Overview

SAMPLE JAVASCRIPT

/**

* Start Timer and update it every 1/2 second

* Update the 'txt' HTML element

*/

function startTime()

{

var today=new Date();

var hour=today.getHours();

var min=today.getMinutes();

var sec=today.getSeconds();

// add a zero in front of numbers<10

min=checkTime(min);

sec=checkTime(sec);

document.getElementById('txt').innerHTML=hour + ":" + min

+ ":" + sec;

t=setTimeout('startTime()',50);

}

/**

* Check time and add zero in from of needed

* @param {integer} i The time to be formatted

*/

function checkTime(i)

{

if (i<10)

{

i="0" + i;

}

return i;

}

Page 23: JavaScript Tools Overview

MINIFIED JAVASCRIPT

Packer (Dean Edwards)eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('8 6(){2 1=d c();2 7=1.f();2 4=1.g();2 3=1.9();4=5(4);3=5(3);a.e(\'l\').h=7+":"+4+":"+3;k=o(\'6()\',m)}8 5(i){n(i<j){i="0"+i}b i}',25,25,'|today|var|sec|min|checkTime|startTime|hour|function|getSeconds|document|return|Date|new|getElementById|getHours|getMinutes|innerHTML||10|t|txt|500|if|setTimeout'.split('|'),0,{}))

JSMinfunction startTime(){var today=new Date();var hour=today.getHours();var min=today.getMinutes();var sec=today.getSeconds();min=checkTime(min);sec=checkTime(sec);document.getElementById('txt').innerHTML=hour+":"+min+":"+sec;t=setTimeout('startTime()',500);}function checkTime(i){if(i<10){i="0"+i;}return i;}

Google Closure Compilerfunction startTime(){var a=new Date,c=a.getHours(),b=a.getMinutes();a=a.getSeconds();b=checkTime(b);a=checkTime(a);document.getElementById("txt").innerHTML=c+":"+b+":"+a;t=setTimeout("startTime()",500)}function checkTime(a){if(a<10)a="0"+a;return a};

Page 24: JavaScript Tools Overview

QUESTIONS?

Scott Povlot Twitter: @spovlot Email: [email protected]