social-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Social-discuss] Which framework?


From: Henry Litwhiler
Subject: Re: [Social-discuss] Which framework?
Date: Sun, 28 Mar 2010 07:42:33 -0400
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.8) Gecko/20100227 Thunderbird/3.0.3

On 3/28/10 7:27 AM, Melvin Carvalho wrote:


2010/3/24 Matt Lee <address@hidden>
I'd like to see a discussion on which PHP framework we should be using,
if any.

Symfony 2.0 -- http://symfony-reloaded.org/ is one that has already been
mentioned.


I did some more research on this over the weekend, and here is a summary of some of the things I came accross:


Background
==========

This is a poll that probably covers most of the different framework options:

    PEAR [ 2% (24 votes) ]
    CakePHP [ 11% (136 votes) ]
    CodeIgniter [ 12% (147 votes) ]
    eZ Components [ 1% (17 votes) ]
    I use my own framework [ 12% (146 votes) ]
    Flow3 [ 2% (23 votes) ]
    Fusebox
    Prado [ 1% (6 votes) ]
    Seagull
    Symfony [ 10% (125 votes) ]
    Zend Framework [ 33% (399 votes) ]
    Other [ 15% (177 votes) ]

http://blog.thinkphp.de/archives/459-Which-Open-Source-PHP-framework-do-you-use.html  ...

Also a basic post on stack overflow, with feedback:

http://stackoverflow.com/questions/2648/what-php-framework-would-you-choose-for-a-new-application-and-why


Combing Frameworks
==================

Also I think a valuable blogpost from Matthew Weier O'Phinney (Zend) On Symfony/Zend integration, and on thinking beyond the framework.
 
http://weierophinney.net/matthew/archives/232-Symfony-Live-2010.html


PHPBB4
=======

An interesting discussion on a candidate framework for PHPBB4* took place here: (I have read a claim that they will adopt symfony 2)

http://area51.phpbb.com/phpBB/viewtopic.php?f=78&t=32433

Of particular interest is the open letter to phpbb (page 2)

http://area51.phpbb.com/phpBB/viewtopic.php?f=78&t=32433&start=10#p205215

*About phpBB
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



Conclusion
==========

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.
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.

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.

--
Henry L.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]