Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Let the debate begin! Why do you use SilverStripe?


Go to End


8 Posts   2447 Views

Avatar
CodeGuerrilla

Community Member, 105 Posts

1 October 2011 at 4:48pm

Edited: 01/10/2011 8:45pm

Hello SilverStripe Developers/Community,

I have a bit of debate on my hands about SilverStripe and its capabilities I would ask you as the community to please address these comments/concerns:

Also these concerns are being raised in relation to using cakePHP instead.

1. The speed of development. This includes both the time it takes to learn a new system, and the time it takes to actually code components.

Poor documentation - Documentation is extremely lacking with SilverStripe in comparison to alternatives, and this has a negative impact both on the amount of time it takes to train new staff and to use the system ourselves.

Poor system architecture - The system itself does not lend itself to rapid development. Other alternatives do.
Furthermore, I believe that the time it takes to learn and implement a new framework would still amount to less time than attempting to implement it in SilverStripe.

2. The potential growth of the core system. This basically amounts to the ability to rework the system to handle more complex systems in the future. I assume that future projects may include greater complexity.

Lack of flexibility - SilverStripe's architecture is such that it does not lend itself to uses outside of very basic relational systems. As we begin to create systems for clients with increasingly complex membership structures or billing tracking requirements, this will only prove to be a greater and greater obstacle. As complexity increases, we will be forced to use more and more unorthodox methods to achieve our goals. I cannot stress this more: SilverStripe is not intended for web application design.

Lack of scalability - SilverStripe is an extremely heavy system. Its architecture may be fine for serving static pages of content that are not often changed, but using it to handle a frequently updated set of data (membership, transaction, and bonus tracking) will almost definitely see negative performance in comparison to other frameworks. Furthermore, higher hardware requirements associated with SilverStripe means higher overhead costs.

Quality of product - Using SilverStripe will force the use of unorthodox and unrecommended coding practices to achieve our required functionality. This will result in a product that exhibits unpredictable behavior. I don't have to tell you what will happen if our end product is poor quality, as you're already experiencing the client side of that with our old system.

Other points to consider:

SilverStripe is a CMS (Content Management System), not a framework. As its name suggests, a CMS's primary purpose is for managing content, not application design. CMSs and frameworks are apples and oranges.

Just because SilverStripe is able to handle a dozen languages does not mean that it is appropriate for application development. Its current uses at our company do not even come close to what we have to accomplish for the core product. Furthermore, we are capable of producing a quality product that is multi-language capable with any other framework.

The use of a hybrid system (i.e. SilverStripe to handle content and a framework to handle the web application) is not a problem. If properly designed, we can make the transition seamless for the user. In other words, changing frameworks will not mean having to throw out work done in SilverStripe.

SilverStripe offers zero advantage over any other framework except for the fact that it has a CMS built in. Having a built in CMS should not be the basis of choosing a platform for a highly complex web application.

Any claims that development with SilverStripe are null when compared to the time it takes to fully learn the system by trial and error.
We do not require any external contracting if we select a good framework.

*Note* By the way the above is not my opnion at all, there are vaild points I agree on like documentation and yes some of the SS implemention is not the best design out there, I have been using it for around three years and the more I use it the more flexible it becomes, it does have a high cost for learning but in my opinion it is well worth it.

Avatar
CodeGuerrilla

Community Member, 105 Posts

1 October 2011 at 11:04pm

Come on Community lets show there is one! To arms our castle is being attacked!

Avatar
MarcusDalgren

Community Member, 288 Posts

2 October 2011 at 1:21am

Well considering all the arguments about speed and heavyness CakePHP seems like a rather ironic/stupid alternative. In every framework comparison I've seen CakePHP has come out last in regards to speed and memory footprint etc. If you want fast you need something lightweight and if you want alot of functionality built in you're going to have to pay for it.

The thing is that your post contains alot of statements like "Silverstripe is not..." but doesn't really argue those points or tell us why. If you want a good response to this then you'll actually have to present some proper arguments otherwise it's pretty impossible to rebut it. I can make loads of generic statements about how good it is without providing arguments as well but that's pretty useless. The points about poor system architecture and quality of product contain no arguments whatsoever.

I agree about the documentation (which might actually have gotten worse) but also found before the documentation move that surprisingly much was documented, it was just really hard to find in some cases. Now it seems like stuff that was documented before has dissappeared/moved somewhere else so noone can find it.

Avatar
CodeGuerrilla

Community Member, 105 Posts

2 October 2011 at 2:48am

