Our today guests are Frantisek Troster and Ludek Vodicka (owners of software company Inventic which developed ORM Designer)
1. About company (background, location, activities, when started, etc)
Inventic is a Czech company which we have founded in June 2006. Before founding Inventic me and Ludek have been working together on some projects where his task was Windows application development and mine was web development. Because we found out we can cooperate well we decided to join our forces and create a company.
Till 2009 we mainly focused on creating highly customized applications with special needs to publish content on the internet. In 2009 there was a big decision to change the company course and create our own product. That’s when we started working on ORM Designer which is currently our main product and result of our 2 years work.
2. When company started to use symfony for production development and what is the history behind it
Around the end of 2006 we were deciding if we should stick with PHP or move to J2EE. Both languages had cons and pros. The biggest advantages of PHP were lower hosting costs and speed of application development. We were looking for a suitable MVC framework which could bring more of the Java enterprise word into PHP. We’ve found Symfony and have been using for all web projects ever since.
Because we really enjoyed working with Symfony and were thinking how to make development more comfortable we thought of ORM Designer. ORM Designer is a visual tool for creating and managing ORM framework model schema. The way you work with ORM schema is very similar to classic entity relationship diagrams. With ORM Designer you can use new features which ORM frameworks introduced like entity inheritance, many to many associations and project plugins.
3. What symfony-driven projects you have launched and what were the issues with using symfony for them. Did you have to change anything (framework, hosting, ORM, payment gateway) or are you thinking about changing anything for these projects?
The portfolio of Symfony projects is quite wide. Mostly it had been used for websites and online stores, but there are also some intranet applications and even controlling system for a car components manufacturer. Symfony framework has proven it’s very stable and flexible for many use cases. We haven’t encountered any issues which would force us to replace any framework component.
First projects have been build on top of Propel ORM framework. But later Doctrine ORM came into the play and we have started new projects on top of Doctrine ORM as it was uncertain if the Propel development would continue (that was around Propel version 1.2). Of course there was a lot of maintenance tasks on bigger projects when we’ve switched to Symfony 1.2.
4. What are RDBMS, symfony plugins, ORM you use for symfony development.
Web applications are using MySQL as the database store. There was also one project that was using MSSQL database and was running on a MS Windows server. It was very tricky to install and configure the server to work correctly. We would like to try to use NOSQL database for our future projects with Doctrine ORM framework.
We didn’t use many symfony plugins in our projects. One of the plugins that were almost always used was sfDoctrineGuardPlugin. We also tried sfImageTransformPlugin for our latest project and it’s one of the best written codes I’ve ever seen.
5. From your perspective: where is moving symfony? Is this right direction? Are you planning to migrate to symfony 2 as soon as it becomes stable?
We like the way Symfony2 is shaping out. If everything goes the way it goes now we would be with Symfony framework for many years to come. There are for us two most important features we can see in Symfony2. First great change is better decoupling and effort to build Symfony from standalone components and highly configurable. Second feature we are looking forward to is the new cache framework. We won’t be changing most of our old projects to Symfony2. New projects would be built on top of Symfony2.
6. Critics of the symfony often refer to the slow speed and high learning curve. Do you use any accelerators/extra resource to speed up your production projects?
We haven’t actually ever used Symfony framework for any heavy loaded web application, so we can’t confirm lower speed. For us it was more important application development speed and code quality. If you have troubles with application speed there are always ways to increase computing performance, use caching mechanisms or to code slowest application parts in plain PHP or other language. These are relatively low costs. Much higher costs are refactoring or maintaining badly written code without unit tests. You can’t compare frameworks with plain code in the matter of speed, because than you would need to compare PHP lower languages like C. Compare frameworks with plain code in the matter of development comfort and we believe here are frameworks like Symfony or Zend Framework absolute winners.
7. What kind of hostings/servers you prefer to use for symfony projects
We are using ServerGrove for less than a year and we are happy with them.
8. What are symfony projects you are working on at the moment and are you using any other frameworks/languages along with symfony?
Currently there are only small websites being developed and our content management system which is also used for example at http://www.orm-designer.com/. We don’t use other programming languages for web development but we use many components from Zend Framework included as a plugin in Symfony framework.
9. Are you using any extra tools for development like IDE, visual DB/ORM builders, version control, continuous integration?
We are now using Netbeans IDE for code development and ORM Designer for designing application model. Some of the tools you might also find are Phing for builds and deployment, SVN for versioning or VirtualBox with Ubuntu Server for development and stagging servers.
10. What you’d like to tell to symfony community
We can’t say more than to keep on growing. Stay friendly to the new users and stay focused on the important part which is easy and fast web application development. Thank you.
Thank you too guys!