Web Development with Django: Windows vs Linux/Mac OS X

1,767 views
Skip to first unread message

Aleandro

unread,
Feb 7, 2008, 3:49:27 AM2/7/08
to Django users
Hi, I'm a Windows XP longtime user but I have also Ubuntu Linux 7.10
on my dual-boot computer. I've just discovered Python and Django and I
have to decide what os to use for web development with Django.

In fact, while I use Ubuntu Linux on my production server, I'm really
satisfied with my Windows web development environment:

- gVim, TortoiseSVN, the command prompt and all major browsers at my
fingertips (IE, Firefox, Opera and Safari);
- Python, Django and PostgreSQL/MySQL installed in just a few simple
steps;
- Adobe Photoshop;
- superb font rendering with cleartype and no wasted time installing
new hardware.

Considering that the latest trend in web development is to use UNIX
based OSes (Linux or Mac OS X) also for the development side, I have a
simple and direct question for you: what are the tangible
disadvantages of Django web development on Windows compared with a
UNIX based OS?

Thanks
Aleandro

Christian Vest Hansen

unread,
Feb 7, 2008, 4:41:59 AM2/7/08
to django...@googlegroups.com
Hi,

I _would_ have said that installing stuff and setting up the dev.
environment was the biggest disadvantage of Windows, but you seem to
have that part covered.

Other than that, if your production runs Linux, then you will, in
theory, have an easier time with deployment, and testing of
deployment, if you also develop on Linux. For instance, you could have
an apache instance, running the same settings as production, but
locally. Developing and testing deployment and shell scripts be
easier.

Mac OS X is different from Linux in that it is a BSD style *nix. This
might the aforementioned shell scripts & deployment, then again, it
might not - depends on things are set up, I think. On the other hand,
Photoshop runs on Mac.

Personally, I wouldn't want to do development without the trusty
gnucoreutils :) But if Windows floats your boat, and you don't have
any OS envy, then I'd suggest saving trouble. Why bother if there are
no obvious advantages?


--
Venlig hilsen / Kind regards,
Christian Vest Hansen.

Aleandro

unread,
Feb 7, 2008, 9:03:26 AM2/7/08
to Django users
In fact, running on the development computer the same exact software
environment present on the production server is the strongest pro-
Linux argument, especially if you have a VPS and not a shared server.
To be honest, I think neither with Windows or Mac OS X you can obtain
this ideal condition.

However I doubt this is really necessary: as an example, on my laptop
I'm currently using the lightweight web server included in Django
where on the production server I will deploy my Django app with Apache
and mod_python or mod_wsgi on Apache 2 behind an nginx proxy.

Of course the deployment stage will be a bit more tricky for a Windows
developer but, frankly, I'm a developer and I'm more interested in the
development stuff. If, as a developer, there are no advantages in
using Linux or Mac OS X, I will remain with Windows.

So I'd like to know from people using Windows what are (if any) the
practical handicaps in developing a Django app on Windows.

Aleandro

On 7 Feb, 10:41, "Christian Vest Hansen" <karmazi...@gmail.com> wrote:
> Hi,
>
> I _would_ have said that installing stuff and setting up the dev.
> environment was the biggest disadvantage of Windows, but you seem to
> have that part covered.
>
> Other than that, if your production runs Linux, then you will, in
> theory, have an easier time with deployment, and testing of
> deployment, if you also develop on Linux. For instance, you could have
> an apache instance, running the same settings as production, but
> locally. Developing and testing deployment and shell scripts be
> easier.
>
> Mac OS X is different from Linux in that it is a BSD style *nix. This
> might the aforementioned shell scripts & deployment, then again, it
> might not - depends on things are set up, I think. On the other hand,
> Photoshop runs on Mac.
>
> Personally, I wouldn't want to do development without the trusty
> gnucoreutils :) But if Windows floats your boat, and you don't have
> any OS envy, then I'd suggest saving trouble. Why bother if there are
> no obvious advantages?
>

