20 tools for web application development

Oct
21

by
Stephen

20 tools for web application development

One of the main reasons we started the One Month App is because people always seem to be interested in our development process. One of the aspects of our development process is naturally the software and tools we use. The following is a list of the tools that we have used on this project and others, covering our full technology stack that includes desktop, hosted and server applications. We would be very interested to hear about any tools that you use in your development process as well.

Ruby On Rails

Ruby on RailsRails is an open-source web application framework that is geared towards developer happiness and sustainable productivity. This is currently our preferred framework and we have been using it for the past couple of years.

Textmate

Textmate iconTextmate is a text editor for Mac OS X. I found this editor a few years ago. Soon after that, I started seeing it used in a lot of screencasts that showcased various web development technologies. It appears like a simple editor, but it packs a lot of useful features under the hood.

Skedit

Skedit iconSkedit is another text editor for Mac OS X. We'd argue that Skedit is more designer friendly than Textmate because some of it's default features sets such as special characters helpers and remote file capability. Skedit makes writing clean markup a breeze for a web designer.

Adobe Creative Suite

AdobeA standard suite of software for any designer, we use Adobe Creative Suite for everything from design mockups to slicing up graphics for the web.

SnapNDrag

SnapNDrag iconA very simple piece of software for Mac OS X that allows you to take screen captures and simply drag them from the software to another piece of software (such as Adobe Photoshop). This is great when you are considering a UI change and you want to take a quick screenshot, pull it into Photoshop, and make a quick mock-up.

Parallels

Parallels iconParallels is an essential tool for allowing cross platform/browser development. We use this as we are testing our web applications in various web browsers and platforms.

Firebug

Firebug iconFirebug is a plug-in for Firefox that has many web development tools. The main use that I have for it is the inspect feature. This allows me to inspect the HTML at any time including after AJAX calls have taken place.

Basecamp

Basecamp iconWe use Basecamp to communicate and collaborate on all of our projects. It allows us to set up a schedule with milestones and keep our messages and to-dos all in one spot.

Lighthouse

LighthouseLighthouse was developed by our friends at Active Reload. It's a reasonably priced web based hosted tool for dealing with bug/issue tracking in software projects.

Subversion

SubversionSubversion is an open-source revision control system. I'm not really sure how we developed websites without using subversion in the past. What I do know is that I do not want to go back. Not only does subversion keep track of our revisions and protects us while multiple people are working on the same things, but it is also the reason that I hardly ever open up an FTP client. Sorry Transmit, I still love you.

Warehouse

WarehouseWarehouse was also developed by Active Reload. It is a web based tool that lets you browse through your subversion repositories. Unlike Lighthouse, you can install this software on a server of your choice.

Terminal

Terminal iconTerminal is my second most used application. I use it while working in my local environment as well as interfacing with our servers. I have always liked Linux over Windows, but I felt that some of the user experience was a bit lacking. When OSX came around with its BSD foundation a lot of us web developers started making the switch. It has great user experience, but you can open up the terminal and feel at home.

Incubator

Incubator iconI found this great piece of software about 3 years ago when it was known as pyramid. We use it for all sorts of various tasks that require organizing thoughts.

SQLEditor

SQLEditor iconI have been lightly searching for a simple Entity Relationship Diagram (ERD) tool that was native to OSX for the past few years. This is a tool that I found when I started this project. It certainly fits what I am looking for.

MySQL

MySQLMySQL is an open-source database that we use for most of our web applications. Another great package that we occasionally use is PostgreSQL.

MySQL Query Browser

MySQL Query Browser icon MySQL Query Browser is a GUI application to help you take a quick glance at your queries. With features that allow you to save and bookmark queries, as well as built-in documentation on the available features of MySQL, this tool makes developing and working with schemas an easy process.

Linux

Linux iconLinux has been my preferred server operating system for nearly a decade or as long as I've been developing web applications. All of the tools that I use are at home on this platform.

Mongrel & Mongrel Cluster

Mongrel is a fast HTTP server for Ruby applications. Mongrel Cluster is a GemPlugin that wraps the mongrel HTTP server and simplifies the deployment of web applications using a cluster of Mongrel servers. Mongrel Cluster will conveniently configure and control several Mongrel servers, or groups of Mongrel servers, which are then load balanced using a reverse proxy solution.

