What is Symfony and what are its top alternatives?
Top Alternatives to Symfony
- Laravel
It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching. ...
- Spring
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. ...
- Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. ...
- WordPress
The core software is built by hundreds of community volunteers, and when you’re ready for more there are thousands of plugins and themes available to transform your site into almost anything you can imagine. Over 60 million people have chosen WordPress to power the place on the web they call “home” — we’d love you to join the family. ...
- Phalcon
Phalcon is a web framework implemented as a C extension offering high performance and lower resource consumption. ...
- CodeIgniter
CodeIgniter is a proven, agile & open PHP web application framework with a small footprint. It is powering the next generation of web apps. ...
- Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. ...
- Rails
Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. ...
Symfony alternatives & related posts
- Clean architecture538
- Growing community383
- Composer friendly362
- Open source333
- The only framework to consider for php313
- Mvc215
- Quickly develop206
- Dependency injection164
- Application architecture153
- Embraces good community packages141
- Write less, do more69
- Orm (eloquent)64
- Restful routing63
- Database migrations & seeds53
- Artisan scaffolding and migrations51
- Awesome38
- Great documentation37
- Awsome, Powerfull, Fast and Rapid28
- Build Apps faster, easier and better26
- Promotes elegant coding25
- Eloquent ORM24
- Modern PHP24
- JSON friendly23
- Easy to learn, scalability22
- Most easy for me21
- Blade Template21
- Beautiful21
- Test-Driven20
- Security14
- Based on SOLID14
- Cool12
- Easy to attach Middleware12
- Clean Documentation12
- Simple11
- Convention over Configuration11
- Easy Request Validatin10
- Simpler9
- Easy to use9
- Fast9
- Get going quickly straight out of the box. BYOKDM8
- Laravel + Cassandra = Killer Framework8
- Its just wow8
- Friendly API8
- Super easy and powerful7
- Simplistic , easy and faster7
- Less dependencies7
- Its beautiful to code in6
- Great customer support6
- Speed5
- Laravel Mix5
- Minimum system requirements5
- Easy5
- The only "cons" is wrong! No static method just Facades5
- Fast and Clarify framework5
- Active Record5
- Php75
- Composer4
- Easy views handling and great ORM4
- Eloquent4
- Laragon4
- Ease of use3
- Laravel Forge and Envoy3
- Laravel Horizon and Telescope3
- Laravel Passport3
- Cashier with Braintree and Stripe3
- Intuitive usage3
- Laravel Spark3
- Laravel Nova3
- Laravel casher3
- Scout2
- Rapid development2
- Lovely1
- Deployment1
- Succint sintax1
- Laravel Vite1
- PHP48
- Too many dependency31
- Slower than the other two22
- A lot of static method calls for convenience17
- Too many include15
- Heavy12
- Bloated8
- Laravel7
- Confusing6
- Too underrated5
- Not fast with MongoDB3
- Difficult to learn1
- Not using SOLID principles1
related Laravel posts
I need to build a web application plus android and IOS apps for an enterprise, like an e-commerce portal. It will have intensive use of MySQL to display thousands (40-50k) of live product information in an interactive table (searchable, filterable), live delivery tracking. It has to be secure, as it will handle information on customers, sales, inventory. Here is the technology stack: Backend: Laravel 7 Frondend: Vue.js, React or AngularJS?
Need help deciding technology stack. Thanks.
Back at the start of 2017, we decided to create a web-based tool for the SEO OnPage analysis of our clients' websites. We had over 2.000 websites to analyze, so we had to perform thousands of requests to get every single page from those websites, process the information and save the big amounts of data somewhere.
Very soon we realized that the initial chosen script language and database, PHP, Laravel and MySQL, was not going to be able to cope efficiently with such a task.
By that time, we were doing some experiments for other projects with a language we had recently get to know, Go , so we decided to get a try and code the crawler using it. It was fantastic, we could process much more data with way less CPU power and in less time. By using the concurrency abilites that the language has to offers, we could also do more Http requests in less time.
Unfortunately, I have no comparison numbers to show about the performance differences between Go and PHP since the difference was so clear from the beginning and that we didn't feel the need to do further comparison tests nor document it. We just switched fully to Go.
There was still a problem: despite the big amount of Data we were generating, MySQL was performing very well, but as we were adding more and more features to the software and with those features more and more different type of data to save, it was a nightmare for the database architects to structure everything correctly on the database, so it was clear what we had to do next: switch to a NoSQL database. So we switched to MongoDB, and it was also fantastic: we were expending almost zero time in thinking how to structure the Database and the performance also seemed to be better, but again, I have no comparison numbers to show due to the lack of time.
We also decided to switch the website from PHP and Laravel to JavaScript and Node.js and ExpressJS since working with the JSON Data that we were saving now in the Database would be easier.
As of now, we don't only use the tool intern but we also opened it for everyone to use for free: https://tool-seo.com
Spring
- Java226
- Open source156
- Great community134
- Very powerful122
- Enterprise114
- Lot of great subprojects64
- Easy setup59
- Convention , configuration, done44
- Standard40
- Love the logic30
- Good documentation12
- Dependency injection11
- Stability10
- MVC8
- Easy6
- Makes the hard stuff fun & the easy stuff automatic3
- Strong typing3
- Code maintenance2
- Best practices2
- Maven2
- Great Desgin2
- Easy Integration with Spring Security2
- Integrations with most other Java frameworks2
- Java has more support and more libraries1
- Supports vast databases1
- Large ecosystem with seamless integration1
- OracleDb integration1
- Live project1
- Draws you into its own ecosystem and bloat15
- Verbose configuration3
- Poor documentation3
- Java3
- Java is more verbose language in compare to python2
related Spring posts
Is learning Spring and Spring Boot for web apps back-end development is still relevant in 2021? Feel free to share your views with comparison to Django/Node.js/ ExpressJS or other frameworks.
Please share some good beginner resources to start learning about spring/spring boot framework to build the web apps.
I am consulting for a company that wants to move its current CubeCart e-commerce site to another PHP based platform like PrestaShop or Magento. I was interested in alternatives that utilize Node.js as the primary platform. I currently don't know PHP, but I have done full stack dev with Java, Spring, Thymeleaf, etc.. I am just unsure that learning a set of technologies not commonly used makes sense. For example, in PrestaShop, I would need to work with JavaScript better and learn PHP, Twig, and Bootstrap. It seems more cumbersome than a Node JS system, where the language syntax stays the same for the full stack. I am looking for thoughts and advice on the relevance of PHP skillset into the future AND whether the Node based e-commerce open source options can compete with Magento or Prestashop.
- Rapid development660
- Open source480
- Great community415
- Easy to learn371
- Mvc270
- Beautiful code225
- Elegant217
- Free200
- Great packages197
- Great libraries186
- Restful74
- Comes with auth and crud admin panel73
- Powerful72
- Great documentation69
- Great for web64
- Python52
- Great orm39
- Great for api37
- All included28
- Fast25
- Web Apps23
- Clean21
- Used by top startups20
- Easy setup19
- Sexy17
- Convention over configuration14
- ORM14
- Allows for very rapid development with great libraries13
- The Django community12
- Great MVC and templating engine10
- King of backend world10
- Full stack8
- Batteries included7
- Its elegant and practical7
- Fast prototyping6
- Very quick to get something up and running6
- Cross-Platform6
- Have not found anything that it can't do6
- Mvt6
- Zero code burden to change databases5
- Easy to develop end to end AI Models5
- Easy Structure , useful inbuilt library5
- Map4
- Easy to change database manager4
- Easy4
- Great peformance4
- Many libraries4
- Python community4
- Modular4
- Easy to use4
- Just the right level of abstraction3
- Scaffold3
- Full-Text Search3
- Scalable1
- Node js1
- Rails0
- Fastapi0
- Underpowered templating26
- Autoreload restarts whole server22
- Underpowered ORM22
- URL dispatcher ignores HTTP method15
- Internal subcomponents coupling10
- Not nodejs8
- Configuration hell8
- Admin7
- Not as clean and nice documentation like Laravel5
- Python3
- Not typed3
- Bloated admin panel included3
- Overwhelming folder structure2
- InEffective Multithreading2
- Not type safe1
related Django posts
Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.
Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.
For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.
However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.
All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.
Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?
WordPress
- Customizable413
- Easy to manage364
- Plugins & themes352
- Non-tech colleagues can update website content258
- Really powerful246
- Rapid website development144
- Best documentation77
- Codex51
- Product feature set44
- Custom/internal social network35
- Open source16
- Great for all types of websites8
- Huge install and user base6
- I like it like I like a kick in the groin5
- It's simple and easy to use by any novice5
- Perfect example of user collaboration5
- Open Source Community5
- Most websites make use of it5
- Best5
- Community4
- API-based CMS4
- Easy To use3
- <a href="https://secure.wphackedhel">Easy Beginner</a>2
- Plugins are of mixed quality12
- Hard to keep up-to-date if you customize things12
- Not best backend UI9
- Complex Organization2
- Great Security1
related WordPress posts
I've heard that I have the ability to write well, at times. When it flows, it flows. I decided to start blogging in 2013 on Blogger. I started a company and joined BizPark with the Microsoft Azure allotment. I created a WordPress blog and did a migration at some point. A lot happened in the time after that migration but I stopped coding and changed cities during tumultuous times that taught me many lessons concerning mental health and productivity. I eventually graduated from BizSpark and outgrew the credit allotment. That killed the WordPress blog.
I blogged about writing again on the existing Blogger blog but it didn't feel right. I looked at a few options where I wouldn't have to worry about hosting cost indefinitely and Jekyll stood out with GitHub Pages. The Importer was fairly straightforward for the existing blog posts.
Todo * Set up redirects for all posts on blogger. The URI format is different so a complete redirect wouldn't work. Although, there may be something in Jekyll that could manage the redirects. I did notice the old URLs were stored in the front matter. I'm working on a command-line Ruby gem for the current plan. * I did find some of the lost WordPress posts on archive.org that I downloaded with the waybackmachinedownloader. I think I might write an importer for that. * I still have a few Disqus comment threads to map
WordPress Magento PHP Java Swift JavaScript
Back in the days, we started looking for a date on different matrimonial websites as there were no Dating Applications. We used to create different profiles. It all changed in 2012 when Tinder, an Online Dating application came into India Market.
Tinder allowed us to communicate with our potential soul mates. That too without paying any extra money. I too got 4-6 matches in 6 years. It changed the life of many Millennials. Tinder created a revolution of its own. P.S. - I still don't have a date :(
Posting my first article. Please have a look and do give feedback.
Communication InAppChat Dating Matrimonial #messaging
- Fast64
- High performance54
- Open source37
- Fast and easy to use35
- Scalable32
- Versatile23
- Fiexble22
- Automatic routing20
- It is easy and fast19
- Is very good17
- Low overhead9
- Dependency injection9
- Awesome6
- Easy and fast2
- Great for API1
- Clean Architecture1
- Modularity1
- Easy Setup1
- Very customizable0
- Support few databases4
- Very bad documentation2
related Phalcon posts
- Mvc87
- Easy setup76
- Open source70
- Well documented62
- Community support36
- Easy to learn25
- Easy21
- Fast14
- HMVC11
- Language Suppert9
- "Fast","Easy","MVC"9
- Powerful7
- Easy, fast and full functional6
- I think it is best. we can make all types of project6
- Open source, Easy to setup6
- Customizable5
- Beginner friendly framework5
- Super Lightweight, Super Easy to Learn4
- CLI3
- Easily Extensible2
- Powerful1
- No ORM6
- No CLI1
related CodeIgniter posts
Hi all, I need to create a simple IoT interface application that connects the end device API with a GeoTab API. I am considering using Bubble due to its simple interface and configuration tools, but I fear it's too simple. We will want to add features and new devices as we grow - I was thinking of using CodeIgniter or CakePHP on a hosted site for the application. Must support JCOM encoding between the two APIs and there is no need for a separate interface as GeoTab already has one; we are just connecting and pushing data. Thoughts?
I have used PHP to do end to end developments , using Laravel CodeIgniter frameworks.
Node.js
- Npm1.4K
- Javascript1.3K
- Great libraries1.1K
- High-performance1K
- Open source802
- Great for apis485
- Asynchronous475
- Great community420
- Great for realtime apps390
- Great for command line utilities296
- Websockets82
- Node Modules82
- Uber Simple69
- Great modularity59
- Allows us to reuse code in the frontend58
- Easy to start42
- Great for Data Streaming35
- Realtime32
- Awesome28
- Non blocking IO25
- Can be used as a proxy18
- High performance, open source, scalable17
- Non-blocking and modular16
- Easy and Fun15
- Easy and powerful14
- Same lang as AngularJS13
- Future of BackEnd13
- Fullstack12
- Fast11
- Cross platform10
- Scalability10
- Simple9
- Mean Stack8
- Great for webapps7
- Easy concurrency7
- Typescript6
- React6
- Fast, simple code and async6
- Friendly6
- Great speed5
- Easy to use and fast and goes well with JSONdb's5
- Scalable5
- Its amazingly fast and scalable5
- Control everything5
- Fast development5
- Isomorphic coolness4
- Easy to use4
- It's fast4
- Great community3
- Scales, fast, simple, great community, npm, express3
- TypeScript Support3
- Sooper easy for the Backend connectivity3
- Not Python3
- One language, end-to-end3
- Easy3
- Easy to learn3
- Less boilerplate code3
- Performant and fast prototyping3
- Blazing fast3
- Event Driven2
- Lovely2
- Npm i ape-updating2
- Creat for apis1
- Node0
- Bound to a single CPU46
- New framework every day44
- Lots of terrible examples on the internet38
- Asynchronous programming is the worst31
- Callback23
- Javascript18
- Dependency based on GitHub11
- Dependency hell11
- Low computational power10
- Very very Slow7
- Can block whole server easily7
- Callback functions may not fire on expected sequence6
- Unneeded over complication3
- Unstable3
- Breaking updates3
- No standard approach2
- Bad transitive dependency management1
- Can't read server session1
related Node.js posts
When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?
So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.
React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.
Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.
How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:
Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.
Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:
https://eng.uber.com/distributed-tracing/
(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)
Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark
- Rapid development853
- Great gems651
- Great community605
- Convention over configuration481
- Mvc416
- Great for web349
- Beautiful code344
- Open source311
- Great libraries270
- Active record260
- Elegant106
- Easy to learn89
- Easy Database Migrations87
- Makes you happy79
- Free74
- Great routing62
- Has everything you need to get the job done53
- Great Data Modeling41
- Beautiful38
- MVC - Easy to start on38
- Easy setup35
- Great caching26
- Ultra rapid development time25
- It's super easy22
- Great Resources17
- Easy to build mockups that work16
- Less Boilerplate14
- Developer Friendly7
- API Development7
- Great documentation6
- Easy REST API creation5
- Quick5
- Great language4
- Intuitive4
- Haml and sass4
- Easy to learn, use, improvise and update4
- Metaprogramming2
- It works2
- Jet packs come standard2
- Easy and fast2
- Legacy2
- It's intuitive1
- Convention over configuration1
- Easy Testing1
- Cancan1
- Too much "magic" (hidden behavior)23
- Poor raw performance14
- Asset system is too primitive and outdated11
- Heavy use of mixins6
- Bloat in models6
- Very Very slow4
related Rails posts
Oof. I have truly hated JavaScript for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language.
But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using React and Apollo together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase rich apps; I don't think I've ever said such Enterprisey words before.
But yeah, things are different now. I still love Rails, and still use it for a lot of apps I build. But it's that silly rich apps phrase that's the problem. Users have way more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.
Obviously there's a lot of things happening here, so just saying "JavaScript isn't terrible" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it.
StackShare Feed is built entirely with React, Glamorous, and Apollo. One of our objectives with the public launch of the Feed was to enable a Server-side rendered (SSR) experience for our organic search traffic. When you visit the StackShare Feed, and you aren't logged in, you are delivered the Trending feed experience. We use an in-house Node.js rendering microservice to generate this HTML. This microservice needs to run and serve requests independent of our Rails web app. Up until recently, we had a mono-repo with our Rails and React code living happily together and all served from the same web process. In order to deploy our SSR app into a Heroku environment, we needed to split out our front-end application into a separate repo in GitHub. The driving factor in this decision was mostly due to limitations imposed by Heroku specifically with how processes can't communicate with each other. A new SSR app was created in Heroku and linked directly to the frontend repo so it stays in-sync with changes.
Related to this, we need a way to "deploy" our frontend changes to various server environments without building & releasing the entire Ruby application. We built a hybrid Amazon S3 Amazon CloudFront solution to host our Webpack bundles. A new CircleCI script builds the bundles and uploads them to S3. The final step in our rollout is to update some keys in Redis so our Rails app knows which bundles to serve. The result of these efforts were significant. Our frontend team now moves independently of our backend team, our build & release process takes only a few minutes, we are now using an edge CDN to serve JS assets, and we have pre-rendered React pages!
#StackDecisionsLaunch #SSR #Microservices #FrontEndRepoSplit