Michael Hipp

unread,
Feb 7, 2008, 10:34:08 AM2/7/08
to django...@googlegroups.com
Aleandro wrote:
> In fact, running on the development computer the same exact software
> environment present on the production server is the strongest pro-
> Linux argument, especially if you have a VPS and not a shared server.
> To be honest, I think neither with Windows or Mac OS X you can obtain
> this ideal condition.
>
> However I doubt this is really necessary: as an example, on my laptop
> I'm currently using the lightweight web server included in Django
> where on the production server I will deploy my Django app with Apache
> and mod_python or mod_wsgi on Apache 2 behind an nginx proxy.
>
> Of course the deployment stage will be a bit more tricky for a Windows
> developer but, frankly, I'm a developer and I'm more interested in the
> development stuff. If, as a developer, there are no advantages in
> using Linux or Mac OS X, I will remain with Windows.
>
> So I'd like to know from people using Windows what are (if any) the
> practical handicaps in developing a Django app on Windows.

I'm very much a pro Linux guy.

But I spend most of my time working in Windows on the desktop because
that's what my clients use and that bit of commonality just saves a lot
of extra work.

Frankly I'd be hard pressed to articulate any earth-shattering
advantages for developing Django on Linux. On my Windows boxes I use
PostgreSQL, psycopg, Python, Django, Apache, mod_python, PuTTY,
FileZilla, Firefox, Cygwin, etc. All easy as pie.

The advantages for a Linux environment are more subtle, but not
inconsequential:

- An actual working command-line shell instead of that abomination cmd.exe
- Ease of access to tools like grep, sed, awk, rsync, etc. can
occasionally make some things a lot easier.

If developing toward a Linux web server environment was my main line of
work, I'd probably be running Linux on the desktop. But having to deal
with so much other Windows-centric stuff tilts the center of gravity.

Michael

Doug B

unread,
Feb 7, 2008, 11:40:22 AM2/7/08
to Django users
Another alternative is a virtual server via vmware running a small
barebones/server install of your favorite distro. There are a number
of pre-built vmware images online, and vmware player is free now. It
worked out really well for me.

Prairie Dogg

unread,
Feb 7, 2008, 2:12:03 PM2/7/08
to Django users
I'm doing the vmware situation for my local machine (Mac OS X).

I built a vmware image for my dev environment to mirror my production
environment (apache / mod_python backend with nginx serving the static
content). The only difference between the two machines is that the
dev machine is running netatalk so that I can edit the files on the
dev server directly with the whole suite of mac apps.

Because both the production and dev environments are linux, there are
a bunch of tools that make administration easier like ssh for access,
rsync for backup, and if you keep the data on the dev server and
production server synced, you can always have a hot copy running in
case you do something disastrous in the production environment.

That being said I'm still looking for the perfect IDE to cap this
off. Komodo IDE for OS X is the only one so far whose SVN support is
intuitive and I love their live folders (which works perfectly with
the netatalk setup). I've used eclipse, however, and have to say that
I like their customizable interface better than Komodo's. The price
of Komodo vs. Eclipse might also make the difference here $295 vs.
Free. I'd love to hear any setup details of folks who run local
vmware dev servers on macs with an Eclipse (or other) IDE as I'm
currently shopping around.

Good luck w/ your setup!

Francis

unread,
Feb 7, 2008, 2:13:28 PM2/7/08
to Django users
Hi,

I use to develop on all these platform. I'm somehow surprise that you
find font rendering superb in windows, I'm always annoyed at how ugly
they look in general compared to their Mac and Linux (new Distro)
counterpart.

I switch sometime from Linux to OS X for my development needs. I use
windows mostly at work. The things I hate about windows is how the
system strip down, really bad CLI, no interpreted language,
momoculture of Microsoft ecosystem. OS X and Linux are superb
powerhouse, even if they are different like Christian said.