Nginx

NginxNginx is a lightweight HTTP server that we use as a reverse proxy for our Mongrel Cluster. It also serves up our static and cached files.

Monit

Monit is a utility for managing and monitoring, processes, files, directories and devices on a UNIX system. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations. We mostly use monit to keep track of our Mongrel processes. If one fails or starts using too much ram, it will automatically restart it.

69

Comments

Oct
22

Elmer Thomas

For those who prefer PHP (particularly PHP5), I suggest www.symfony-project.org. A team of two programmers working part-time created www.ThemBid.com in around two months. And it was our first time using the framework, though we are experienced PHP developers.

Oct
22

mark hearne

What do you use for FTP?

Oct
22

Nate Klaiber

@Elmer
Symfony is an excellent PHP framework, and is getting more exposure from big players like Yahoo, who just re-built delicious bookmarking using the framework. It's a toss up between that and Cake, but both are excellent frameworks.

@mark
We use SVN for management of our projects, but those cases where we do have to use FTP we use Transmit.

Oct
22

Nico du Plessis

I use Transmit for FTP as well. It is a brilliant FTP client with a lot of great features like SFTP for copying files via SSH, etc. Well worth the money

Oct
22

Jose Manuel Molina

I see here lots (and lots, and lots, and lots of commercial and not free) (as in freedom) software.

It's not a good list, I don't understand how it got its way to the top of digg.com

Oct
22

FiZ

Is it just me, or was this a little odd to read all the OSX-specific tools and software and then find Linux on the list for a development platform?

Oct
22

wayne

fireFTP - https://addons.mozilla.org/en-US/firefox/addon/684/

Oct
22

Salaman

"What do you use for FTP?"

http://nolobe.com/interarchy FTW.

Oct
22

Paul hammant

what about selenium for functional testing?

click thru to selenium site

Oct
22

Patrick Burt

Cyberduck is free, but not good. It crashes often and asks for money.

Oct
22

Noah Kronemeyer

