views:

6764

answers:

13

I want to find an ecommerce solution for my little shop. My friend tells me that Prestashop is very easy to use and develop modules for, but some say Magento is better. Can anybody tell me which is better for developing modules and why? Thank you.

+1  A: 

If it is for a 'little' shop don't bother using magento.

Rick J
+1  A: 

I tried both, first I use magento, which is powerful but also very require a good php setting for the server. prestashop is more easy to use, if you are small store you may choose prestashop.

Lili
+4  A: 

I haven't used Prestashop but I have recently deployed a Magento store. As others have said, I wouldn't suggest it for small, simple stores. Also, if you are on an economy server, you're likely to have sluggish page loads.

The good news is that (after a steep learning curve), it's incredibly flexible and powerful. I personally think the templating system is great.

Justin Johnson
+16  A: 

There seems to be growing anger with magento as the community is slowly and painfully discovering that varien, the company behind it isn't so much interested in championing a reliable open source product, than to create a community that would require extensive commercial support.

In the 2 days that I've been researching magento, the amount of negative feedbacks that I've heard and the code quality is more than enough to steer me away. After having a look through the source, I believe the intended basic architectural principles were decent, but the execution is wrong. Many PHP programmers see OOP and call it good software. I'm reasonably well versed with the Zend Framework and am generally reluctant to refer to any code as bloat, but in this case I have few other choice of word. Magento seems to uses some Zend libraries, but the relationship doesn't warrant good quality code. Don't take my word for it, here's some evidence. I decided to follow a request to see what happens during a call to one of the action controllers, so I tried to trace calls made within the Mage_Adminhtml_Customer_GroupController::indexAction method, starting with a call to $this->loadLayout(). Pretty self explanatory right, we're loading a layout. Lets see where it takes us. The following illustrates a single thread in that one call, where each line represents a call to a new method from the preceding method:

    Mage_Adminhtml_Customer_GroupController::indexAction
        Mage_Adminhtml_Controller_Action::loadLayout
            Mage_Core_Controller_Varien_Action::loadLayout
                Mage_Core_Controller_Varien_Action::addActionLayoutHandles
                    Mage_Core_Controller_Varien_Action::getLayout
                        Mage::getSingleton                               
                            Mage::getModel
                                Mage::getConfig
                                    Mage::registry

I repeat, we're following a single thread from within one call to $this->loadLayout(). In real time each call to a method would likely initiate multiple threads as they fork and each action would likely have multiple method calls. Is anyone still surprised as to why magento would be so slow? Just because it's OOP, doesn't necessarily mean this is good. This code looks like something meant to be compiled (therefore reduced), but PHP is (for the most part) a "just-in-time" technology, you should refrain from doing this sort of things.

In addition to Prestashop, I've found 2 other interesting solutions:

  • Agent-Ohm : a fork of magento, lead by no other than the author of what is considered to be the only worthwhile, albeit unofficial, guide to magento. I suppose that if Magento is slow, buggy, hardly upgradeable, hardly supported, with poor documentation and this guy forks it, optimizes it, fixes bugs and provides documentation, there would be very little reasons not to at least try his solution. Additionally, the design tenets pretty much summarized my feeling.
  • Oxid: Another solution said to be simpler than magento. I don't know if this is necessary better, I haven't tried it yet, nor looked under the hood, but it certainly seems more promising.
mike
"In real time each call to a method would likely initiate multiple threads as they fork" - this is just plain wrong. Method calls in PHP don't fork new threads, this isn't a Unix shell script.
Paolo
@paolo: I didn't mean thread as in "Java threads", but rather as a sequence of calls to complete one specific task. Ancillary tasks require to 'fork' away from the main 'thread' (just like contents within parentheses require to fork away from the main train of thought). PHP is indeed not a multi-threaded environment in the computer science meaning of the term, which only serves to strengthen my pov, since in their blind attempt to java their way into php projects, developers sometimes forget that (1) the code isn't compiled and (2) methods executions are not concurrent.
mike
I attempted to use Magneto as a system for a client, and after 2 weeks of learning the code and the system i just gave up. I totally agree with *mike*
RobertPitt
I'd never tell anyone to use something that's not working for them, but misdirection isn't, in and of itself, bad. You could make just as compelling an argument against Zend for its plugin/view helper architecture/patterns. Tracing through Magento's code can be difficult, **but you don't need to** unless you want to change something deep within the system. You can be an effective, productive Magento programmer without ever venturing that deep into the hierarchy.
Alan Storm
@Alan Storm: When something is this slow and you hear claims that the code is a masterpiece, you get a bit curious. Good code should be about acknowledging language's strengths (and weaknesses) and work to produce something elegant, yet efficient. To me, Magento looks like a project thought in Java, but written in PHP. Someone forgot the part where Java squeezes out the bloat at compile time and has its apps reside permanently in memory. Either rethink the project with PHP in mind or code it in Java/.NET. PHP devs are misguided to think that the Java OOP paradigm is the nearest match.
mike
+1  A: 

