SlideShare une entreprise Scribd logo
1  sur  24
JAVASCRIPT TOOLS OVERVIEW
Atlanta JavaScript Users Meeting
November 15, 2010
Scott Povlot
TOOLS
If you only have a hammer,
everything looks like a nail
TOOL COST
 Free!
 Low Cost
 Open Source
 Public Domain
 Shareware
TOOLS OVERVIEW
 Development
 Debug
 Deployment
DEVELOPMENT
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
BELOW BASIC
 Notepad.exe
 Features?
STEP UP
 Notepad++
 Syntax Highlighting
 Backup Save
 Auto Indent
 Plugin integration
 http://notepad-plus-plus.org/
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
INTEGRATED DEVELOPMENT ENVIRONMENT
(IDE)
 Integrated
 Project File Management
 FTP Deployment
 Source Code Version Control
 Web Server
 Syntax Highlighting
 Error Highlighting
 Code Completion
 Debug Integration
INTEGRATED DEVELOPMENT ENVIRONMENT
 Aptana Studio
 Eclipse Plugin
 http://www.aptana.com/
 NetBeans IDE
 http://netbeans.org/
 Komodo Edit
 http://www.activestate.com/komodo-edit
KOMODO EDIT
NETBEANS IDE
APTANA STUDIO
 Demo
DEBUG
DEBUG
 Mozilla Firefox
 Firebug
 Venkman
 IE 8
 Developer Tools
 Chrome/Safari
 Developer Tools
 JavaScript Console
 Other
 Firebug Lite
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
DEPLOYMENT
DEPLOYMENT
 Lint
 Minification
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/
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/
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;
}
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|docu
ment|return|Date|new|getElementById|getHours|getMinutes|innerHTML||10|t|txt|500
|if|setTimeout'.split('|'),0,{}))
 JSMin
function startTime()
{var today=new Date();var hour=today.getHours();var min=today.getMinutes();var
sec=today.getSeconds();min=checkTime(min);sec=checkTime(sec);document.getElemen
tById('txt').innerHTML=hour+":"+min+":"+sec;t=setTimeout('startTime()',500);}
function checkTime(i)
{if(i<10)
{i="0"+i;}
return i;}
 Google Closure Compiler
function startTime(){var a=new
Date,c=a.getHours(),b=a.getMinutes();a=a.getSeconds();b=checkTime(b);a=checkTim
e(a);document.getElementById("txt").innerHTML=c+":"+b+":"+a;t=setTimeout("start
Time()",500)}function checkTime(a){if(a<10)a="0"+a;return a};
QUESTIONS?
Scott Povlot
 Twitter: @spovlot
 Email: spovlot@yahoo.com

Contenu connexe

Tendances

Plugin Development for Beginners v.2019
Plugin Development for Beginners v.2019Plugin Development for Beginners v.2019
Plugin Development for Beginners v.2019Joe Cartonia
 
Web development tool
Web development toolWeb development tool
Web development toolDeep Bhavsar
 
Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)David Wesst
 
Lessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's AssLessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's AssKevin Whinnery
 
React Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive servicesReact Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive servicesFabio Biondi
 
Plugins 2.0: The Overview
Plugins 2.0: The OverviewPlugins 2.0: The Overview
Plugins 2.0: The Overviewmrdon
 
Windows 8 and Phone App Development
Windows 8 and Phone App DevelopmentWindows 8 and Phone App Development
Windows 8 and Phone App DevelopmentPaul Gower
 
Complete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour TechnolabComplete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour TechnolabiFour Technolab Pvt. Ltd.
 
How QCLean Works? Introduction to Browser Extensions
How QCLean Works? Introduction to Browser ExtensionsHow QCLean Works? Introduction to Browser Extensions
How QCLean Works? Introduction to Browser ExtensionsQing-Cheng Li
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScriptKevin Whinnery
 
Php development with Docker
Php development with DockerPhp development with Docker
Php development with DockerMichael Bui
 
Javascript
JavascriptJavascript
JavascriptSushma M
 
Whats New in Titanium 0.7
Whats New in Titanium 0.7Whats New in Titanium 0.7
Whats New in Titanium 0.7Kevin Whinnery
 
HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)Kevin Gill
 
Xdebug for Beginners
Xdebug for BeginnersXdebug for Beginners
Xdebug for BeginnersSean Prunka
 