Edited: 02/10/2011 2:50am

The thing is that your post contains alot of statements like "Silverstripe is not..." but doesn't really argue those points or tell us why. If you want a good response to this then you'll actually have to present some proper arguments otherwise it's pretty impossible to rebut it. I can make loads of generic statements about how good it is without providing arguments as well but that's pretty useless. The points about poor system architecture and quality of product contain no arguments whatsoever.

Agree, there are no Pro's to the argument at all, and does not provide any examples of what is, just the assuption that SS is not.

I know this is hard ask but I would still like some comments against these claims, and there are attacks on every point. Lack of scalability Lack of Flexibity I can argue those with my eyes closed, SS has excellent module develompent and separation, it is easy to extend, or override other modules or core functionality while keeping things contained in a one folder that is easily portable to another instance of the application.

The whole remark about "Its architecture may be fine for serving static pages of content" is just rubbish come on out of the box yes it can whip up a content driven website in a matter of hours, add some new fields and a pagetype or two and you have dynamic content pretty quickly as well.

Avatar
swaiba

Forum Moderator, 1899 Posts

2 October 2011 at 3:58am

The thing is that your post contains alot of statements like "Silverstripe is not..." but doesn't really argue those points or tell us why. If you want a good response to this then you'll actually have to present some proper arguments otherwise it's pretty impossible to rebut it.

agreed.

As a developer of a very large and complex booking system within silverstripe I do not follow most of your arguments because having looked at other CMS packages I like silverstripe - so what follows is obviously very biased :)

1) Speed of development.

Seems fine to me, probably my lack of experience with cake/drupal/wordpress/etc I am sure as your agent provocateur would point out means I do not understand how much faster they can be.

I actually find things like the templates / ORM / ModelAdmin make rapid development of a data-driven system extremely fast. there are some limitation that cause problems - two manymany relationships between the same objects for one.

Documentation - I think the basic documentation on the site is plenty to get you going and the books expand that knowledge nicely. but yes if you want tons of online forums and examples - stick to drupal or word press. Besides code is the always best documentation if you are a good developer and the silverstripe code is (for the most) far and away better than other CMS code I have found.

2. The potential growth of the core system.

Again seems fine to me.

Lack of flexibility - crazy - you have complete control of the html output to put whatever you like in it and the OO MVC architecture makes development flexible - obviously in my opinion.

Lack of scalability - yes this has concerned me a little - but I do think that SS3 will address my concerns from the information I have discerned. Also the major bottleneck I have found was actually with PHP - upgrading to 5.3 allow garbage collection stops all that.

Avatar
Willr

Forum Moderator, 5523 Posts

2 October 2011 at 4:55pm

Quality of product - Using SilverStripe will force the use of unorthodox and unrecommended coding practices to achieve our required functionality. This will result in a product that exhibits unpredictable behavior. I don't have to tell you what will happen if our end product is poor quality, as you're already experiencing the client side of that with our old system.

I disagree with this point, what standards? Every single framework, language has their own guidelines for this for various reasons and the SS practices have evolved over the years.

I can't think of any our practices are universally unrecommended so that point is rather melodramatic. Quality is derived from a whole range of factors. Just because you build on top of SilverStripe doesn't force your application to follow them.

Documentation is poor. No excuses on that point. It is really lacking but honestly just too much on and not enough hands on deck. Volunteers most welcome to assist in restructuring or helping organize what needs to be documented - http://open.silverstripe.org/report/107.

Avatar
CodeGuerrilla

Community Member, 105 Posts

2 October 2011 at 5:11pm

Edited: 02/10/2011 5:41pm

Thanks guys good points, I really don't like cakePHP's cookbook either while it may be better than SS's current documentation it is not that great and still is hard to find information.

Flexabilty as mentioned before I think SilverStripe really excels here being able to extend, overload, decorate, the dataobjects, classes, and templates per module really makes it flexible and extendable +1 here.

Avatar
Julius Caamic

Community Member, 3 Posts

4 October 2011 at 2:24am

"SilverStripe is a CMS (Content Management System), not a framework. As its name suggests, a CMS's primary purpose is for managing content, not application design. CMSs and frameworks are apples and oranges."

Silverstripe is an extremely powerful masterpiece that can combine having a Content Management System and a framework. Silverstripe is a framework because it is designed to support the development of dynamic websites, web applications and web services which is true! It provides set of reusable libraries, templating frameworks and libraries for database access(ORM). Lets just say silverstripe is a framework with built-in CMS!