Symfony: pros and cons, and examples of projects

26 Jun 2020
Kate, copywriter
We choose to work with grand things. We choose Symfony.
all news
BlaBlaCar Symfony

The basic outline of Symfony’s pros and cons

Another top-notch cross-platform PHP framework, that is especially good for large project development. So, if you want complex features for a long-term basis – don’t hesitate, Symfony fits the purpose just right. It provides multi-user and multi-language content, text search, and interface patterns. It works with a good ol’ Model-View-Controller and allows numerous plugins for any additional task. With such great popularity, the framework has strong community support and is backed up with constant updates. Symfony’s features for best-practice products include: 

  • Object-relational layers Proper or Doctrine allow describing each model and function;
  • Dependency Injection makes classes co-dependent, and allows making fewer changes; this reduces redundant coding;
  • Unit testing with PHPUnit allows faster bugs check;
  • Twig allows using HTML templates for time- and code-efficiency;
  • E-Mail library Swift Mailer improves email sending, integrating safety practices, authorization, and attachments;
  • Scaffolding and database support: Drizzle, MySQL, Oracle, PostgreSQL, SAP Sybase;
  • Automated data migration;
  • Bundles – like plugins, only better because they can be reused in multiple applications. They allow fast code changing. 

However, everything has its price, and so Symfony is somewhat challenging to learn when comparing to other frameworks. It often relies on additional technologies at its core. No matter how great it is already designed and performing, Symfony lacks important features. The complexity in entering the market results in fewer devs, as they will have to spend more time learning, and time is money in our world. Few devs = more time to find them for a project. It creates a necessity to invest in the bringing up of new coders, and bigger financial expenditure for those few you’ve already hired. Also, the documentation lacks explanations occasionally, especially when it comes to the outline of bundles by its creators. 

SapientPro is lucky enough to work with developers successfully coding in Symfony. They are not afraid of any learning curve and, in fact, they “straighten” it, being able to explain the hard-to-grasp information even for those who don’t have a full understanding of IT. Challenges fasten skills, and with each new Symfony project, we understand how important creativity is, and how well it helps to overcome documentation fallacies.

Symfony is truly magical, and if you don’t believe – here are several successful companies that have used its spells. 

Top projects built on Symfony

BlaBlaCar

This is a shared mobility platform, that contributes to efficiency in time, spendings, and resources. In simple words, it helps you to commute and drivers to earn spare money. BlaBlaCar uses Symfony for the website’s backend and backoffice. When you need to get from A to B, it works the following way

  • Look for people who drive to your destination on the platform;
  • Choose those drivers who offer the price affordable and the time convenient to you;
  • Book the place in the car;
  • Get driver’s contacts;
  • Meet, ride, pay;
  • Get to your destination;
  • Evaluate the trip.

Sounds pretty easy, and it must be so as the simpler the commuting arranging process, the bigger the userbase. However, to perform such simple steps, BlaBlaCar app needs to operate with the database smoothly, and MySQL is their solution for that. It is especially important here because:

  • the app is popular, especially in Europe;
  • it contains 60 million users and 9 million drivers; 
  • it needs to update trips status immediately;
  • it must exchange the info between users and drivers;
  • it allows scoring and rating formation. 
Spotify Symfony

Spotify

With 75 million active users and 600 thousand requests per second, Spotify manages all this traffic with flying colors. Music for everyone is a pretty daunting task, requiring a powerful platform to work smoothly for all multiple users and with all units of music. Spotify is available on all platforms: tablets, computers, mobiles, and TVs. Users can download the songs, and listen to them even when there’s no Internet connection. 

Spotify has created a platform for developers where they teach them how to integrate SpotifyApp into other apps. They willingly share their experience and allow other projects to use their APIs, SDKs, and other developer tools. That’s some kind of input into powerful community support. Overall, Symfony assisted here in creating a highly customizable platform, flexible for adjustments, and fitting perfectly its target audience needs. 

Vogue

Beauty is in the eyes of the beholder. When there are more than 20 million beholders, you need to produce a product of great quality. High fashion requires a powerful platform to display it. This way, the French and Dutch websites of this famous magazine chose Symfony to bring the fine taste online. It is a combination of a lifestyle lookbook and a blog that altogether serve as a digital substitution of a paper version of Vogue. However, you can store magazines on your shelves, and here Symfony creates these database “shelves” on the websites. All of that for millions of monthly readers. 

Course Hero

To make every study hour count, Course Hero made every developing hour effective with Symfony. This is an eLearning platform for course delivery. To enhance the acquisition of knowledge they needed to optimize timetable and task management tools, email sending process, and the database of courses and users’ performance. Also, it allows filtering by subjects and Universities. Course Hero is available on various platforms – smartphones, tablets, and computers. The website also utilizes virtual classrooms and forums. With 7 million page views per day, the learning tool perfectly organizes the work of all users. 

Procurious Symfony

Procurious

A platform for news and insights delivery about procurement. It is a blog of high capacity, and you can immerse yourself into it even more by logging in. Procurious also contains a platform with online classes, webinars, and podcasts. Here you can also find out about the most topical events, and even schedule them in your calendar, which is also available on the website. Here, you have an opportunity to discuss the news and share your newly attained knowledge on the discussion page. Also, it has a SaaS model of delivery, so you can use a free plan at first, however, later you pay for what you consume. This creates a necessity of implementing a complex payment system along with the database and above-described features maintenance.

Play your PHP Symfony 

There’s no accounting for taste, and it is also true for PHP frameworks. It’s like with music. You may enjoy Kendrick Lamar on your way to work. Your co-developer listens to 80’s hits and your PM secretly sings along with Taylor Swift. Each style of music is different. Each separate song is unique, and it’s up to the composers which set of notes they’d implement to make the listeners either set the song for an alarm clock and hate for the rest of the life or dream of hearing it on a live concert. 

So, when talking about frameworks – it’s also a matter of taste. Laravel, Phalcon, Yii2 – choose what’s best for your product like you would choose music for a rave or for your parents’ birthday. And all these analogies with music are leading us to Symfony – one of the best and complex PHP frameworks – that really positions itself as a powerful orchestra, if there were any in the programming world. It enables the creation of complex and elaborated web apps, although the learning curve is higher here and you will put more effort into getting to the grips with it. However, it’s always harder to rule the symphonic orchestra than strumming few accords on the guitar while hanging out with friends. 

We choose to work with grand things. We choose Symfony.

share this article in:
Laravel - basic outline and examples of projects
Kate, copywriter
Laravel - basic outline and examples of projects
read more
Back
© 2020 SapientPro. All rights reserved.
career design typing career design typing Ресурс 1