By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,524 Members | 1,674 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,524 IT Pros & Developers. It's quick & easy.

(PHP or Python) Developing something like www.tribe.net

P: n/a
Hi there.

I am about to undertake a project. My employer wants it to be developed
in PHP. While I was thinking that Python will be better for this job.

The project will implement the functionality similar to Yahoo360
(http://www.360.yahoo.com), http://www.Tribe.net, Orkut etc.

1) There will be a groups like functionality like google groups.
2) Groups/personal blogs/albums/events/buddy lists etc. need to be
implemented.
3) Most importantly it needs to be implemented like platform. that is
it has to expose API or web services so that application implemented on
it can talk to each other and other applications can talk to it.

My employer wants to go with PHP because almost all the functionality
is available with a Drupal CMS for PHP. But it is important to note
that for an application, rather a platform, which is intended to be
used for a long time, time to implement should not be the major
criteria above good design and maintainability(in which python scores
highest).

IMHO Zope3/Quixote seem to be the obvious choice here. Though
functionality is not available on them but i think time spent now will
be gained by gains in better design and maintainable code base.

Now I want this wonderful c.l.py community to pour in their suggestions
on what would be better alternatives. Also may we try various
combinations of frameworks like Zope3 for components, Twisted2.0 for
network functionality etc.

PS: I am leaving out Zope2.x and Twisted1.x as a lot has changed in
newer versions and I don't want to be hanged when Zope3 becomes
official.

Thanks

---
Mir Nazim

Jul 19 '05 #1
Share this Question
Share on Google+
11 Replies


P: n/a
Don't write off Zope2/Plone too quickly. Zope is making many of
the extensions/features in Zope3 available in Zope2 (V2.8+). As
with any LARGE application, Zope2 is much more mature than the
newer Zope3. It will also be extremely difficult to find
programmers/consultants with any Zope3 experience. Plone's CMF
is going to be very hard to beat.

-Larry Bates
Mir Nazim wrote:
Hi there.

I am about to undertake a project. My employer wants it to be developed
in PHP. While I was thinking that Python will be better for this job.

The project will implement the functionality similar to Yahoo360
(http://www.360.yahoo.com), http://www.Tribe.net, Orkut etc.

1) There will be a groups like functionality like google groups.
2) Groups/personal blogs/albums/events/buddy lists etc. need to be
implemented.
3) Most importantly it needs to be implemented like platform. that is
it has to expose API or web services so that application implemented on
it can talk to each other and other applications can talk to it.

My employer wants to go with PHP because almost all the functionality
is available with a Drupal CMS for PHP. But it is important to note
that for an application, rather a platform, which is intended to be
used for a long time, time to implement should not be the major
criteria above good design and maintainability(in which python scores
highest).

IMHO Zope3/Quixote seem to be the obvious choice here. Though
functionality is not available on them but i think time spent now will
be gained by gains in better design and maintainable code base.

Now I want this wonderful c.l.py community to pour in their suggestions
on what would be better alternatives. Also may we try various
combinations of frameworks like Zope3 for components, Twisted2.0 for
network functionality etc.

PS: I am leaving out Zope2.x and Twisted1.x as a lot has changed in
newer versions and I don't want to be hanged when Zope3 becomes
official.

Thanks

---
Mir Nazim

Jul 19 '05 #2

P: n/a
I agree Zope2/Plone are really mature. But I think you missed my point.
It is not neccessary that I may be using all the functionality of Plone
etc. More over zope3 seems to have got a few great features like better
support for building filesystem based products, easier learning curve
etc.

Please take it in the light of what I want to do. Then may be someone
among c.l.py people may be able to suggest a way out.

PS: I have pointed out the problem to my employer but I want to present
a solution to it as well.

Jul 19 '05 #3

P: n/a
In article <11**********************@g14g2000cwa.googlegroups .com>, Mir Nazim wrote:
I agree Zope2/Plone are really mature. But I think you missed my point.
It is not neccessary that I may be using all the functionality of Plone
etc. More over zope3 seems to have got a few great features like better
support for building filesystem based products, easier learning curve
etc.


I played around with Plone a couple of years ago, and it was rather slow. It
seemed to have a very solid design and a lot of intelligence put into it,
but I couldn't use it in any productions because I just couldn't squeeze
enough juice out of it, and also, for some reason I needed to restart the
entire Zope process when I made even small changes to templates/skins.

Can anyone who's worked with Plone recently comment as to whether these
issues have been improved since then? I notice that Plone has been popping
up quite a bit lately, and they don't seem unreasonably slow to me. (CPUs
have of course exploded in speed in the past few years.)

