By nature I always strive to find more efficient, and better ways to
perform tasks. There are a number of development tools that I use that
really help me develop better applications in a reduced amount of time.
These are the tools I use every day for web development.
Cheat Sheets:
1.) DZone has created professional Cheat Sheets
for a number of PHP, and web development topics. These can save a ton
of time from digging into a manual or doing a search online. These
aren’t by any means the only cheat sheets out there, but you will find
PHP, MySQL, XML, ASP, Java, Design Patterns, Joomla, and about 50 more
easy to read, well designed cheat sheets.
IDE:
2.) NetBeans is an IDE that stands out above all others. It’s completely free. It offers a built-in FTP client (Far superior to Dreamweaver)
or supports subversion publishing. It is very small, fast, and has many
built-in features that help create better code, more efficiently.
Netbeans is hands down the best IDE, with the fewest bugs (Not
completely bug free), and virtually no learning curve (Try that
Eclipse…), that I’ve used.
If you are holding on to Dreamweaver because of the FTP, or some
other function that Eclipse PDE or Zend Studio is lacking, I urge you to
take a look at Netbeans. When I’m not using SVN, I can save the file
I’m working on and it is automatically uploaded to the web or testing
server. Try it, you won’t be disappointed.
Database Management:
3.) Navicat is
by far the best database GUI, and my experience the best tool for
database management on the market. Premiumsoft offers MySQL, PostgreSQL,
Oracle versions, and now a single package that includes all three.
Navicat provides an intelligent and efficient way to create, backup, and
manage complex MySQL databases. It allows multiple methods of
connecting, including a SSH tunnel, which protects your database from
being accessed publicly. Apart from a good IDE, this is the #1 tool in
my development toolbox. Navicat also offers a custom report building application,
which can export data into Excel, Access, Text, XML, Lotus 123, or
through an ODBC connection. This software is not free but they do offer a
free 30 day trial. If you do a lot of database management, this
software will probably pay for itself in time the first week you use it.
4.) Monyog is a
fantastic real-time MySQL reporting program. It offers visual graphs of
a database’s performance, and stats on just about everything that can
be measured in MySQL. It is an excellent way to monitor a Database and
is indispensable for benchmarking and optimizing MySQL performance.
5.) MySQL Workbench
is a free MySQL development program which can create visual diagrams of
a database’s structure, among many other features. This can be very
important when you are working with large or just new databases. A
picture can be worth much more than a thousand words when you are diving
into a complex database.
Here’s a diagram of a moderately complex database, which could take a
lot of time to understand without anything but the table structure.
6.) SQL Code Formatter
is a quick tool that formats SQL code into an easy to read format. This
tool can be indispensable when you are debugging other developers code,
or trying to break-down a massive jumbled SQL statement.
Turn junk like this:
SELECT users.id, users.name, users.address, billing.order_num, billing.subtotal, billing.shipping, billing.tax, SUM(billing.subtotal + billing.shipping + billing.tax) AS total FROM users LEFT JOIN billing ON users.id = billing.user_id WHERE billing.order_date > ’2009-07-31′ AND billing.complete = ’1′
SELECT users.id, users.name, users.address, billing.order_num, billing.subtotal, billing.shipping, billing.tax, SUM(billing.subtotal + billing.shipping + billing.tax) AS total FROM users LEFT JOIN billing ON users.id = billing.user_id WHERE billing.order_date > ’2009-07-31′ AND billing.complete = ’1′
Into this (example query may not make any sense):
[sql]
SELECT users.id,
users.name,
users.address,
billing.order_num,
billing.subtotal,
billing.shipping,
billing.tax,
Sum(billing.subtotal + billing.shipping + billing.tax) AS total
FROM users
LEFT JOIN billing
ON users.id = billing.user_id
WHERE billing.order_date > ’2009-07-31′
AND billing.complete = ’1′
[/sql]
[sql]
SELECT users.id,
users.name,
users.address,
billing.order_num,
billing.subtotal,
billing.shipping,
billing.tax,
Sum(billing.subtotal + billing.shipping + billing.tax) AS total
FROM users
LEFT JOIN billing
ON users.id = billing.user_id
WHERE billing.order_date > ’2009-07-31′
AND billing.complete = ’1′
[/sql]
Debugging:
7.) HTML Validator
is a Firefox Plugin that provides an instant status of a page’s w3c
validation as you browse. It also replaces Firefox’s built-in source
view, with an intuitive and significantly improved interface. This is
one of the best tools out for quickly finding problems with a site’s
(x)html structure.
8.) Firebug is
an outstanding debugging program that provides a ton of information
about structure, scripts, and problems. Firebug is an amazing tool, but
can be quite complex, which is why I also use the HTML Validator plugin.
Version Control:
9.) Git is a
very fast version control system, that supports quick branching,
merging, and development capabilities. There are a number of public GIT
hosting sites such as github that allow developers to publish and collaborate on their projects.
Git gives each developer a local copy of the entire development history, and changes are copied from one such repository to another. These changes are imported as additional development branches, and can be merged in the same way as a locally developed branch.
10.) Subversion
or SVN is another version control system, ironically despised by the
creator of GIT, but is very commonly used and should be in any
programmers repertoire. It is currently one of the most popular version
control methods, and works with just about any platform.
11.) WinMerge is a
fast file comparison program for Windows. It allows the user to quickly
compare 2 files, and merge or edit as needed. This is by no means a
version control method, but can quickly help determine differences
between 2 documents.
Graphics:
12.) ColorZilla
is a very fast color picker plugin for Firefox. When you need to get a
color from a website, ColorZilla is probably the quickest way to do it.
Not only will it show the HEX color code, but it shows the RGB values,
and exactly what element is using the color. If you ever take on an
existing website for further development it can be invaluable in
breaking down somebody’s poorly designed css stylesheets.
13.) Color Scheme Designer
is a no BS way to create compatible, attractive color schemes for
websites, and user interfaces. There are dozens of color scheme
generators out there, but this one does what is needed efficiently, for
free, and without any extra fluff. Several pre-defined color patters are
a click away, and you can see quick examples of a web page using the
color schema that you’ve generated.
14.) X-Lite is a free VOIP Softphone application. It offers all the features that a very advanced phone would have, including video.
In a world where many people have forgotten what a phone is, this is
the perfect compromise. You can get a Plantronics headset and USB
adapter, a low cost VOIP service, and have unlimited calling anywhere in
the US, and possibly the world, as long as you have an internet
connection. Don’t ignore the good old fashion telephone. Businesses
still use these things…
15.) Trillian
is a great way to combine all of your IM clients into a single,
light-weight app. This program can free up a considerable amount of
system resources compared to running multiple IM clients at the same
time. It also lets you access all of your IM contacts through a single
interface.
Miscellaneous:
16.) ScreenGrab is a screen capturing program that’s slightly better than the “Prnt Scrn” button on your keyboard. It can either copy or save a capture to a PNG file. It allows capturing a complete page (including below the fold),
only the visible portion of a screen, by selection, or the entire
window. The only drawback is that it only works within Firefox. Any
screen captures you see on this or my other blogs are done with
ScreenGrab.
17.) Roboform
is a username/password management program, and is the most important
browser add-on that I use. I currently have over 2,000 website profiles
stored in it (One of many pages shown in the image), every one with a very secure and unique password like “fz96Dr%PpaZjaBfk“.
It supports a variety of very advanced features and configurations to help keep your login credentials secure and easy to use.
You can download a free trial here.
18.) SUN Virtualbox
is the best virtual computer deployment package that I’ve come across.
It installs on a number of host operating systems, not just Linux, and
supports just about every OS on the market for Virtual Appliances. It is
extremely easy to install, is very efficient, and can be customized as
required. Virtual hosts can easily be backed up, or cloned and
distributed.
If you’ve been afraid of exploring into Virtualization, I highly
recommend looking at Virtualbox. There are so many benefits to this sort
of technology, it’s something that every developer should be familiar
with.
19.) Ultramon is
a multi-monitor taskbar program. unfortunately Windows XP does not
include for multiple taskbars if you multiple monitors. Ultramon fixes
this in a fast, predictable manner, and includes many additional
features such as desktop back ground stretching. Ultramon is not free
but is far superior to the free multi-taskbar products that are
available.
20.) PDF Creator
is a PDF printing application. It allows printing any file directly
into a PDF. If you don’t need the ability to edit existing PDF
documents, this is an excellent alternative to purchasing any other PDF
software.
Let me know if you’ve got your own set of essential tools that help in your development.