The main reason I stay with and prefer OS X, is simply because the
system works the closest of how I think. It's a productivity booster,
expose + the dock + big icon + the finder. I find my way more
efficiently and faster than on windows. I also manage multi task far
more efficiently.

Plus, one thing that keep me on OS X, is that I also run my own
business and time is precious. With OS X I never have to manage things
that aren't need to be manage. To the contrary of Linux (I used mainly
Ubuntu and fedora) where there's is always something that need your
attention. The problem is I like to play with it and I easily waist
haft a day compiling/testing/submitting bug/ application that sometime
will work and other time will not work.

Also, I like Apple's hardware, small, noiseless, noplastik finish.

On the server side, I use mainly linux, but also freebsd and solaris.
I never had problem transferring my OS X stuff to one of these OSes.
note: I never tried django on freebsd or solaris but for different
project.

But, if you like your XP system, maybe you should stick to it.

Francis

sandro.fernandes

unread,
Feb 7, 2008, 3:49:13 PM2/7/08
to django...@googlegroups.com
I use windows to develop and linux in production , in a year of work ,
only missed a signal that exists
in linux but not in windows , for IDE I use Pyscripter (
http://www.mmm-experts.com/) a very nice
tool with a small foot print , use apache as my local web server and
production server .
Probably it would be a bit easier if production and development
environment where the same , but on the other end
if my client chooses windows or linux I really don't care .

Sandro

Oscar Carlsson

unread,
Feb 9, 2008, 6:55:29 AM2/9/08
to django...@googlegroups.com
Why choose one when you can have both?
I'd vote for OS X.

Nice UNIX-ness, _really_ nice fonts, superb hardware support and good
looking hardware...and with VMWare Fusion / Parallells virtualisation is
simple and fast. And Photoshop works really well is OS X :)

SamFeltus

unread,
Feb 9, 2008, 9:27:07 AM2/9/08
to Django users
I find SonomaSunshine runs nearly the same on Vista or Ubuntu, once
you change the system call code, which probably isn't even a normal
issue. I'd think if you were using Photoshop regularly, it would be a
no brainer, just work on Windows.

John U.

unread,
Feb 9, 2008, 1:25:51 PM2/9/08
to Django users
Hi Aleandro,
in my opinion your doubts about Windows as a solid platform for web
development are basically groundless. Probably you are intimidated by
the large number of MacBook Pro you see at geek conferences ;)

Don't worry: appearances are often deceptive. I'm a practical guy and
I can assure you that Windows is an OS as good for web development as
Mac OS X or Linux. Indeed, as you will see, Windows is the *best*
platform for web development because it is able to imitate every other
major environment even though it retains its own strong identity. I
think Microsoft should call the next Windows release Windows Zelig :)

My suggestion is to stay with Windows for the following reasons:

1. Apart from the Apple niche, you will find Windows already pre-
installed on every desktop/notebook computer on sale. In fact it is a
"free" operating system. You can buy a beautiful Sony Vaio, a solid
Lenovo ThinkPad, a Dell/HP computer or an inexpensive toy. They are
all Windows machines and they are a lot cheaper than Macs. Moreover
Windows just works with every hardware on the market: unfortunately
you can't say the same for Linux...

2. As you already noted, Windows font rendering on screen, based on
ClearType - so ugly in the eyes of Mac/Linux users - is the outcome of
a long research effort aiming at improving the readability of long
texts on low resolution LCD screens. As a programmer spending long
hours in front of a computer screen writing and reading code, I can't
praise more highly this wonderful technology. Moreover the recent
ClearType font collection includes the popular Consolas font, probably
the more beautiful monospaced font ever. Bill Gates is not a genius
but he cares about your eyes ;) Apple's screen typography, based on a
different approach, is more beautiful to see (typefaces are more loyal
to their original design) but is clearly inferior to ClearType with
respect to readability since letters lacks a decent sharpness on low
res screens. (See www.microsoft.com/typography)

3. Every major text editor/IDE has a Windows version (vim, emacs,
Komodo, Eclipse, Dreamweaver, etc.). In the rare event that a Windows
version is not available (see TextMate) you will easily find a good
clone (www.e-texteditor.com).

