Need advice about which tool to choose?Ask the StackShare community!
Slim vs Symfony: What are the differences?
Developers describe Slim as "A PHP micro framework". Slim is easy to use for both beginners and professionals. Slim favors cleanliness over terseness and common cases over edge cases. Its interface is simple, intuitive, and extensively documented — both online and in the code itself. On the other hand, Symfony is detailed as "A PHP full-stack web framework". Symfony is written with speed and flexibility in mind. It allows developers to build better and easy to maintain websites with PHP. Symfony can be used to develop all kind of websites, from your personal blog to high traffic ones like Dailymotion or Yahoo! Answers.
Slim belongs to "Microframeworks (Backend)" category of the tech stack, while Symfony can be primarily classified under "Frameworks (Full Stack)".
"Microframework" is the primary reason why developers consider Slim over the competitors, whereas "Open source" was stated as the key factor in picking Symfony.
Slim and Symfony are both open source tools. It seems that Symfony with 21K GitHub stars and 6.98K forks on GitHub has more adoption than Slim with 9.92K GitHub stars and 1.84K GitHub forks.
Docplanner, Webedia, and eTobb are some of the popular companies that use Symfony, whereas Slim is used by Coderus, WebbyLab, and Die Coder GmbH. Symfony has a broader approval, being mentioned in 355 company stacks & 267 developers stacks; compared to Slim, which is listed in 26 company stacks and 19 developer stacks.
I'm about to begin working on an API, for which I plan to add GraphQL connectivity for processing data. The data processed will mainly be audio files being downloaded/uploaded with some user messaging & authentication.
I don't mind the difficulty in any service since I've used C++ (for data structures & algorithms at least) and would also say I am patient and can learn fairly quickly. My main concerns would be their performance, libraries/community, and job marketability.
Why I'm stuck between these three...
Symfony: I've programmed in PHP for back-end in a previous internship and may do so again in a few months.
Node.js: It's newer than PHP, and it's JavaScript where my front-end stack will be React and (likely) React Native.
Go: It's newer than PHP, I've heard of its good performance, and it would be nice to learn a new (growing) language.
Go with Node.js. There's something really satisfying about being able to use a single language across your entire tech stack. Especially once you integrate GraphQL, which is effectively JSON.
Your second best option is Go, but the ecosystem around Node.js is quite a bit stronger. This will play a big factor when you start building functionality like file management, messaging (especially in real-time), and authentication. The libraries and documentation are just stronger for Node.
Pros of Slim
- Microframework32
- API27
- Open source21
- Php20
- Fast11
- Restful & fast framework8
- Easy Setup, Great Documentation7
- Clear and straightforward5
- Good document to upgrade from previous version5
- Modular4
- Composer1
- Dependency injection1
- Easy to learn1
Pros of Symfony
- Open source176
- Php148
- Community129
- Dependency injection128
- Professional121
- Doctrine79
- Organized74
- Modular architecture70
- Smart programming46
- Solid44
- Documentation20
- LTS releases15
- Easy to Learn10
- Decoupled framework components9
- Robust9
- Service container8
- Bundle8
- Good practices guideline8
- Simple7
- Powerful7
- Flexible6
Sign up to add or upvote prosMake informed product decisions
Cons of Slim
Cons of Symfony
- Too many dependency9
- Lot of config files7
- YMAL4
- Feature creep2
- Bloated1