Open lcabrini opened 8 years ago
With regards with building our own MVC framework, I believe is a great idea mostly because of the learning experience. Lorenzo can you lead us in this. I'm sure we can learn alot from you.
Sure, that wouldn't be a problem. That is, if we all agree that this is a good idea.
@lcabrini I'll go with your counter-argument for the reasons you mentioned and these concerns too:
but this is just my thoughts.
@laudb: as a counter-counter argument the (1) I could raise that, using sprints we should be able to get something up and running fairly quickly. We can then add more features as we go on.
However, (2) convinces me. Learning a platform is a learning experience as well. For those who are interested in learning how to build their own MVC framework, we can always look at launching another project at a later date.
So, if we were to all decide that using an existing framework is a good idea, then we need to list candidate frameworks. There are about 9.8 billion PHP frameworks out there, and new ones seem to pop up all the time.
Off the top off my head I know of these.
Full-featured:
Light-weight:
There is a host of others. I must confess that I am not too up-to-date with PHP frameworks, since I tend to use python instead. Maybe somebody can help fill out this list. Then we can discuss their relative merits.
I think we need to decide on the framework(s) and libraries to use. We have different types of frameworks available:
Personally, I think we should develop our own server-side PHP MVC frameworks. My reasoning is simple:
As a counter-argument, you may feel that it will take time to write our own MVC framework. And that is true. But, first we shouldn't be in a rush. At LinuxAccra, I believe we should always value learning experiences more than anything else. Second, we don't have to write a full-blown generic framework. Just enough for our own needs.
I am personally not a big fan of ORMs. I prefer to do straight SQL. But let's hear the arguments.
For javascript libraries, we could look into jQuery. It is popular and does a lot. An alternative is to "roll our own".
I don't have too much experience with client-side MVC frameworks, but have played a bit with angular.js. Do we want to make our site "responsive" our do we stick to a more traditional approach?
I like templating systems. It helps to keep logic out of the presentation layer (at least to a degree). I have more experience with python-based templating, such as Jinja2 and the django templating engine. But I have played around a bit with Twig and like it. Again, we could choose to roll our own.
This is getting long. Maybe we should have on issue opened per item (one for PHP framework discussion, on for database abstraction, one for templating system, etc)