473,379 Members | 1,312 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,379 software developers and data experts.

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

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
11 1366
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
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
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
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
Thanks fro ur advice.
I was also thinking to look into quixote.
but wanted a second opinion.
thanks again.

Jul 19 '05 #6
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
Can you please brief me a bit about your decision to CherryPy

Jul 19 '05 #8
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
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
> 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
<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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: chadw | last post by:
Not sure what I am missing sure its probably something very simple, I need something to get my entered text out of the textbox and entered into a database currently the code looks like this. ...
0
by: Jean-Paul Calderone | last post by:
On Tue, 30 Oct 2007 14:09:39 -0000, Steven D'Aprano <steve@remove-this-cybersource.com.auwrote: If you have some time to experiment, PyPy has some support for logic programming with Python. ...
2
by: Gilles Ganault | last post by:
Hello I was wondering if someone had put Java, .Net, PHP, and Python to the test by writing the same type of application, such as an online store or CRUD application, and pushed it to see how...
0
by: browntown | last post by:
Hi...i'm relatively new to python...i'm trying to use webkit2png to take some screenshots. Everything works fine when I run the script from the command line...things do not work when i try to...
22
by: Dan Rumney | last post by:
Hi all, I've been writing Javascript for quite a while now and have, of late, been writing quite a lot of AJAX and AJAX-related code. In the main, my dynamically generated pages are created...
2
by: process | last post by:
In erlang you can cons like this: . i tried this in python and it didnt raise an error but i dont know what the result do
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.