2010/3/28 Henry Litwhiler <[email protected]> > On 3/28/10 7:27 AM, Melvin Carvalho wrote: > > > > 2010/3/24 Matt Lee <[email protected]> > >> 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. >
Completely agree, but isnt gwibber already doing this, in python? Maybe it would be better to import that front end? On PHP, which will probably be needed for the 'web hosted' solution in any case, I think the wordpress experience of making the MU (Multi User) version and single user version, shows that it's not ideal maintaining two separate codebases and indeed, wordpress 3.0, due out in a month, with merge the two back together. After installing it will ask if you want to be a 'single user' or 'multi site' (multi-user), which is also an option use can switch later. However, if you want to run apache/nginx on your GNU/Linux desktop, I think I should be possible to host using the trunk PHP codebase. Can a single user PHP hosted solution be ported to the desktop as a 'personal server'? Well that's probably a leap, if you want to run something like 'twisted' (or coherence) for NAT traversal python is a logical choice, and PHP GUI toolkits, are, shall we say, limited. As you say, a python translation may be the way to go, in that case. > > -- > Henry L. >