I prefer the PHP Framework, CodeIgniter (http://codeigniter.com/). It's light-weight, and clearly documented. Something I found lacking in cakePHP. Cheers!

Oct
22

Nate Klaiber

@Jose Manuel Molina
While there are some free apps up there, we believe you have to have the professional tools of the trade to get your tasks done. Thats like saying we could design everything in Microsoft Paint instead of buying Photoshop. The software we use is well worth the money.

@FiZ
I guess I fail to see the humor. It's the same as Window's devs deploying to a Linux box (which I know of many). Just because we deploy and prefer Linux as our server environment, doesn't means we have to develop on it. I think it is safe to say that everyone who has their site hosted on a Linux box is not developing directly (or indirectly) from a Linux machine.

Seems like a poor assumption.

@wayne
I have used FireFTP in the past. It wasn't bad - but not quite as robust as Transmit. But - you have to use the tools that work for you. Thanks for adding to the list of useful tools.

Oct
22

Eric R

Of course there is also Coda from Panic (the Transmit guys). It is a kick ass html+css editor and has ftp built right in, too.

Jose, what is wrong with commercial software? I prefer commercial software 99% of the time because it tends to be higher quality plus people certainly deserve to be compensated for their hard work. People need food and shelter after all and those aren't free (unless you are using an open access point from inside a dumpster behind a restaurant).

Oct
22

mliving

i hardly think designers MUST have Adobe's over-priced Creative Suite to create web graphics.

Corel Draw X3 has everything (practical) that Adobe's Creative Suite has for a hell of a lot less than Adobe's $2000 plus!

Oct
22

Eddie

Have you guys ever given Fusebox a try? It is a procedural framework originally developed for ColdFusion. I've used it for years and found it extremely efficient. That being said, I don't think Fusebox defines the breakpoint between designer and developer as well as Ruby on Rails.

Also, I recently happened upon Prado, a component-based and event-driven framework. It looks like a pretty sweet deal, especially if you've ever written desktop-based applications for Windows or Mac.

Oct
22

Prank Videos

ROR has an outstanding scalable platform open for developers. It's the future trend of web 2.0

Oct
22

Gijs

Subversion is nice, especially its Trac integration (http://trac.edgewall.org/).
Yet decentralized scm systems are becoming more and more popular. You might want to check out Mercurial (http://www.selenic.com/mercurial/wiki/) or Git (http://git.or.cz/) or Darcs (http://darcs.net/).

Oct
22

Ben McNelly

I understand that mac has that useable feel to it, but the one things that keeps most designers on a mac/win platform is that some of our most essential tools (adobe, I am looking at you) are not on linux yet. As far as asthetics go, linux has joined/surpassed the "prety os" group - and like you said, there is somthing at home about that console :-)

To sum up.. The reason Why I have 2 boxes instead of one for development, is because mainstream software companies are not developing fo it.. Facts are, if adobe was available fur linux, i would buy it.

Oct
22

Nate Klaiber

@Ben
I would agree. I have linux installed via Parallels on my development machine (OSX). I love Linux, it just lacks some of the extra software that would be nice to have. That doesn't make it poor as a development environment - it just makes it less appealing to some.

Oct
22

Chris

Excellent list. Found a few on there that I wasn't using and will give them a try.

For those who are looking for a good SFTP/FTP client, ForkLift has been great. It's rather new and it took me a while before I was able to switch over from Transmit ... rather glad I did though.

Keep up the great posts!

Oct
22

Guidouil

I'm develloping under Windows, I use linux as server but I still like to have a windows under the hand.
For me the best tools are the one you use. As simple as that !
I mean if your are good atphotoshop, go and use it. IMHO I prefer Paint Shop pro, some of my friend say The Gimp is the only way, some other say Paint.net is suffisant..
I would say "who the F.. cares ?" if you like to use this tool, than use it.
And for pure coding I use Notepad++ for qwick (and durty) fix and eclipse or zend framework for the long run... my best framework would be CakePHP (portage of rails philosophy in PHP) but that is only my own opinion.

but eh ! it's a free world mate :)
THE BEST TOOL IS THE ONE YOU CHOOSE FOR YOURSELF !

btw, excuse my poor english, I'm french

Oct
22

Technoslacker

This list is definitely geared to the Mac developer. Pretty useless for what I would imagine 80% of web developers.

Oct
22

Wim Leers

I'm missing something: Drupal! It's a CMF (F for framework), with lots of modules already available. It's got built-in forums, statistics, the ability to build any content type you want using various fields, CSS aggregation (and JS aggregation in the upcoming Drupal 6 version) a Form API (for which you can write your own form elements, like this), and so on.

Key features, which very few other projects can offer: very modular, lots of functionality already available through modules, elegant code, good documentation and a vibrant community.

Oct
22

Collin

I find many of the comments above (and virtually all of the ones on Digg) mildly comical... as if the ClearFunction guys have somehow offended those of you who don't develop on OS X or use precisely the same toolset.

If you'll read the original post carefully, you'll see that they're saying (repeatedly, in fact) this is what we use... so why castigate them and refer to the post as "useless" simply because you use other tools? Good grief, can we not learn from each other? Isn't that the point of having a myriad of tools available, so that each can work his own way?

Relax folks, and use what works for you.

Oct
22

Snorkel

Prado is a PHP5 framework and it totally rocks.
Event driven, and the whole works.
http://www.pradosoft.com

Oct
22

popor

No. You won't make it. Why? Because you're wasting your time with stupid articles like this. Who f*cking cares what text editor you use? There are 50 that are great. (Oh right, you're a Machead, so your options are hilariously limited, but even so).

Quit focusing on what tools you just downloaded and start thinking about your app. Clearly from the looks of this article you haven't started yet.

I'm going to bet you've already got your logo though.

Oct
22

Aaron Boeving

@popor -- Clearly you haven't read any of the other entries on this blog. We've been working on this app since September 24th. If you're not interested in the list, don't read it or post a ridiculous comment.

Oct
22

karim

Sorry but it sounds like Snobism at it's best.

Thank you:
- vim
- python
- ssh
- svn
- apache
- mysql

Oct
22

russ

Don't forget about sqlyog. If you use mysql then sqlyog is the best tool to admin it. Also see monyog for mysql monitoring.

Oct
22

Marek

I'd add some text editors to it, i.e. EditPlus or Notepad++. Otherwise, it's interesting.

Oct
22

Dominique

Hi !

For PHP framework I currently use Jelix : www.jelix.org
For FTP, Yummy FTP
And for editing, Textmate, SkEdit and a little bit of Aptana
CocoaMySQl for SQL databases
And iTerm for a cool terminal application.

Ciao !

Oct
22

Stephen Rainey

@karim

We use all of what you have mentioned, however we aren't using Apache or Python for this particular application.

Oct
22

Stephen Rainey

@Dominique

I haven't ever looked at Jelix, but I will check it out. I occasionally install iTerm, but I've never been a consistent user...I'm not really sure why.

Oct
22

business

Very very nice list. Sqlyog too, for mysql. I'm definitely bookmarking this page.

Oct
22

Disgusted

You selfish people who complain about the article being mac-biased and not FOSS software could f off.

People try hard to compile lists of things they use in their development experience and you complain just because your favorite tool wasn't mentioned or because you actually have to compensate developers for their apps.

Write your own freaking list if you are not satisfied...

Disgusted

Oct
22

sean

all great apps, i agree! i would add spark, in order to access all your oft used apps real fast.

also, i find that BBEdit used in conjuction with Transmit is super-wicked, in that they integrate into each other very nicely, such as drag and drop uploading, etc...

also i wrote an app, you guys are gonna love it! i'll post it shorty.

Oct
22

Nate Klaiber

@karim
So, you didn't like our list and refer to it as Snobism, yet you continue to create your own list. Isn't that still Snobism.

As Stephen already pointed out, we use the things you mention - except for Apache/Python (in some cases we do use Apache). So, your statement doesn't hold much water - aside from the fact that you choose to remain anonymous in your Snobism.

Oct
22

Nate Klaiber

@sean
Thanks for the link to Spark, I'll check that out. I think there are several Text Editors that are an awesome choice, and most of them sync really well with Transmit. Aaron uses Skedit while Stephen and I use TextMate. I just like to find something I really enjoy and stick with it. I never really used BBEdit, but have heard it is a nice editor as well.

We would definitely be interested in checking our your app, too. Thanks again for the recommendations.

Oct
22

Ryan Baxter

I'm curious as to what tools you use at home on Linux to do web development since 4 of your top 5 are only available on the Mac. Thanks.

Oct
22

Ryan Speets

I recommend FreeMind as a free replacement for Incubator.

Oct
22

youhavenoclue

1 tools for all web application development

Visual Studio 2005
http://msdn2.microsoft.com/en-us/default.aspx

Oct
22

Daniel

Great list of resources ... thanks mate!

Oct
22

Smarmy

Too many apps are Mac only. Most of us still use Windows, thanks. And no, it's not as bad as Steve Jobs wishes it was. Get over it.

Oct
22

Stephen Rainey

Maybe I should have pointed out that we use Mac platform most of the time. I doubt most of people who comment about that would have read the post anyway.

This is just a list of apps that we have used in the development of Pulse. I am interested in the Mac/PC/Linux or other applications that you guys use if you'd like to share.

Oct
22

sean

ok guys, i hope you like this. i basically wrote it because i missed 1 thing from the windows environment when i switched: clicking Start | Run | and then typing the name of the app i wanted to use (for instance, 'winword', or 'calculator', or 'excel'). That, basically, is what this humble little applescript does. it has become indispensable to me.

with spark, i can have this little "prompt" open simply by clicking option-P :

http://seanmacdonald.ca/apps/LaunchApp.scpt

cheers,
_s.

Oct
22

Jonathan Aquino

Check out the open-source SVN Time-Lapse View for scrolling through a file's revision history.

Oct
22

David Mackey

I'm a .NET guy for now, though I'm starting to dabble in PHP.

Oct
23

sean

i think karim and youhavenoclue should get together and have babies.

Oct
23

mikemuch

@youhavenoclue. There's also the free version http://msdn2.microsoft.com/en-us/express/aa974185.aspx
But I'm guessing all microsoft tools, regardless of effectiveness, price, ease of use, were banned from this artilcle for religious reasons. ;-)

Oct
23

karim

@Nate : Stephen answer was simple, clear and nicer than mine whichs make me feel somehow "stupid"
Your's was aggressive. My anonimity is a right that I can enjoy at will.
And oh yes, to explain myself, I was saying "snobism" in connexion to the MAC world and that mixture of opensource and proprietary software... I do own a mac too, but it's just the way I think and maybe I'm wrong.
Take it easy, I'm not worth an anger.

Oct
23

karim

@Sean: You got it wrong man, completly wrong... I was using "vi" (not even vim) that's too many years on a shared time machine... so you know, computers are my stuff, I'm not that dumb blue newcomer that you might think. But yoy know what? You can think whatever you want...

Oct
23

Nate Klaiber

@karim
Mine was aggresive due to the amount of people coming here, not reading the initial article, making an elitist mac comment, then creating their own lists. We have no problem with the other lists from people, not at all - but we clearly state these are the tools for our development process - not the tools for all development processes. You called us snobs, seemed pretty aggresive and rude to me.

You use what works for you, and we do the same. I don't consider you a snob for using the tools you use (seeing as we seem to use many of the same tools). So, I apologize for coming off as agressive, we have to do our best to filter the comments coming from digg where people don't even read the initial article. Thank you for clarifying.

Oct
23

uzaktan egitim

What do you use for FTP?

Oct
24

Web Portal Development

Nice collection.............
I have tried some of this list

Oct
25

Jon Tripp

If you are using Subversion, you should try out Trac.

Trac integrates with Subversion and provides a repository browser, color enhanced diffs for check ins, an extensible ticketing system, customizable reports, and a Wiki for documentation. It's a great tool for managing your projects.

Oct
26

startoy83

ajaxflakes - Read all about the latest developments on web design 2.0 and ajax + lots of tips. TOP 100+ best Free Opensource Software for windows XP and Vista. Thought i should add it might be helpful to others… http://ajaxflakes.com

Oct
27

Danny Lopez

Great list. As a tech lover, I appreciate seeing what other developers use as tools. Definitely agree with the comments in response to those users who simply are unable to see past their own technology set and need to continue to slam alternatives. A shame that this nonsense continues.

Anyway... I wanted to point some of you toward this site. I just came across it and I think the author as done an outstanding job in developing a templating system that truly seperates code from everything else. Looking forward to my next project so I can give this a go.

http://www.tinybutstrong.com/
http://en.wikipedia.org/wiki/TinyButStrong

Oct
29

Joseph

What Pixel image editor - http://www.pixelimageeditor.com ?? :)

Nov
06

sean

@karim:

dude, i do not think you are "blue newcomer" at all. clearly you know what you are doing what with your list of apps. what troubles me is that perhaps you are shunning the bulldozer in favour of the shovel.

Nov
27

Bart

Since you use Lighthouse, SVN, and Basecamp you should try http://beanstalkapp.com/

Jul
05

kris gale

having installed and tried skEdit, Coda, TextWrangler, and a host of others over the years, i feel that Smultron is a really excellent alternative to all of the above text-editor-as-bloated-IDE solutions. if you haven't tried it yourself, you should. http://smultron.sourceforge.net/ -- it's free as in speech and beer, but the author peter borg totally deserves your kind donations.

another free application i use on a daily basis is the rather excellent ftp/sftp client Cyberduck - silly name, great software. http://cyberduck.ch/

Jul
05

kris gale

oh yeah and i forgot to mention Pixelmator -- i lost my instance of photoshop cs2 (previous owner of my dusty-but-trusty 12" g4 powerbook left it on there for me) when i upgraded to leopard, but no worries, Pixelmator does everything i need for daily graphics tasks at a very cool $59. keeps getting better with each successive release. http://www.pixelmator.com/ ... i will admit that it lacks photoshop's "save for web" functionality and indexed color/color map tools, however, i've gotten very good at doing image manipulations on the command line with ImageMagick. and truly, i only have to do this once my graphics are all nicely dossed up and ready for exporting.

Jul
10

Danhbaweb20.com

Thanks for share. great blog !

Sep
02

PrulsessNestamiff

wow :)
its very unconventional point of view.
Good post.
realy good post

thx :-)

Sep
19

Michael Austin Productions

Thanks So much!! I use some of those but most are new to me
Thanks again,
-Michael Austin

Dec
29

John Myotel

cool list, but no code generator? www.xifactory.com

Jan
24

.Net Code Generator

Yes Jhon Myotel is right.There is no code generator engine mentioned in the list.
I suggest taking a look at
.Net Code Generator

Mar
25

Iflexion Texas

I use FileZilla to work with FTP.

Jul
27

Market Research

Nice post...bookmarked for future reference

Comments are closed.