I haven't taken a look at Recess PHP Framework in a while, but for those that have experience with both frameworks I ask this question: What features does Recess offer over CakePHP 2.x?
Most of the code in the Recess github repository hasn't seen an update in 3 years, with the latest commit a year ago. The forums are offline and their last blogpost dates back from 2010. So I'm not sure if Recess is actively developed anymore, which might become a problem in the long run.
That said, Cake has quite a lot of developers, is backed by a foundation and receives regular updates. Also Cake's ecosystem of plugins, code snippets, etc. is bound to be more extensive compared to Recess.
Related
currently I am looking for a new PHP framework, with which I can create some powerful business logic applications. I stumbled over ATK4.
Since yesterday, I am trying to get a grip on this, but I must say it seems to me that the whole framework and its documentation is in some kind of unstable - or at least very beginner-unfriendly - state.
I mean I tried doing the DVD Rental example (with ATK4.2) and there are so many errors coming up (I did it all according to documentation). Then I realized that there is a new release, 4.3, which I tried then. But same problem here: The beginner documentation (the examples from the book) have so many errors in it or there are so incomplete.
Am I too dumb to find a decent example or is this really the way it is with ATK? I mean I really like the concept of ATK but with this kind of documentation I would think it will be very difficult for new developers to start using this framework for new projects.
Update 2017:
Several parts of Agile Toolkit (ATK4) have been refactored into stand-alone frameworks. The issues OP have outlined with poor code quality and lacking documentation have been addressed and explained in READMEs:
http://github.com/atk4/data - Refactor of Model from Agile Toolkit
http://github.com/atk4/ui - Refactor of UI widgets from Agile Toolkit
Both libraries can be used in conjunction with any other PHP framework.
As author of the original ATK framework and now Agile Data / Agile UI - I am always trying to support the core code and publish it under permissive license.
I've recently built a demo application using PhoneGap, and I chose to try JQuery Mobile as a UI framework. It was... okay. I'd like to try out Sencha Touch now and see if I like it better.
As of now (mid-December '11), it appears that Sencha Touch 2 has been released as a preview, and has significant improvements in performance (which is a key ingredient for me). However, it's missing some features, and doesn't seem to have many demos / tutorials yet on the Sencha website.
In the valuable opinion of SO's seasoned Sencha Touch developers (and by seasoned, at least in the mobile realm, I mean that you've at least played with it for a week or so), would you recommend I start with Sencha Touch 2 from the get-go, or go through the motions of learning 1.x and just upgrading to 2 later on? What are the advantages / disadvantages of using "preview" versions of this and other frameworks, particularly when working within the ever-shifting world of mobile development?
Thanks for any input!
I created a few proof of concepts for my company in jQuery Mobile. While I personally love jQuery, jQM was not ready for a production environment if you wanted a slick, responsive, bug-free user interface. That was in the v1.0RC3 days. It is a stable release at the moment but I still feel the same way, hopefully future versions will address the shortcomings. I made this decision after running a number of benchmarks, a focus group and a pilot program(6 ppl). All said and done, I decided to evaluate ST.
Sencha Touch has the best UI, IMO. However, there is a strong learning curve with this framework. API documentation is complete and while there are tutorials lurking here and there, there is NOTHING that spells out the ST framework from start to finish. I often find myself searching in the depths for a brief glimpse of an explanation with no resolve. I find it frustrating that the Sencha team hasn't addressed this. I hear a lot about brushing up on EXTjs first as that is the placenta of ST's birth. (yes, I just said that) Truth is, if one has to learn another framework to utilize the one you are interested in, just to understand how it works, its a major fail. I'm not learning EXTjs just for ST...
For Sencha Touch, you should be versed in MVC, object oriented programming, debugging web technology and have a solid understanding of JavaScript.
Now the real question is 1.x or 2.x. Situations like this are highly debatable. Resource and cost analysis should be done on both versions to show how your development time increases if you were to port 1.x code to 2.x and any other overhead associated with learning curves, etc. So instead of give you my biased opinion, I'll just tell you what I did for my company (7k + employees).
My project needed to be at a certain milestone by a certain date and I certainly can't deploy something that isn't in production status. Simply meaning I cannot use a beta for anything substantial. As ST2.x is in the PR3 stage, it isn't ready for production. Not to mention a lot of key features of ST are currently missing from the ST 2.x release, though will be added in future releases as they progress to production stable.
I developed my app in 1.x because it was stable, has numerous examples and documentation available so I could produce an app TODAY. If I started in ST2, I wouldn't be able to finish the app. The API is not frozen, lacking full documentation, sparse examples, limited community resources and missing features. I can't wait for ST2(going to be great!) but can't risk my project over it.
Bottom line... if you need an app today, go with ST1, if you can hold off for another few months and have the time to make updates to your app as the ST2 API is frozen and features are added back in, then I would go that route. Cheers.
I would suggest learning Sencha Touch 2. I wasted a lot time working with Sencha Touch 1. Just before giving up - decided to try Sencha 2 - devel release 4. Much much easier to work with and learn.
Good luck
JRS
I am planning to build a website for courses online, teachers can create their courses and put their exams, students can enroll, view courses and apply for exams ..
I am a bit confused, to build it with DDN or Drupal ? which is easier and more powerful ?
I have no problem with .NET C# or PHP, although I see C# more easy to code with,
what I need to know, which CMS is better for my case ?
Which CMS is more robust & complete ?
Thanks in advance.
Of course, either platform has its pros and cons. What you're looking at building is essentially a Learning Management System, or LMS. There are a few existing LMS solutions built specifically for DotNetNuke. They include Engage: Campus, NetLearn, and Accord.
I would tell you to go with which ever platform offers you the most features for managing this kind of content for the best return on your investment, and offers you the best comfort level. If you're familiar with .Net and are comfortable in that arena, then stick with DotNetNuke. Otherwise go with another platform. However, having nearly 8 years of experience in developing solutions with DotNetNuke, and 13+ overall in developing software solutions (including PHP-based ones), if I have a choice, I always go with DotNetNuke. (And not just because I am an employee for a year now.)
I find that DotNetNuke has the most stable builds and releases overall. It's security team and features are second to none. It's community and ecosystem is unrivaled. If you're looking for a pre-built solution for any kind of business problem, chances are that the 10,000+ extensions in the Store or Forge will get you up and running with less development time and less expense. The forge has free (open source) extensions, and the median price of a store extension is $89 (LMS's are quite more expensive though).
The eco-system also boasts over 800 known ISV's out there. So chances are, if you're looking for support, not only is there an official company to provide it and back you up when something goes wrong, there are numerous other options out there in terms of companies that specialize in DotNetNuke.
One last thing on the releases... DotNetNuke has a known roadmap, a frequent release cycle, and an outstanding reputation for backwards compatibility. Your extensions will continue to work on the platform as you upgrade to take advantage of the latest and greatest features added to the platform, usability updates, bug fixes, and security updates.
As a Sales Engineer at DNN Corp, I hear all kinds of use cases, and I see DotNetNuke used a lot in educational institutions. They all use it to varying degrees as not only a CMS, but also a LMS, social platform (even in schools), and more. Most schools are also standardized in some way on the Microsoft stack too, so integration is much more straight-forward using DotNetNuke.
I could go on, but this is as much time as I have to give you an informed response.
Based on what you are trying to build DotNetNuke will only really give you authentication and basic page creation out of the box. All those other elements will have to be custom coded in .NET.
If you use Drupal 7 you can build majority of that using CCK, Views and workflow without really having to do a ton of programming if you don't want to.
I have been doing DotNetNuke since 2003 and have developed tons of modules for it, including some publicly available at www.dnnspot.com
If I was in your shoes I would do Drupal, but I know both pretty well.
ACTUALLY - If 'I' was in your shoes I would do Ruby on Rails now ;) but ... Drupal would work pretty well and you could get alot if not all of this done without slinging much code. Drupal is crazy.
DNN is now built on C# but has always been on .NET. I'm in a similar position as I code in PHP and .NET and have used Drupal and have been working on DNN for the last 4 years. I find that Module Development in DNN is wonderful.
i hope that helps.
Full featured Learning Management Systems (LMS) require substantial development (man decades), especially if you want to support SCORM eLearning content. Both DNN and Drupal will offer you most of the add on functionality that you will need in addition to the LMS features - the ability to build web pages, rich text editors, etc.
I would evaluate the different the LMS available for each platform and make your choice based on how robust the LMS are. In addition, evaluate how easily the LMS integrates with add on modules such as forums, wikis, etc. Most of our clients select our LMS without any knowledge of the portal framework beneath it.
Based on these evaluation metrics I am confident that you will find the Interzoic Accord LMS running on DNN to be a superior choice.
Chris
I'm considering using the Agile Toolkit, ATK4 to upgrade a number of web projects that I'm working on. I really like the idea/paradigm that the Agile Toolkit presents, but I'm worried about documentation.
The agile website's documentation is sparse, in broken English, and seems to 'paraphrase' the symfony documentation.
The agile toolkit alleges to have been in development/production since 1999, yet there are only a handful of StackOverflow.com posts regarding agile, and next to nothing comes up in Google searches...
In short is it worth spending time learning the Agile toolkit, or would my time be better spent on a framework that has more of an active support community? I've tried a few other frameworks, but ATK's implementation really stands out...
Initially ATK was born as an internal tool from Agile Technologies (.ie) so that has been conceived in 1999 but it was recently launched as dual licensed framework.
That's why it lacks some documentation and has not a huge community nor appears Googling.
I was amazed at first sight by its working way proposal so that I engaged it. The documentation has been already improved and over the time it will keep getting better and community will grow.
I had the chance to get in touch with the lead developer and trust me, it will get better and better.
Even, as an example all the ATK4's site is developed with the toolkit and the code is short and pretty easy to read.
Good luck!
ATK4 does have many examples, and code is concise and clear. It accomplishes the goal of wrapping server-side and client-side into one comprehensive framework via php. Plus it looks nice. It does appear that documentation is improving.
Yep - agree with what the others are saying - Romans is doing a great job of getting the documentation updated. I started writing an application in straight php but realised i was going to need to use jquery to get a nice, cross browser compatible front end and wanted a php framework that would support that.
I looked at Yii, Cake and CodeIgniter but ATK4 really seems to do what i wanted. Like anything, it takes a bit of getting used to and i'm still relatively new to both php and ATK4 but i've rewritten what i already had for my application in the framework and the code is so clean - all the html and css are separate and the page code is really compact. The integration with Jquery is great and i've just written a plugin that i needed to get jqplot working for nice looking graphs.
I've used CakePHP on several projects in the past, and have more recently started using Ruby on Rails, but there's a new project I'm about to start that will require PHP. While refreshing myself on CakePHP I learned that there is a new framework called Lithium that is essentially what CakePHP 3 was going to be. It's being developed by a group of former core CakePHP devs.
I haven't found a whole lot of information about it since it's still under development status, but I was wondering if anyone knows (or has a link to) some information on what benefits it provides over CakePHP. Hopefully something a bit beyond the quick overview shown on the official site. I'm trying to decide whether to use CakePHP for my upcoming PHP project or to wait a bit for Lithium to release a non-development version and try that out.
Hope this answer doesn't come too late, (and as the lead developer of Lithium, I'm a little biased :-)), but I will say that this is a hard thing to sum up. Lithium is the culmination of over 4 years' experience building and working with CakePHP, and while it retains many of the same designs and conventions, it was built to correct CakePHP's many architectural flaws.
In brief:
Framework features are grouped into loosely-coupled "packages" that are easy to use independently.
Tangentially, everything in Lithium is a "library", including your application, and Lithium itself. Support for integrating 3rd-party libraries is vastly improved, and all classes are namespaced, so you can finally have a model called File.
It is very easy to swap out core classes with your own custom implementations.
Lithium has a unique "filter" system that allows you to hook into many methods in the framework, which allows you to design your applications in an aspect-oriented fashion. These features work together to make Lithium the most flexible PHP framework, bar none.
Everything is lazy-loaded, and the architecture has been designed for maximum performance.
Lithium supports the latest tech, especially new databases like CouchDB and MongoDB.
I could go on for a while, but that's the gist of it. If you have any more questions, feel free to drop by #li3 on Freenode, and someone will happily give you a tour.
There is very little documentation so far. Here are some brand-new slides from gwoo though, that might be a good overview:
http://www.slideshare.net/gwoo/li3-ocphp
See the Lithium about page in their wiki. It lists all the features it will provide.
http://rad-dev.org/lithium/wiki/about