Yesterday, me and my fellows from @XSolve arrived to Madrid at SymfonyCon Madrid 2014 conference. It’s the greatest and finest Symfony’s event in the year. A lot attendees came to listen about Symfony as a framework and as a success story.
The day started with opening Keynote conducted by Fabien Potencier. To continue the last year tradition, he invited a couple of people involved to Symfony’s development to present and introduce everybody into the changes entered to the newest version which was called by Ryan Weaver “The best and most tremendous version of Symfony”.
From the Keynote we can catch the direction of Symfony for the next year. I think the first thing might be improving Developer Experience (DX), call to contributing and giving feedback. A lot of thinks are going to happen or happened past year – the Symfony Installer has been release, a bunch of little or grater DX changes were merged to the framework and the showcases subsite will be published.
I think, this year’s conference is purposed to show a clear vision of the next year in Symfony’s community and every presentation proved that.
The Developer Experience (DX) Initiative
Because I’m the person who likes motivation talks and wants to bring something to community I would call this presentation as one of the best as most interesting for me, this day.
An amazing introduction to the main direction of Symfony 2.6. It was not only about new features available, but about making the development process easier and simplier. As Ryan mentioned – DX is not about less code, it’s about creating bigger and better applications in less time.
But the features are impressive – the new dump function, ajax profiler, voters etc.
Easy vs Simply
There is a huge difference between easy and simply. In example, loosing weight is simple, but not easy. Hooks in Drupal are easy to use, but not simple. I must admit that Ryan has right – making things easier to use is much less complicated than making them simple, so…
Simple first, then easy
Five weird tricks to become a better developer
The very first soft-skills presentation of Jordi and even if some things were “whatever” and the speaker looked a little stressed, this presentation pointed important topics which are sometimes forgotten by devs.
Reflect, talk about why (not what) and emphatize – these are only a couple points mentioned in presentation. When Jordi was almost out of time and said “I’ve to rush, it’s gonna be crazy”, the next slide showed up – “Chill out”. Yeah, we can do that.
Besides of all pieces of advice given by Jordi, one sentence I keep in my mind:
You cannot solve problems you do not understand
Rock solid deployment of Symfony Apps
This presentation might change the way you thing about the deployment. And not because automate deployment are new for you, but because the speaker said “start to think about deployment in the very beginning, the it will be to late”.
The success of deployment depends on many factors like environment, server configuration, application configuration, changes in the code. And you do not know if anything won’t change in the future (the infrastructure may grow up). To be really prepared for these changes and not to waste your time on reverting the code, database or configuration.
Do not deploy on Friday, but deploy as often as you can. Even a couple of times a day.
The deployment should be predictable and you need to know what will happen after that. You need to have a plan. And the best plan is to automate this. So, you can choose your weapon – capifony, ansible or some PaaS service like Heroku. You should be able to revert to previous version fast.
Symfony Tips & Tricks
This was a huge bundle of nice tools, tips, tricks, good practices etc. I wish I wrote down all of them and describe you, but every single should be described in separated article. I’ve found in my notes the most interesting things, like:
- Defined named assets and assets packages
- Enable profiler for specific users
- Use Monolog for logging
- Use Prophecy with PHPUnit
- How to run tests in parallel
- How to implement Value Objects in Doctrine
- How to create a global query filter
Even if you use some of them or do not agree, you can probably pick one and learn.
Feature Flags with Symfony
The concept of development detached from branches, enabling and disabling features for selected users, roles or domains and accepting them from administration panel seems to be quite interesting. The presentation is more like a showcase than a handbook for developers. You can find answers – how to handle routing, views, different event listeners or alternative controllers.
HornCologne Lighting Talk!
This wasn’t about Drupal. This was about you, your work, your involvement and your engagement to the community. The main message is – if something is bothers you, you do not like some solutions or piece of code
The whole day was purposed for not only advanced developers, but also for beginners who wants to start an adventure with Symfony from scratch. The Developer Experience really matters and will be improved a lot in the future. As one of ORO CRM system’s authors said – start development with Symfony without any knowledge to full development took them a month. That’s fast and I believe this could be faster.
P.S. I hope I will attache more slides from presentation when they’ll be published.
The list of presentations with slides is available on official SymfonyCon github repository.