Magento is more polished, but also a beast to modify, in my experience. After using Magento for a few shops, we switched to Prestashop and are much happier. It took a bit more customization up front (French-based development left some quirks in the address forms, for example), but it is much, much simpler to wrap your brain around and to develop custom modules.

Emily
+2  A: 

I am not a programmer, so I am confined to noob-like needs. At first I tried Magento, and found it to be difficult. It also "crashed" (not sure what word to use) a couple times, the last time beyond something I could figure out. I began to wonder if the entire thing was created just to get me to get in so deep that I'd need pro support to fix it when in a pinch.

So as I searched the internet looking for a decent alternative, I stumbled upon PrestaShop. I gave it a shot, since my Magento site was still RIP. Found it to be much easier to use, and I had a shop up and running (STILL up and running) in a day.

So I'm not sure what it all means, but hands down I liked PrestaShop better. I did like the options to create multiple shopping experiences within Magento, but I figure I can just use multiple PrestaShop installs to accomplish the same thing. Either way I'd have to customize 'em, anyway.

So that's my two cents, for what it's worth. Hope it helps someone.

Paul
if you not programmer, how do you know about this forum??
Yosef
+2  A: 

I fully agree with the opinion that MAGENTO is to "heavy" and consumes too much CPU and memory. If you have your own dedicated server you may try magento. But if you can affort shared hosting only use lighweight PRESTASHOP. Much shopperd do not need complicated functionalitys provided by MAGENTO and therefore don't like it. More doesn't always mean better - sometimes simplier means better. Moreover there is large set of PRESTASHOP extensions available free and commercial ones. so every shop owner may choose what he needs and wants. Every potential market gap is filled imediatelly e.g. if somebody noticed there is no fast checkout option and guest mode buying this kond of extension appears imediatelly on the market - e.g. see http://zoosshop.com This mode really works. You will get the store that exactly you need.

sera
A: 

Magento only for professional IT people not for who have basic knowledge of web.I have installed three time and after 6 and 8 months some error show and I can't solve them.

Multi Trading House
+1  A: 

Magento is S L O W. It has a very specific list of server requirements that have to be met, and even then it may not work 100%.

Also, using Magento on a shared hosting environment can be VERY insecure as Magento likes to have things writable on the file system. If your hosting company does not have iron clad security another user on that system can make changes in those writeable areas.

As far as code quality, I'd say it's pretty good. It's also more complicated than it needs to be. They completely ignored the K.I.S.S. principle (Keep It Simple, Silly).

To sum up, Magento is good if you are interested in an expensive server and complex development. If you want straight forward, it's not for you.

Joe Mills
A: 

is the tiger or the lion the king of he animals? try both and choose the one that you like best.

Elzo Valugi
Is that from a fortune cookie? :)
milesmeow
+1  A: 

Like you, i am NOT a programmer but a store owner. So i hope my view point helps you, i have used both Prestashop and Magento.

Magento i didnt like, boatware! Prestashop is good, pretty templates but the good modules are not free and to get an online shop with the features you need can end up costing 1000s

I also use Zen Cart, while it has the worlds ugliest standard template, if your css knowledge is average you can make it look pretty much like anything you want. It has more features built in than the Magento £11k pa has and all modules on te site are free. Also a better community too as the forums are open source focused

hope it helps

A: 

Hi

I tried both but prestashop is more easy to use, if you are small/big store you may choose prestashop.

Prestashop has more features than magento please check http://phpsol.net/php-tutorials/prestashop-features/

However magento is too much slow it require special dedicated servers.

Regards

Virtulian
A: 

I have tried magento for a month. It is rich in features but lacks in speed.Its imposssible to run magento on a shared hosting.

shehzad