4. Adobe Creative Suite, an essential tool for Web Development/Design,
is only available for Windows and Mac. At the moment Linux
alternatives (gimp, etc.) lack some essential features and have a poor
user interface.

5. If you use Subversion for your projects (I can't live without),
TortoiseSVN (tortoisesvn.tigris.org), a Windows-only Subversion gui
client, will make your life a lot easier.

6. For command line addicts Console (sourceforge.net/projects/console)
is a fantastic and rich interface for the ugly Windows command prompt
and, if you need Unix commands also, you can install Cygwin
(cygwin.com), a Linux-like environment for Windows (also manageable
through the Console's interface).

7. PHP, Apache, Python, Django, Ruby, Rails, MySQL, PostgreSQL and
many other open source tools work smoothly in a Windows development
environment, even though Linux remains the gold standard for
production servers. Moreover if are a newbie, you can download
InstantDjango (instantdjango.com), InstantRails
(instantrails.rubyforge.org), EasyPHP (easyphp.fr), XAMPP
(www.apachefriends.org): they all are Windows-only packages. Of course
with Windows you will not be able to replicate your Linux production
server on your computer but that's not vital.

8. On Windows you can install any browser to test your web pages:
Firefox, IE, Opera, Safari, etc. No need for Parallels or other hacks.

9. If you need an SSH client, PuTTY (www.chiark.greenend.org.uk/
~sgtatham/putty) is an invaluable tool.

10. It's too late now: I have to left home. I hope my remarks can be
useful. Bye, John.

Nicolás Miyasato

unread,
Feb 9, 2008, 6:04:26 PM2/9/08
to Django users
Hi, I 'm a long time linux user.

I just wanted to say that you should code in whatever environment you
are more productive.
Don't switch just because everybody does. Do it if you feel more
comfortable with.
Sometimes windows, sometimes osx, sometime linux... it's just up to
you.
I just don't see any advantages/disadvantages between windows/linux/
osx when doing Django.

cya

NickJ

unread,
Feb 10, 2008, 10:31:07 AM2/10/08
to Django users
I am a long time windows user, and have just switched to ubuntu gutsy
for the very reason of python and django development. Although the
learning curve was very steep - and i have had many hardware issues -
i am now much happier developing on ubuntu (I have dual boot set up,
but 95% of what i do can now be done on ubuntu).

One HUGE advantage i have found is speed. I have a dell inspiron 1721
laptop, amd64 process, 2gig of ram blah blah, and vispa was slloooow.
For a relevant example, the django development test server would take
2 or 3 seconds to refresh; loading IDLE would take 3 or 4 seconds. On
ubuntu, these actions are almost instant.

I am still missing pyscripter/editpad pro, my windows dev tools, and
havent found an alternative I like (vim is too weird, komodo edit
doesnt have an amd64 build, any suggestions?). And it has taken a LONG
time to get up and running. But now I think my development is faster:
really the only thing that is important to me.

Ramdas S

unread,
Feb 10, 2008, 11:42:02 AM2/10/08
to django...@googlegroups.com
I know its no replacement, but try scite editor. Its cool and is used by many python developers I know.

Also check these http://wiki.python.org/moin/PythonEditors

RS

Oscar Carlsson

unread,
Feb 10, 2008, 5:18:15 PM2/10/08
to django...@googlegroups.com
Another cool editor is Scribes ( http://scribes.sourceforge.net/ ), at
least last time I tried it. Might take some configuring, but it might be
worth it :)

> --~--~---------~--~----~------------~-------~--~----~
> You received this message because you are subscribed to the Google Groups "Django users" group.
> To post to this group, send email to django...@googlegroups.com
> To unsubscribe from this group, send email to django-users...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/django-users?hl=en
> -~----------~----~----~----~------~----~------~--~---
>

Reply all
Reply to author
Forward
0 new messages