--
.:[ dave benjamin: ramen/[sp00] -:- spoomusic.com -:- ramenfest.com ]:.
"talking about music is like dancing about architecture."
Jul 19 '05 #4

P: n/a
Mir Nazim:
IMHO Zope3/Quixote seem to be the obvious choice here. > Though
functionality is not available on them but i think time
spent now will
be gained by gains in better design and maintainable code base.


Well, you are comparing two frameworks that are just
completely different. I suggest you to start evaluating
Quixote first, since it is much simpler to grasp,
and you can decide in a couple of days if it is the
platform you want to program in or not. Zope 3 is a
somewhat risky platform (i.e. you cannot leverage on
the existing Zope 2 applications and not many developers
are familiar with Zope 3 yet). Quixote too has a small
number of developers, but at least it is easy and you
don't need much help to work with it.

Michele Simionato

Michele Simionato

Jul 19 '05 #5

P: n/a
Thanks fro ur advice.
I was also thinking to look into quixote.
but wanted a second opinion.
thanks again.

Jul 19 '05 #6

P: n/a
I would also look at CherryPy, the new 2.0 version seems pretty
interesting
(I have not tried it, but I have seen a short presentation at the ACCU
conference,
and it looks really trivial to use).

Jul 19 '05 #7

P: n/a
Can you please brief me a bit about your decision to CherryPy

Jul 19 '05 #8

P: n/a
Mir Nazim:
Can you please brief me a bit about your decision to CherryPy


Decision? I made no decision about CherryPy, I am actually a Quixote
user. I evalued CherryPy six months ago and I did not like it, since
they were using custom classes and a strange compilation procedure.

However, from the presentation I saw at the ACCU conference, it looks
like now CherryPy is much more pythonic than before (use the definition
you like for pythonic). If I was shopping for a web framework today, I
would
certainly consider CherryPy.

CherryPy and Quixote are in the same league, Zope and Twisted and PEAK
are in an enterely different league. They are meant for programming in
the large
and do not scale well for small size applications. CherryPy and Quixote
are for
programming in the small, I have not idea how they scale in the large.
Is your application going to be large (many developers, hundred of
components, hundreds of thousand of lines of code) or small?

Michele Simionato

Jul 19 '05 #9

P: n/a
Ok I get your point.
Well actually my application is small in the begining, but then may be
will a large one when we want to add more features.

Jul 19 '05 #10

P: n/a
> CherryPy and Quixote are for programming in the small

May I ask why you say that ?
Just because a framework is light and easy doesn't mean it doesn't
scale well ...
I have not idea how they scale in the large.


Well, I do :-)
Among many other sites, CherryPy powers the BackOffice system of a big
cinema chain in the UK. The web app gets hammered all day long by
hundreds of users whose work is completely dependent on this web app.
It has 500 different web forms (everything is data driven) and the code
is about 30K lines of python/cherrypy code (if the code wasn't
data-driven it would be a *lot* more ...).

If it gets accepted, there will be a talk about this system at
EuroPython ...

Remi.

Jul 19 '05 #11

P: n/a
<talking about programming in the large and in the small>

Well, let me specialize my sentence
CherryPy and Quixote are for programming in the small
in
CherryPy and Quixote are good for programming in the small


meaning that these frameworks help you when programming in the small.
This statement does NOT imply that they get in your way when you
program
in the large. I just lack the experience in programming in the large
with
CherryPy and/or Quixote.

Also, let me specify what I mean by "programming in the large":
if a single person can grasp the application, and the application
can be implemented by a single team, then you are programming
in the small.

You are programming in the large only when you have many independent
team of developers and you have coordination problems. In this
situation
a component architecture is supposed to help (and maybe it does, I lack

the field experience to give an opinion), whereas when working in the
small a component architecture can just get in your way.

It is easy to evaluate a framework in the small: it is enough
to ask to self the question "how much time did it take to me to write
my first Web site in that framework starting from zero?". OTOH, to
evaluate a framework for programming in the large takes years of
experience and practice, and I will not hazard any opinion ;)

Still, I believe it is possible to have a frameworks which is
scalable both in the small and in the large. Look for instance
at the programming language spectrum: Java was intended to program
in the large and it is pretty bad when programming in the small;
Perl, on the other hand, was meant to program in the small and does
not scale at all in the large. However, Python works equally well
both in the large and in the small. So, I think there is no
contraddiction between large and small, in theory. But in practice
there is, so I use Zope at work and Quixote at home ;)
Michele Simionato

Jul 19 '05 #12

This discussion thread is closed

Replies have been disabled for this discussion.