Type Script Conceitos de ts para projetos front-end React - por ruben marcus
Type Script   Conceitos de ts para projetos front-end React - por ruben marcusType Script   Conceitos de ts para projetos front-end React - por ruben marcus
Type Script Conceitos de ts para projetos front-end React - por ruben marcusRuben Marcus Luz Paschoarelli
 

Tendances (20)

Plugin Development for Beginners v.2019
Plugin Development for Beginners v.2019Plugin Development for Beginners v.2019
Plugin Development for Beginners v.2019
 
Intro to HTML 5
Intro to HTML 5Intro to HTML 5
Intro to HTML 5
 
Titanium @ Minnebar
Titanium @ MinnebarTitanium @ Minnebar
Titanium @ Minnebar
 
Phalcon overview
Phalcon overviewPhalcon overview
Phalcon overview
 
Introduction to Java Scripting
Introduction to Java ScriptingIntroduction to Java Scripting
Introduction to Java Scripting
 
Web development tool
Web development toolWeb development tool
Web development tool
 
Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)
 
Lessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's AssLessons Learned From Applications That Kicked Titanium's Ass
Lessons Learned From Applications That Kicked Titanium's Ass
 
React Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive servicesReact Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive services
 
Plugins 2.0: The Overview
Plugins 2.0: The OverviewPlugins 2.0: The Overview
Plugins 2.0: The Overview
 
Windows 8 and Phone App Development
Windows 8 and Phone App DevelopmentWindows 8 and Phone App Development
Windows 8 and Phone App Development
 
Complete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour TechnolabComplete WPF Overview Tutorial with Example - iFour Technolab
Complete WPF Overview Tutorial with Example - iFour Technolab
 
How QCLean Works? Introduction to Browser Extensions
How QCLean Works? Introduction to Browser ExtensionsHow QCLean Works? Introduction to Browser Extensions
How QCLean Works? Introduction to Browser Extensions
 
Write Better JavaScript
Write Better JavaScriptWrite Better JavaScript
Write Better JavaScript
 
Php development with Docker
Php development with DockerPhp development with Docker
Php development with Docker
 
Javascript
JavascriptJavascript
Javascript
 
Whats New in Titanium 0.7
Whats New in Titanium 0.7Whats New in Titanium 0.7
Whats New in Titanium 0.7
 
HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)
 
Xdebug for Beginners
Xdebug for BeginnersXdebug for Beginners
Xdebug for Beginners
 
Type Script Conceitos de ts para projetos front-end React - por ruben marcus
Type Script   Conceitos de ts para projetos front-end React - por ruben marcusType Script   Conceitos de ts para projetos front-end React - por ruben marcus
Type Script Conceitos de ts para projetos front-end React - por ruben marcus
 

En vedette

Transfusion’s Campus PEP - Assessment & Examination
Transfusion’s Campus PEP - Assessment & ExaminationTransfusion’s Campus PEP - Assessment & Examination
Transfusion’s Campus PEP - Assessment & ExaminationTara Avataar
 
Camera shots
Camera shotsCamera shots
Camera shotsecsmedia
 
Camera shots
Camera shotsCamera shots
Camera shotsecsmedia
 
The doula advantage - in Russian
The doula advantage - in RussianThe doula advantage - in Russian
The doula advantage - in RussiandoulaSON
 
The doula advantage in Vietnamese
The doula advantage in VietnameseThe doula advantage in Vietnamese
The doula advantage in VietnamesedoulaSON
 
All about me
All about meAll about me
All about mephamth
 
Einstein science paper
Einstein science paperEinstein science paper
Einstein science papercwalrath
 
New Wine Fundamentals: Introduction
New Wine Fundamentals: IntroductionNew Wine Fundamentals: Introduction
New Wine Fundamentals: Introductiontimhanni
 
Dead man walking
Dead man walkingDead man walking
Dead man walkingecsmedia
 
Parts of a House
Parts of a HouseParts of a House
Parts of a Housensantaellav
 

En vedette (20)

mayerlinc
mayerlincmayerlinc
mayerlinc
 
upload test
upload testupload test
upload test
 
20031009 053-002
20031009 053-00220031009 053-002
20031009 053-002
 
