At first I want to thanks the FuelPHP team, because it has been given me pleasure to work on my projects since 2 years successfully.
FuelPHP is a good framework, because :
- it accelerates condierably development
- it's really easy to learn
- we can easily fix some stuffs in core if needed because core classes are easy to understand
- experience proves it has good perfermances (even orm)
In fact the key word could be "fast" : fast to learn, fast to develop, fast to execute.
However I fear for future :
- I can't find any deadline for version 2
- I can see that only 2 or 3 developers are working on it
- Community activity is weak, compared to other frameworks
Then I have to be reassured : please tell me FuelPHP has a great future, or at least a future ;)
I'm not a great developer. I'm good to fix stuffs, but not to develop full features from scratch, it always finish as too complicated things. That's why I won't propose my help as developer, I'm not able to do that.
However, if I know that a few people are convinced that FuelPHP has a future, I can help with community activity. For example :
- participate creating a site FuelPHP France
- translate in french the documentation, and / or tutorials
I can be more that only a consumer of fuelPHP anymore, I want to help, but... I want to be reassured : does it worth it ?
ps : I write this post in "General" category, because it seems to be the better spot, but I can see a lot of technical points on it. What's the right spot for this kind of discussion ?
You can't find a deadline for v2, because there isn't one. It will be ready when it is.
Any particular reason why you want to know? Most of the v2 changes are under the hood, there isn't a significant change in the API of the framework. And a release of v2 will not drop support for v1, we appriciate the fact that most people need to support an application for multiple years, without being forced to update the framework version they have used.
And yes, the core team has 3 developers. More than many other frameworks out there. As long as it's being worked on, there isn't an opportunity for the community to participate. Some parts are already finished, and people have already contributed. If you compare that to the v1 codebase, that has over 200 unique contributors. So I'm not that worried about it.
Main difference between FuelPHP and others is that we are not company backed. Which means we have to work on it in our spare time, we are not paid to. And we don't recieve enough donations to take time off. On the plus side, it means that there is no company that can decide the direction of the framework, or pull the plug (like happened with CodeIgniter).
One of the reasons there is a perception of an inactive community is that FuelPHP isn't that popular with the individual freelancer (that often jumps from one framework to the other, depending on what is hot today) but very popular in corporate development teams, and development studio's or agencies. Most of which are in direct contact with us through IRC, and don't use the forums very much.
There is quite an active FuelPHP following in France, through Novius Labs (http://www.novius.fr/), they publish stuff in French as well. We're currently working on a new documentation system for v2, once that is working you're more than welcome to assist in documentation.
We are also missing quite a lot of unit tests, so if you have experience in PHPUnit, feel free to contribute there too. Any pull request on github will be looked at. If you have a major change in mind, it might be best to pop into IRC and discuss it with one of the core dev's first. They are online most of the day (GMT/GMT+1).
thank you for your eloquent answer. I never use IRC, and it can probably explain why I have the feelings I exprimed about community. I agree it's better to have a stable community more than a "whimsical" one (note sure it's apprioriate word in english).
You say that "Most of the v2 changes are under the hood, there isn't a significant change in the API of the framework" but your last post about it on the blog http://fuelphp.com/blogs/2013/08/2-0-an-update let think that there will be major changes.
I have a poor experience with phpunit, but I can give it a try (on my spare too, of course). Is there any feature that would particulary need to be tested, or should I just pick a feature randomly ?
Most of the changes mentioned in that post are not major, and most of them you will never even see.
For example, in the v1 architecture, Input is global. Which means you can't pass GET and POST variables to an HMVC request, which in turn makes it difficult to call publicly routable URI's via HMVC. In the v2 architecture, every request has it's on data container, and GET and POST is localized.
However, in your controller, you would still use Input::get() and \Input::post().
Some things will not return in the current form, for example ORM and Image. When v2 is released, there will be a compability package for those wanting to upgrade an existing application, but don't want to spend time changing the code to the new ORM or Image solution. The compatibility package will also deal (as much as possible) with API changes, further reducing the initial effort needed to upgrade.
And finally, unlike for some other frameworks, you don't NEED to upgrade. With Fuel being popular in coporate environments, we recognize developers having to deal with applications on a 4-5 year maintenance cycle. So once v2 is released, we will release a final v1 LTS (long term support) version so there is no immediate need to upgrade existing applications.
As to unit testing, you can ask PHPUnit to generate a code coverage report, which will generate some HTML that shows you exactly which class, method and line of code is covered by a unit test.
If you really want to do that, perhaps you should look into it, have a feel on how it's done, and them check the Fuel v2 code. We aim to have 100% code coverage there, but there are still some packages that don't have any coverage at all, or only a little bit.
If you want to go that route, make sure you have composer installed. Then checkout https://github.com/fuelphp/fuelphp into a local virtualhost, and run composer to install the v2 framework and it's dependencies. Some packages, like for example fuelphp/common, have 100% coverage, so you have plenty of examples.
In fact I have no fear at all of incompatibilites wich could appear from version 2. As you say, nothing forces me to upgrade my existing projects. But there are promising features in v2 (applications and new orm for instance) that I hope will see ;)
I'll try to write some tests in the next weeks.
Thanks again for the time you took to answer me, your reactivity on this forum is a great asset of FuelPHP I forgot to mention in my original post.
When I choosed FuelPHP (begin of 2012 if I remember well) I hesitated between Laravel and FuelPHP. Both frameworks were then equally known. I choosed Fuel mainly because I feared the fact that Laravel was then only supported by Taylor Otwell. My point of view is that Laravel has done a great work of communication (about integration with composer, hhvm, symfony components, events like laracon and so on), and it's the main reason why it's now one of the frameworks most used in the world (after symfony ?)
As for Fuel 2 I tried to work on unit testing but it seems to me it's broken, I'll retry to work on it in a few weeks.