When comparing CakePHP vs FeathersJS, the Slant community recommends FeathersJS for most people. In the question“What are the best backend web frameworks?” FeathersJS is ranked 35th while CakePHP is ranked 50th. The most important reason people chose FeathersJS is:
Feather can sync events happening in two different Node processes or even servers in real-time. For example: an event happens in server A, the user connected to server B is instantly notified of that event. This is done through a central Redis or Mongo collection or through a websocket libraries' clustering library.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Built-in ORM that's easy to use
Cake has a built-in ORM which is pretty easy to use and learn. Building queries can also be done very easily and fetching entire columns can be done in one or two lines of code.
Pro Fast development
Developing in CakePHP is very fast and flexible.
CakePHP is about fast and reliable development, it achieves this by following the convention over configuration principle as it's heavily inspired by Rails (which follows the same programming paradigm).
Convention over configuration is all about making it easier for the developer to start immediately writing code without worrying on what's going on "under the hood".
Pro Large library of helper classes
CakePHP has a large library of helper classes with features such as:
- Authorization
- AJAX
- Forms
- E-mails
- Internationalization
etc...
Pro Exhaustive list of resources to learn CakePHP
Cake's great community has thrown together an exhaustive and amazing list of resources to get started with CakePHP. It's open source and can be found on GitHub.
Pro Open Source
CakePHP open source and is licensed under the MIT license.
Pro Can sync events between different Node instances
Feather can sync events happening in two different Node processes or even servers in real-time. For example: an event happens in server A, the user connected to server B is instantly notified of that event.
This is done through a central Redis or Mongo collection or through a websocket libraries' clustering library.
Pro Easy REST APIs
Through services, Feathers provides instant CRUD functionality, it also can easily expose a RESTful and real-time API through HTTP/HTTPS and websockets.
Pro Can be integrated in an existing ExpressJS project
Since Feathers itself is built on top of Express (it's a thin wrapper over socket.io, primus and Express) and because of Feathers' highly modular nature, it's very easy to integrate Feathers in an existing Express project.
Pro Plug-in any feature you need
Feathers makes extensive use of modules (which are called Feathers services). These services work like ExpressJS middleware and can be used with app.use('/path', serviceObject)
.
Services help developers keep their applications modular and as minimal as possible, without any unnecessary libraries or bloat.
Pro Support for different socket transports
FeatherJS uses primus which is a universal wrapper for real-time frameworks. Through primus you can easily choose which socket transport you want to use.
Cons
Con Slow
Because of legacy code, old concepts and prioritizing development speed over everything else, CakePHP is bloated and slow.
Con Not so widely used
Could be problematic to convince the client use this framework in his/her project.
Con Not very beginner friendly
Although the documentation for Feathers is very good, it still needs some configuration in order to get Feathers up for developing something with it.