Transfusion’s Campus PEP - Assessment & Examination
Transfusion’s Campus PEP - Assessment & ExaminationTransfusion’s Campus PEP - Assessment & Examination
Transfusion’s Campus PEP - Assessment & Examination
 
Camera shots
Camera shotsCamera shots
Camera shots
 
Camera shots
Camera shotsCamera shots
Camera shots
 
4 Інвестиційні можливості м. Вінниця - Володимир Гройсман (виступ)
4 Інвестиційні можливості м. Вінниця - Володимир Гройсман (виступ)4 Інвестиційні можливості м. Вінниця - Володимир Гройсман (виступ)
4 Інвестиційні можливості м. Вінниця - Володимир Гройсман (виступ)
 
The doula advantage - in Russian
The doula advantage - in RussianThe doula advantage - in Russian
The doula advantage - in Russian
 
Communication skills
Communication skillsCommunication skills
Communication skills
 
upload test
upload testupload test
upload test
 
The doula advantage in Vietnamese
The doula advantage in VietnameseThe doula advantage in Vietnamese
The doula advantage in Vietnamese
 
F 22[1]
F 22[1]F 22[1]
F 22[1]
 
All about me
All about meAll about me
All about me
 
Case Capriccio Pizzaria
Case Capriccio PizzariaCase Capriccio Pizzaria
Case Capriccio Pizzaria
 
Einstein science paper
Einstein science paperEinstein science paper
Einstein science paper
 
New Wine Fundamentals: Introduction
New Wine Fundamentals: IntroductionNew Wine Fundamentals: Introduction
New Wine Fundamentals: Introduction
 
Golf Holidays
Golf HolidaysGolf Holidays
Golf Holidays
 
Dead man walking
Dead man walkingDead man walking
Dead man walking
 
Photography
PhotographyPhotography
Photography
 
Parts of a House
Parts of a HouseParts of a House
Parts of a House
 

Similaire à JavaScript Tools Overview: Text Editors, IDEs, Debugging & Deployment

Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutionsAndrea Tino
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Webmasuland
 
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
 
Gwt and JSR 269's Pluggable Annotation Processing API
Gwt and JSR 269's Pluggable Annotation Processing APIGwt and JSR 269's Pluggable Annotation Processing API
Gwt and JSR 269's Pluggable Annotation Processing APIArnaud Tournier
 
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
 
JavaScript tools
JavaScript toolsJavaScript tools
JavaScript toolsHazem Saleh
 
Novice Programmers Workshop
Novice Programmers WorkshopNovice Programmers Workshop
Novice Programmers WorkshopAlec Clews
 
How and Why to extend Firefox
How and Why to extend FirefoxHow and Why to extend Firefox
How and Why to extend FirefoxGraham King
 
Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.Brent Noorda
 
.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques.NET Debugging Tips and Techniques
.NET Debugging Tips and TechniquesBala Subra
 
.Net Debugging Techniques
.Net Debugging Techniques.Net Debugging Techniques
.Net Debugging TechniquesBala Subra
 
API Doc Smackdown
API Doc SmackdownAPI Doc Smackdown
API Doc SmackdownTed Husted
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIRBuilding Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIRfunkatron
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | IntroductionJohnTaieb
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsTroy Miles
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13Fred Sauer
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Riaravinxg
 

Similaire à JavaScript Tools Overview: Text Editors, IDEs, Debugging & Deployment (20)

Powerful tools for building web solutions
Powerful tools for building web solutionsPowerful tools for building web solutions
Powerful tools for building web solutions
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
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...
 
Gwt and JSR 269's Pluggable Annotation Processing API
Gwt and JSR 269's Pluggable Annotation Processing APIGwt and JSR 269's Pluggable Annotation Processing API
Gwt and JSR 269's Pluggable Annotation Processing API
 
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)
 
Mashup Y! widget
Mashup Y! widgetMashup Y! widget
Mashup Y! widget
 
JavaScript tools
JavaScript toolsJavaScript tools
JavaScript tools
 
Novice Programmers Workshop
Novice Programmers WorkshopNovice Programmers Workshop
Novice Programmers Workshop
 
How and Why to extend Firefox
How and Why to extend FirefoxHow and Why to extend Firefox
How and Why to extend Firefox
 
Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.Java script anywhere. What Nombas was doing pre-acquisition.
Java script anywhere. What Nombas was doing pre-acquisition.
 
