CakePHP vs Spring: What are the differences?
Developers describe CakePHP as "The Rapid Development Framework for PHP". CakePHP makes building web applications simpler, faster, while requiring less code. A modern PHP 7 framework offering a flexible database access layer and a powerful scaffolding system. On the other hand, Spring is detailed as "Provides a comprehensive programming and configuration model for modern Java-based enterprise applications". A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.
CakePHP and Spring can be categorized as "Frameworks (Full Stack)" tools.
"Open source" is the top reason why over 34 developers like CakePHP, while over 192 developers mention "Java" as the leading cause for choosing Spring.
CakePHP and Spring are both open source tools. It seems that Spring with 30.6K GitHub stars and 19.6K forks on GitHub has more adoption than CakePHP with 7.9K GitHub stars and 3.4K GitHub forks.
MIT, Zillow, and Intuit are some of the popular companies that use Spring, whereas CakePHP is used by Swat.io, Walls.io, and Zumba. Spring has a broader approval, being mentioned in 319 company stacks & 184 developers stacks; compared to CakePHP, which is listed in 66 company stacks and 29 developer stacks.
What is CakePHP?
What is Spring?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using CakePHP?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
The main pro of CakePHP is "bake" functionality and use of conventions, which, if you follow them and buy into them you can really create some complex, large applications quite fast. Faster than any other PHP framework I've ever used, and I've tried all the popular ones.
However, my issues with Cake are as follows:
The ORM is slow. Slower than many of the alternatives. It's queries sometimes do strange things like querying 2 tables separately instead of using a join and I've often faced memory issues stemming from the ORM.
The code conventions, while since 3 they have adopted PSR-2 are still a long way to go to being as compliant with the many PSRs as say, Laravel and Symfony. For example the controllers have an "initialize" method which is doing what you would/should do in __construct. Bugs me.
The template layer needs to be Twig and not the ctp one. This is where the conventions fall apart and I've seen controller code, and tonnes of php logic in views because ctp offers nothing useful, unlike twig or blade templates which are very clean in comparison.
That said I work on a project with hundreds of models and controllers and it holds up really well. I couldn't imagine the same application in Laravel or Symfony. It would be a mess.
CakePhp has is own Comunity and its very coprative they helpd me lot wen i wind no way to resolve a problem then i go for googling and Stack OverFlow but when we could not find any answer then we have to just post and shere issue with CakePhp Community and get answer Shortly
Spring is another gift rained down by the gods of Open Source Software (a.k.a. Pivotal Labs in this particular case) that just makes sense on all levels.
From Spring Boot, to SpringMVC, the configuration architecture & profile paradigm, Spring Cloud expandability, to the ease with which one can deploy Spring applets as microservices within Docker is an absolute joy.
CakePHP is used because it is a very feature-complete, battle-tested rapid development framework. This saves us months of development time because the API's do most of the work. There is also an extensive plugin and community built around this platform.
The core of the application use Spring Stack, to provide services and structure like:
- Self contained application with spring boot
- And many others.
그냥 간단한 MVC 웹 프레임 워크 인줄 알았는데 정말 모듈화가 잘 되있고, 사용하다보면 개발자에게 정말 편리하게 만들어 놓았다. vaildation 부분은 따로 처리 할 수 있고, 파라미터 담는 변수와 디폴트 값을 인자로 설정해 주는 부분도 참 좋은 것 같다. 또 spring-data 는 jpa 활용해 빠르게 개발하는데 유용하다.
CakePHP is one of the most mature and developed PHP Frameworks available, it brings order to Chaos and the core team are a decent bunch of people who really care about the project
- SpringFramework 중 MVC , AOP 등의 라이브러리를 활용하여 웹 어플리케이션 프로젝트 구성
공통 로직 구현 및 보안 처리 가능
Spring5에서 지원하는 함수형 프로그래밍 경험 있음
Used Spring Boot and its ORM to interacting with database server for web application development.