On 3/28/10 7:27 AM, Melvin Carvalho wrote:
I've said it once, and I'll say it again: PHP is a valid frontend
option for GNU Social, but I would strongly question it's suitability
for the backbone of a project such as this. A small, fast, desktop
application that users run to change settings, and serve out data to
other users could be written in something like Python.
An interesting discussion on a candidate framework for PHPBB4* took
place here: (I have read a claim that they will adopt symfony 2)
Of particular interest is the open letter to phpbb (page 2)
phpBB™ ("PHP Bulletin Board") is the world's leading Open Source forum
software. Distributed under the GNU General Public License, phpBB is
free software, developed by volunteers from around the world. phpBB is
used on over 2.4 million commercial, non-profit, social networking
and community websites in over sixty languages. For more information
and to learn how you can contribute, please visit http://www.phpbb.com
I'm not normally a huge fan of 'framework' concept, as my fear is that
you get tied in to a certain paradigm, however in some cases the
benefits outweigh the potential investment, and I can certainly see the
advantages in not reinventing this part of the wheel, in GNU Social. A
framework would provide a certain degree of scaffold, which would allow
developers to concentrate on the core functionality of social
networking and federation, potentially shortening the release cycle.
There seem to be a large number of frameworks out there, with each
offering different advantages, and having different followings.
If a framework is selected, an important aspect is to think outside the
paradigm, and use the best tool for each job, so some elements of Zend
could be used with a Symfony 2 backbone (symfony uses some zend classes
already), with a sprinking of PEAR and PHPUnit for testing.
Overall from some extended research, looking at many comparisons, and
talking to people who've actually used frameworks, I think symfony 2
would probably be
the framework I would lean towards recommending. It is known to scale
well, powering several large sites such as yahoo, dailymotion, and in
future, possibly phpbb. From what I've heard the company that backs
symfony2 (senslo labs), is serious about security, enterprise
deployment, clean and modern code, which would likely be beneficial to
the overall project.
Happy to hear the thoughts of others.
How about such an application runs in the background on all GNU Social
computers (or, because it's been suggested, ARM-based
power-outlet-sized computers) at all times, receiving new posts (if it
gets turned off, it will load everything it's missed from the network)
and sending out data. Rather than having everyone running their own
server, with their own GNU Social PHP install serving data to everyone,
we could use the PHP install as a private GUI - users point
their browser to 127.0.0.1, and load up a Facebook-like application
with all their friends' latest posts, images, videos, etc.
This particular itch (the need for an easy, extensible GUI) is
certainly best scratched by PHP. But to make PHP the backbone of GNU
Social would be a gross misuse of PHP - it simply isn't designed for
(nor is it best for) such a task, whereas something like Python is.
The Python application wouldn't display things to the browser, and I'm
not saying that we use Python to replace PHP's role as our web
application language - instead, we can use it to manage the backend
communications between GNU Social users.