.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques
 
.Net Debugging Techniques
.Net Debugging Techniques.Net Debugging Techniques
.Net Debugging Techniques
 
API Doc Smackdown
API Doc SmackdownAPI Doc Smackdown
API Doc Smackdown
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIRBuilding Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIR
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Fewd week4 slides
Fewd week4 slidesFewd week4 slides
Fewd week4 slides
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Ria
 

Plus de Scott Povlot

Getting to know your users with RUM
Getting to know your users with RUMGetting to know your users with RUM
Getting to know your users with RUMScott Povlot
 
Scale Modeling using Sketchup
Scale Modeling using SketchupScale Modeling using Sketchup
Scale Modeling using SketchupScott Povlot
 
Scale signs handout
Scale signs handoutScale signs handout
Scale signs handoutScott Povlot
 
Scratchbuilding Signs
Scratchbuilding SignsScratchbuilding Signs
Scratchbuilding SignsScott Povlot
 

Plus de Scott Povlot (7)

Getting to know your users with RUM
Getting to know your users with RUMGetting to know your users with RUM
Getting to know your users with RUM
 
Sketchup Handout
Sketchup HandoutSketchup Handout
Sketchup Handout
 
Scale Modeling using Sketchup
Scale Modeling using SketchupScale Modeling using Sketchup
Scale Modeling using Sketchup
 
Scale signs handout
Scale signs handoutScale signs handout
Scale signs handout
 
Signs Handout
Signs HandoutSigns Handout
Signs Handout
 
Scratchbuilding Signs
Scratchbuilding SignsScratchbuilding Signs
Scratchbuilding Signs
 
Drupal Rules!
Drupal Rules!Drupal Rules!
Drupal Rules!
 

Dernier

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Dernier (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

JavaScript Tools Overview: Text Editors, IDEs, Debugging & Deployment

  • 1. JAVASCRIPT TOOLS OVERVIEW Atlanta JavaScript Users Meeting November 15, 2010 Scott Povlot
  • 2. TOOLS If you only have a hammer, everything looks like a nail
  • 3. TOOL COST  Free!  Low Cost  Open Source  Public Domain  Shareware
  • 4. TOOLS OVERVIEW  Development  Debug  Deployment
  • 6. 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
  • 8. STEP UP  Notepad++  Syntax Highlighting  Backup Save  Auto Indent  Plugin integration  http://notepad-plus-plus.org/
  • 9. 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
  • 10. INTEGRATED DEVELOPMENT ENVIRONMENT (IDE)  Integrated  Project File Management  FTP Deployment  Source Code Version Control  Web Server  Syntax Highlighting  Error Highlighting  Code Completion  Debug Integration
  • 11. INTEGRATED DEVELOPMENT ENVIRONMENT  Aptana Studio  Eclipse Plugin  http://www.aptana.com/  NetBeans IDE  http://netbeans.org/  Komodo Edit  http://www.activestate.com/komodo-edit
  • 15. DEBUG
  • 16. DEBUG  Mozilla Firefox  Firebug  Venkman  IE 8  Developer Tools  Chrome/Safari  Developer Tools  JavaScript Console  Other  Firebug Lite
  • 17. 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
  • 20. 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/
  • 21. 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/
  • 22. 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; }
  • 23. 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|docu ment|return|Date|new|getElementById|getHours|getMinutes|innerHTML||10|t|txt|500 |if|setTimeout'.split('|'),0,{}))  JSMin function startTime() {var today=new Date();var hour=today.getHours();var min=today.getMinutes();var sec=today.getSeconds();min=checkTime(min);sec=checkTime(sec);document.getElemen tById('txt').innerHTML=hour+":"+min+":"+sec;t=setTimeout('startTime()',500);} function checkTime(i) {if(i<10) {i="0"+i;} return i;}  Google Closure Compiler function startTime(){var a=new Date,c=a.getHours(),b=a.getMinutes();a=a.getSeconds();b=checkTime(b);a=checkTim e(a);document.getElementById("txt").innerHTML=c+":"+b+":"+a;t=setTimeout("start Time()",500)}function checkTime(a){if(a<10)a="0"+a;return a};
  • 24. QUESTIONS? Scott Povlot  Twitter: @spovlot  Email: spovlot@yahoo.com