Вопрос

I'm a Belgian student in Computer Science and I got an offer for a student job. So I'm asked as to develop a website which has to be a webshop. I'm free to choose the technical part with the right motivation (benchmarks, reviews, etc...)

I developed before with Joomla the main thing with joomla was that when i was asked for instance to move button from the right to the left i had to go trough a of source to find the right file to edit. The documentation of most of the free apps was not that good. Now good to know is that I didn't know any PHP at that time. Now I had some classes in MySQL en webdesign (how does the visitor scan my website, color schemes,...)

Now the company suggested to use Magento, running the demo site through the w3 validator convinced me that it wasn't the right solution.

I want to convince the company to let me write the my own simple CMS (hardcoded checkout but a simple 'CMS' to add products, change prizes,...). My motivation for this solution is:

  • No unnecessary code, db,... = faster
  • My own easy to understand documentation
  • Simple and known db structure so it's easy to write links to the program used manage the delivery, payment,...

My first idea was PHP with MySQL since I already know the MySQL basics. And PHP is well documented. It's also written just to do the job (communicating with a DB) I want to use it for. On the other side most of the bugs reported by the validator of CMS in PHP are from PHP.

A friend suggested Ruby on Rails. The benchmarks are convincing but I'm afraid that I won't find enough documentation around ROR. Since I'm dyslectic I prefer books translated to my own language Dutch (just reads a lot faster). I also have no idea how hard MySQL interaction is in ROR.

In both cases I have to learn a new scripting language. My feeling says I should go for PHP because it will give me more job opportunities knowing PHP since the biggest part of the websites uses PHP. The community is bigger so help is never far away. Documentation is better and learning process will be easier. Benchmarks say ROR.

Can you guys help me to make a decision? Please movitate your suggestion and you're source (what's you're job for example)

Это было полезно?

Решение

Joomla is, in my opinion, a bit of a clunky solution for an e-commerce site. It's a very good CMS, but can be extremely restrictive in a lot of respects.

Magento is an excellent e-commerce platform, but is extremely resource heavy. Unless your shop is going to have more than a few thousand products, in a large number of categories, I'd recommend not going down that road.

Almost any popular language you choose will be a "good choice". It's all down to the specific software package, or custom code you use - you could try writing your own, indeed, a framework like Ruby on Rails would provide a lot of tools that would be useful to you. But it could be a steep learning curve and unless you have a lot of experience in it, might be time consuming.

I might also recommend, if you're interested in learning a framework and want to stick with PHP, look into CakePHP (very similar to RoR) or CodeIgniter (lighter in comparison)

I'd recommend perhaps looking into Wordpress installed with the Woocommerce plugin. This is a relatively new shopping cart system, based on Wordpress (a super-powerful PHP CMS/sort-of-framework) which you can customise as much as you want. It wouldn't have the same steep learning curve as a custom framework, and would be much more flexible than a shopping cart built in Joomla or Magento

(Note that I'm not dissing Magento here - It's a brilliant system, but better suited for high-end commercial projects. It's a real development timesink)

I'm a Freelance web developer

Другие советы

If this is to be used on the public internet and you are a student, I would strongly suggest finding a solution that already exists and making modifications to it as you see fit or are needed by the customer. It is very possible that a solution you would develop your first time may be vulnerable to different types of injections if you do not sanitize your inputs correctly, etc...

That being said, if you plan on writing your own, I would write it in PHP / MySQL since you are already relatively familiar with the technologies.

EDIT: You requested to know a bit about me - I'm a web developer and network engineer.

Magento's demo theme w3 validation shouldn't convince you not to use it. Magento is widely considered the best shopping cart cms around, so maybe just find a theme you can live with or make your own. If the client asks for Magento and you deliver something you made yourself I guarantee you it will be met with disappointment.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top